npm @disane-dev/weishaupt-wem-mcp-serverstdioMITupdated 2mo ago
Control and monitor your Weishaupt heating system with AI assistants via the WEM Portal
O que dá para fazer com Weishaupt WEM Portal?
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
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
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": "your_email@example.com",
"WEM_PASSWORD": "your_password"
}
}
}
}
claude mcp add weishaupt-wem -- npx -y @disane-dev/weishaupt-wem-mcp-server
Set 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 |
|---|---|---|
WEM_USERNAME |
Yes | Your WEM Portal email |
WEM_PASSWORD |
Yes | Your WEM Portal password |
WEM_API_URL |
No | API base URL (default: https://www.wemportal.com/app) |
Available Tools
| Tool | Description |
|---|---|
wem_get_devices |
List all devices with modules. Call this first to discover IDs. |
wem_get_device_status |
Get connection status of a device |
wem_get_overview |
Full device overview: all modules with all parameters in one call |
wem_get_parameters |
Get all parameters of a module with current values |
wem_get_parameter_meta |
Get parameter metadata (names, min/max, enums, writable flag) |
wem_get_writable_parameters |
List only adjustable parameters with ranges and options |
wem_read_parameters |
Read specific parameter values by ID |
wem_write_parameter |
Set a parameter value (e.g., target temperature) |
[!TIP] Start with
wem_get_devicesto discover yourdeviceId,moduleIndex, andmoduleType, then usewem_get_overviewfor 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 |
|---|---|
npm run build |
Build the project |
npm run watch |
Watch mode (auto-rebuild on changes) |
npm start |
Run server directly |
npm test |
Test API connection |
npm run inspector |
Official MCP Inspector (Web UI) |
npm run inspector:cli -- devices |
CLI inspector for quick API tests |
Troubleshooting
[!NOTE] Make sure you can log in at wemportal.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
Instalação
Adicione Weishaupt WEM Portal ao seu cliente. Escolha o que você usa.
claude mcp add weishaupt-wem-mcp-server -- npx -y @disane-dev/weishaupt-wem-mcp-servercodex mcp add weishaupt-wem-mcp-server -- npx -y @disane-dev/weishaupt-wem-mcp-serveramp mcp add weishaupt-wem-mcp-server -- npx -y @disane-dev/weishaupt-wem-mcp-server{
"mcpServers": {
"weishaupt-wem-mcp-server": {
"command": "npx",
"args": [
"-y",
"@disane-dev/weishaupt-wem-mcp-server"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"weishaupt-wem-mcp-server": {
"command": "npx",
"args": [
"-y",
"@disane-dev/weishaupt-wem-mcp-server"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"weishaupt-wem-mcp-server","command":"npx","args":["-y","@disane-dev/weishaupt-wem-mcp-server"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"weishaupt-wem-mcp-server": {
"command": "npx",
"args": [
"-y",
"@disane-dev/weishaupt-wem-mcp-server"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"weishaupt-wem-mcp-server": {
"command": "npx",
"args": [
"-y",
"@disane-dev/weishaupt-wem-mcp-server"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"weishaupt-wem-mcp-server": {
"command": "npx",
"args": [
"-y",
"@disane-dev/weishaupt-wem-mcp-server"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"weishaupt-wem-mcp-server": {
"type": "local",
"command": "npx",
"args": [
"-y",
"@disane-dev/weishaupt-wem-mcp-server"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"weishaupt-wem-mcp-server": {
"command": {
"path": "npx",
"args": [
"-y",
"@disane-dev/weishaupt-wem-mcp-server"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y @disane-dev/weishaupt-wem-mcp-serverRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
8 ferramentas
Weishaupt WEM Portal expõe 8 ferramentas a um agente conectado.
- wem_get_devices
- List all devices with modules. **Call this first** to discover IDs.
- wem_get_device_status
- Get connection status of a device
- wem_get_overview
- Full device overview: all modules with all parameters in one call
- wem_get_parameters
- Get all parameters of a module with current values
- wem_get_parameter_meta
- Get parameter metadata (names, min/max, enums, writable flag)
- wem_get_writable_parameters
- List only adjustable parameters with ranges and options
- wem_read_parameters
- Read specific parameter values by ID
- wem_write_parameter
- Set a parameter value (e.g., target temperature)
Pontuação
72 / 100
Boa
- Documentação25/25
- Manutenção16/25
- Confiança13/20
- Capacidade6/15
- Instalação12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 70 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 8 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Histórico de versões
| Versões | Publicada |
|---|---|
| 0.2.0Mais recente | 19 de mar. de 2026 |