mcpField
W
Weishaupt WEM Portal

Weishaupt WEM Portal

Local
github.com/Disane87Other0Updated 3w ago

About Weishaupt WEM Portal

Weishaupt WEM Portal is an MCP server for monitoring and adjusting Weishaupt heating systems through the WEM Portal. It provides device discovery, live parameter readings, system overviews, and writable parameter controls.

Key features

  1. 01Discover devices and modules
  2. 02Read live parameters and status
  3. 03View a full system snapshot
  4. 04List adjustable parameters and ranges
  5. 05Change temperatures, modes, and schedules

Use cases

  1. 01Check heating-system status
  2. 02Review temperatures and operating modes
  3. 03Adjust target temperatures or schedules

MCP support

The server exposes WEM Portal device, status, overview, parameter-reading, metadata, and parameter-writing tools to MCP clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"disane87-weishaupt-wem": {
"command": "npx",
"args": [
"-y",
"@disane-dev/weishaupt-wem-mcp-server"
],
"env": {
"WEM_USERNAME": "<WEM_USERNAME>",
"WEM_PASSWORD": "<WEM_PASSWORD>",
"WEM_API_URL": "<WEM_API_URL>"
}
}
}
}
Run commandnpx -y @disane-dev/weishaupt-wem-mcp-server
Environment variables to set
WEM_USERNAMEYour WEM Portal email/username
WEM_PASSWORDSecretYour WEM Portal password
WEM_API_URLWEM Portal API URL (default: https://www.wemportal.com/app)

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@disane-dev/weishaupt-wem-mcp-server0.2.0

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README
WEM Portal

Weishaupt WEM Portal MCP Server

Control and monitor your Weishaupt heating system with AI assistants via the WEM Portal

Version npm License: MIT Blog Website

MCP TypeScript Node.js semantic-release

GitHub Stars GitHub Issues CI


Features

  • Device Discovery - List all devices and modules from your WEM Portal account
  • Live Parameters - Read temperatures, pressure, operating modes with current values
  • Full Overview - Get a complete snapshot of your entire heating system in one call
  • Write Parameters - Adjust target temperatures, operating modes, schedules
  • Device Status - Check connection status of your devices
  • Writable Filter - List only the parameters you can actually change
  • Session Management - Automatic cookie-based auth with login lock for concurrent requests

Quick Start

Install via npx (recommended)

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:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "weishaupt-wem": {
      "command": "npx",
      "args": ["-y", "@disane-dev/weishaupt-wem-mcp-server"],
      "env": {
        "WEM_USERNAME": "[email protected]",
        "WEM_PASSWORD": "your_password"
      }
    }
  }
}
Claude Code
claude mcp add weishaupt-wem -- npx -y @disane-dev/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": "[email protected]",
        "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

ToolDescription
wem_get_devicesList all devices with modules. Call this first to discover IDs.
wem_get_device_statusGet connection status of a device
wem_get_overviewFull device overview: all modules with all parameters in one call
wem_get_parametersGet all parameters of a module with current values
wem_get_parameter_metaGet parameter metadata (names, min/max, enums, writable flag)
wem_get_writable_parametersList only adjustable parameters with ranges and options
wem_read_parametersRead specific parameter values by ID
wem_write_parameterSet a parameter value (e.g., target temperature)

Tip

Start with wem_get_devices to discover your deviceId, moduleIndex, and moduleType, then use wem_get_overview for a complete snapshot of your heating system.


Typical Workflow

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

2. wem_get_overview (deviceId)
   -> Returns ALL modules with ALL parameters in one call

3. wem_get_writable_parameters (deviceId, moduleIndex, moduleType)
   -> Shows what you can adjust, with min/max ranges

4. 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

CommandDescription
npm run buildBuild the project
npm run watchWatch mode (auto-rebuild on changes)
npm startRun server directly
npm testTest API connection
npm run inspectorOfficial MCP Inspector (Web UI)
npm run inspector:cli -- devicesCLI inspector for quick API tests

Troubleshooting

Note

Make sure you can log in at wemportal.com before using this server.

IssueSolution
Authentication failedVerify credentials, check if WEM Portal blocks after too many attempts
Connection timeoutCheck internet, WEM Portal may be temporarily unavailable (30s default timeout)
Parameter values show 0Some parameters (e.g. room temperature) require a physical sensor connected to the device

Contributing

Contributions are welcome! Please open an issue or submit a pull request.


License

MIT - see LICENSE



Made by me at Subthiel — software development & 3D printing

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.