npm @disane-dev/weishaupt-wem-mcp-serverstdioMITupdated 2mo ago
Control and monitor your Weishaupt heating system with AI assistants via the WEM Portal
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
安装
把 Weishaupt WEM Portal 添加到你的客户端。选择你正在使用的那个。
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 个工具
Weishaupt WEM Portal 向已连接的智能体提供 8 个工具。
- 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)
评分
72 / 100
良好
- 文档25/25
- 维护16/25
- 可信度13/20
- 能力6/15
- 安装体验12/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
版本历史
| 版本 | 发布于 |
|---|---|
| 0.2.0最新 | 2026年3月19日 |