🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@disane-dev/weishaupt-wem-mcp-server

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@disane-dev/weishaupt-wem-mcp-server

MCP server for Weishaupt WEM Portal - control and monitor your heating system

latest
Source
npmnpm
Version
0.2.0
Version published
Maintainers
1
Created
Source

Weishaupt WEM Portal MCP Server

An MCP (Model Context Protocol) server that connects AI assistants like Claude to your Weishaupt heating system via the WEM Portal.

Features

  • List devices and modules from your WEM Portal account
  • Read all parameters with live values (temperatures, pressure, operating modes, etc.)
  • Write parameters (target temperatures, operating modes, schedules, etc.)
  • Check device connection status
  • Automatic session management with cookie-based authentication
  • Concurrent request handling with login lock

Quick Start

No installation needed. Configure your MCP client to run:

npx @disane-dev/weishaupt-wem-mcp-server

Install from source

git clone https://github.com/Disane87/weishaupt-wem-mcp-server.git
cd weishaupt-wem-mcp-server
npm install
npm run build

Configuration

Claude Desktop

Add to your Claude Desktop config (%APPDATA%\Claude\claude_desktop_config.json on Windows, ~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "weishaupt-wem": {
      "command": "npx",
      "args": ["-y", "@disane-dev/weishaupt-wem-mcp-server"],
      "env": {
        "WEM_USERNAME": "your_email@example.com",
        "WEM_PASSWORD": "your_password"
      }
    }
  }
}

Claude Code

claude mcp add weishaupt-wem -- npx -y weishaupt-wem-mcp-server

Set the environment variables WEM_USERNAME and WEM_PASSWORD before starting.

From source

{
  "mcpServers": {
    "weishaupt-wem": {
      "command": "node",
      "args": ["/path/to/wem-mcp/build/index.js"],
      "env": {
        "WEM_USERNAME": "your_email@example.com",
        "WEM_PASSWORD": "your_password"
      }
    }
  }
}

Environment Variables

VariableRequiredDescription
WEM_USERNAMEYesYour WEM Portal email
WEM_PASSWORDYesYour WEM Portal password
WEM_API_URLNoAPI base URL (default: https://www.wemportal.com/app)

Available Tools

wem_get_devices

Lists all devices with their modules. Call this first to get the deviceId, moduleIndex, and moduleType needed by other tools.

wem_get_device_status

Returns the connection status of a device.

ParameterTypeRequiredDescription
deviceIdstringYesDevice ID from wem_get_devices

wem_get_parameter_meta

Returns metadata for all parameters of a module: names, IDs, writable flag, min/max values, enum options.

ParameterTypeRequiredDescription
deviceIdstringYesDevice ID
moduleIndexnumberYesModule index
moduleTypenumberYesModule type

wem_get_parameters

Returns all parameters of a module with current values. Combines metadata + refresh + read into one call.

ParameterTypeRequiredDescription
deviceIdstringYesDevice ID
moduleIndexnumberYesModule index
moduleTypenumberYesModule type

wem_read_parameters

Reads specific parameter values. Use when you only need a subset of parameters.

ParameterTypeRequiredDescription
deviceIdstringYesDevice ID
moduleIndexnumberYesModule index
moduleTypenumberYesModule type
parameterIdsstring[]YesArray of parameter IDs

wem_write_parameter

Sets a parameter value. Only works for writable parameters.

ParameterTypeRequiredDescription
deviceIdstringYesDevice ID
moduleIndexnumberYesModule index
moduleTypenumberYesModule type
parameterIdstringYesParameter ID
numericValuenumberYesValue to set
stringValuestringNoString value for enum parameters

Typical Workflow

1. wem_get_devices
   -> Returns devices with modules (e.g. WE0=heat generator, HZK0=heating circuit, WW0=hot water)

2. wem_get_parameters (deviceId, moduleIndex, moduleType)
   -> Returns all parameters with current values

3. wem_write_parameter (deviceId, moduleIndex, moduleType, parameterId, numericValue)
   -> Sets a writable parameter (e.g. target temperature)

Common Module Types

TypeNameDescription
1SYSTEMSystem overview
2HZKHeating circuit (temperatures, operating mode)
3WWHot water (temperature, push, schedule)
5TERMINALControl panel
6GATEWAYCommunication gateway
7WEHeat generator (boiler/heat pump performance)
9DevicePhysical device unit
10GROUNDGround module

Development

# Build
npm run build

# Watch mode
npm run watch

# Run server directly
npm start

# Test API connection
npm test

# Official MCP Inspector (Web UI)
npm run inspector

# CLI inspector for quick API tests
npm run inspector:cli -- devices
npm run inspector:cli -- params '{"deviceId": "123", "moduleIndex": 0, "moduleType": 7}'

Troubleshooting

Authentication failed

  • Verify credentials at wemportal.com
  • Check that WEM_USERNAME and WEM_PASSWORD are set correctly
  • The WEM Portal may temporarily block after too many failed attempts

Connection timeout

  • Check internet connectivity
  • The WEM Portal may be temporarily unavailable
  • Default timeout is 30 seconds (configurable in src/wem-client.ts)

Parameter values show 0

  • Some parameters (e.g. room temperature) require a physical sensor connected to the device
  • A value of 0 may indicate no sensor is installed

License

MIT - see LICENSE

Keywords

mcp

FAQs

Package last updated on 19 Mar 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts