weishaupt-wem-mcp-server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@weishaupt-wem-mcp-servershow me an overview of my heating system"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Weishaupt WEM Portal MCP Server
Control and monitor your Weishaupt heating system with AI assistants via the WEM Portal
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
Related MCP server: victron-tcp
Quick Start
Install via npx (recommended)
No installation needed. Configure your MCP client to run:
npx @disane-dev/weishaupt-wem-mcp-serverInstall from source
git clone https://github.com/Disane87/weishaupt-wem-mcp-server.git
cd weishaupt-wem-mcp-server
npm install
npm run buildConfiguration
Add to your Claude Desktop config:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"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 mcp add weishaupt-wem -- npx -y @disane-dev/weishaupt-wem-mcp-serverSet the environment variables WEM_USERNAME and WEM_PASSWORD before starting.
{
"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
Variable | Required | Description |
| Yes | Your WEM Portal email |
| Yes | Your WEM Portal password |
| No | API base URL (default: |
Available Tools
Tool | Description |
| List all devices with modules. Call this first to discover IDs. |
| Get connection status of a device |
| Full device overview: all modules with all parameters in one call |
| Get all parameters of a module with current values |
| Get parameter metadata (names, min/max, enums, writable flag) |
| List only adjustable parameters with ranges and options |
| Read specific parameter values by ID |
| Set a parameter value (e.g., target temperature) |
Start withwem_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
Type | Name | Description |
1 | SYSTEM | System overview |
2 | HZK | Heating circuit (temperatures, operating mode) |
3 | WW | Hot water (temperature, push, schedule) |
5 | TERMINAL | Control panel |
6 | GATEWAY | Communication gateway |
7 | WE | Heat generator (boiler/heat pump performance) |
9 | Device | Physical device unit |
10 | GROUND | Ground module |
Development
Command | Description |
| Build the project |
| Watch mode (auto-rebuild on changes) |
| Run server directly |
| Test API connection |
| Official MCP Inspector (Web UI) |
| CLI inspector for quick API tests |
Troubleshooting
Make sure you can log in atwemportal.com before using this server.
Issue | Solution |
Authentication failed | Verify credentials, check if WEM Portal blocks after too many attempts |
Connection timeout | Check internet, WEM Portal may be temporarily unavailable (30s default timeout) |
Parameter values show 0 | Some 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
disane.dev | Blog | GitHub | npm
This server cannot be deployed
Maintenance
Related MCP Connectors
- mytesla.ioOAuthio.mytesla
Control your Tesla from your AI assistant - climate, charging, access, and security.
Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.
Connect your AI to your Well financial data - invoices, companies, contacts.
Control a Loxone Miniserver smart home: lights, blinds, climate, scenes and energy.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Home Assistant smart home devices through natural language. Control devices, manage automations, query entity states, and retrieve historical data across your home automation system.1MIT
- AlicenseAqualityAmaintenanceConnect AI assistants to Victron Energy systems to read real-time solar, battery, grid, and inverter data from your local network via Modbus TCP or MQTT.3224 npm3MIT
- AlicenseNot gradedqualityCmaintenanceEnables LLM applications to query and visualize data from Bosch/Buderus heat pumps via ems-ESP, including temperatures, statistics, and heat curves through natural language.9MIT
- AlicenseAqualityDmaintenanceAn unofficial MCP (Model Context Protocol) server that exposes a Vaillant heat pump's data to AI assistants like Claude. Query outdoor and room temperatures, hot water status, energy consumption, COP estimates, schedules, and diagnostics through natural conversation.4MIT