
Research
/Security News
Popular npm Packages in the keyv and Cacheable Namespaces Compromised in Active Supply Chain Attack
Popular npm packages keyv and cacheable compromised.
@disane-dev/weishaupt-wem-mcp-server
Advanced tools
MCP server for Weishaupt WEM Portal - control and monitor your heating system
An MCP (Model Context Protocol) server that connects AI assistants like Claude to your Weishaupt heating system via the WEM Portal.
No installation needed. Configure your MCP client to run:
npx @disane-dev/weishaupt-wem-mcp-server
git clone https://github.com/Disane87/weishaupt-wem-mcp-server.git
cd weishaupt-wem-mcp-server
npm install
npm run build
Add to your Claude Desktop config (%APPDATA%\Claude\claude_desktop_config.json on Windows, ~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"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 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"
}
}
}
}
| 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) |
wem_get_devicesLists all devices with their modules. Call this first to get the deviceId, moduleIndex, and moduleType needed by other tools.
wem_get_device_statusReturns the connection status of a device.
| Parameter | Type | Required | Description |
|---|---|---|---|
deviceId | string | Yes | Device ID from wem_get_devices |
wem_get_parameter_metaReturns metadata for all parameters of a module: names, IDs, writable flag, min/max values, enum options.
| Parameter | Type | Required | Description |
|---|---|---|---|
deviceId | string | Yes | Device ID |
moduleIndex | number | Yes | Module index |
moduleType | number | Yes | Module type |
wem_get_parametersReturns all parameters of a module with current values. Combines metadata + refresh + read into one call.
| Parameter | Type | Required | Description |
|---|---|---|---|
deviceId | string | Yes | Device ID |
moduleIndex | number | Yes | Module index |
moduleType | number | Yes | Module type |
wem_read_parametersReads specific parameter values. Use when you only need a subset of parameters.
| Parameter | Type | Required | Description |
|---|---|---|---|
deviceId | string | Yes | Device ID |
moduleIndex | number | Yes | Module index |
moduleType | number | Yes | Module type |
parameterIds | string[] | Yes | Array of parameter IDs |
wem_write_parameterSets a parameter value. Only works for writable parameters.
| Parameter | Type | Required | Description |
|---|---|---|---|
deviceId | string | Yes | Device ID |
moduleIndex | number | Yes | Module index |
moduleType | number | Yes | Module type |
parameterId | string | Yes | Parameter ID |
numericValue | number | Yes | Value to set |
stringValue | string | No | String value for enum parameters |
1. wem_get_devices
-> Returns devices with modules (e.g. WE0=heat generator, HZK0=heating circuit, WW0=hot water)
2. wem_get_parameters (deviceId, moduleIndex, moduleType)
-> Returns all parameters with current values
3. 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 |
# Build
npm run build
# Watch mode
npm run watch
# Run server directly
npm start
# Test API connection
npm test
# Official MCP Inspector (Web UI)
npm run inspector
# CLI inspector for quick API tests
npm run inspector:cli -- devices
npm run inspector:cli -- params '{"deviceId": "123", "moduleIndex": 0, "moduleType": 7}'
WEM_USERNAME and WEM_PASSWORD are set correctlysrc/wem-client.ts)0 may indicate no sensor is installedMIT - see LICENSE
FAQs
MCP server for Weishaupt WEM Portal - control and monitor your heating system
We found that @disane-dev/weishaupt-wem-mcp-server demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
Popular npm packages keyv and cacheable compromised.

Security News
A misconfiguration gave three Anthropic models internet access, and one, believing it was in a simulation, shipped a credential-stealing package to PyPI.

Security News
/Company News
Socket has joined the new Composer and Packagist sponsorship program as a launch sponsor, supporting the team that keeps PHP's package ecosystem secure.