Weishaupt Wem Mcp Server — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Weishaupt Wem Mcp Server (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<div align="center">
<img src="https://www.wemportal.com/favicon.ico" alt="WEM Portal" width="80" />
Control and monitor your Weishaupt heating system with AI assistants via the WEM Portal
</div>
No installation needed. Configure your MCP client to run:
npx @disane-dev/weishaupt-wem-mcp-servergit clone https://github.com/Disane87/weishaupt-wem-mcp-server.git
cd weishaupt-wem-mcp-server
npm install
npm run build<details open> <summary><strong>Claude Desktop</strong></summary>
Add to your Claude Desktop config:
%APPDATA%\Claude\claude_desktop_config.json~/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"
}
}
}
}</details>
<details> <summary><strong>Claude Code</strong></summary>
claude mcp add weishaupt-wem -- npx -y @disane-dev/weishaupt-wem-mcp-serverSet the environment variables WEM_USERNAME and WEM_PASSWORD before starting.
</details>
<details> <summary><strong>From source</strong></summary>
{
"mcpServers": {
"weishaupt-wem": {
"command": "node",
"args": ["/path/to/wem-mcp/build/index.js"],
"env": {
"WEM_USERNAME": "[email protected]",
"WEM_PASSWORD": "your_password"
}
}
}
}</details>
| 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) |
| 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 withwem_get_devicesto discover yourdeviceId,moduleIndex, andmoduleType, then usewem_get_overviewfor a complete snapshot of your heating system.
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)| 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 |
| 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 |
[!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 |
Contributions are welcome! Please open an issue or submit a pull request.
<!-- contrib:start --> <div align="center">
<a href="https://github.com/Disane87/weishaupt-wem-mcp-server/graphs/contributors"> <img src="https://contrib.rocks/image?repo=Disane87/weishaupt-wem-mcp-server" /> </a>
</div> <!-- contrib:end -->
MIT - see LICENSE
<div align="center">
[disane.dev](https://disane.dev) | [Blog](https://blog.disane.dev) | [GitHub](https://github.com/Disane87) | [npm](https://www.npmjs.com/package/@disane-dev/weishaupt-wem-mcp-server)
</div>
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.