Debmatic MCP server
io.github.claymore666/debmatic-mcp·v1.3.0·9 starsMCP server for controlling HomeMatic smart home devices via the CCU JSON-RPC API
9 stars36 downloads/wk
Reviews
Write oneNobody has reviewed Debmatic yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Debmatic tools (23, 5 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
acknowledge_service_messagesConfirm/dismiss active service messages (e.g. clear a low-battery or unreachable warning).
create_system_variablewrite actionCreate a new system variable. Types: 'bool', 'float' (optional min/max/unit),
delete_system_variablewrite actionDelete a system variable by name. Use list_system_variables to see existing names.
describe_device_typeGet the full channel/datapoint schema for a device type (e.g. 'HmIP-eTRV-2').
execute_programwrite actionTrigger an automation program on the CCU. NOT idempotent — will not be auto-retried.
get_paramsetRead all parameters for a channel (VALUES, MASTER, or LINK).
get_rssiReport radio link quality (RSSI, in dBm) for every device, resolved to device names, plus
get_service_messagesGet all active service messages (low battery, unreachable, etc.) with device details and timestamps.
get_system_infoGet CCU system information: firmware version, serial number, addresses.
get_valueRead a single datapoint value from a device channel.
get_valuesRead datapoint values for multiple channels at once via HM Script.
helpContext-aware help. No args: conceptual guide.
list_devicesList all devices with their channels, types, and addresses.
list_functionsList all function groups (Heating, Lighting, etc.) with their assigned channel IDs.
list_interfacesList available communication interfaces (BidCos-RF, HmIP-RF, VirtualDevices, etc.).
list_linksList direct device links (Direktverknüpfungen) — sender→receiver channel pairings that operate
list_programsList all automation programs. Use execute_program to trigger them.
list_roomsList all rooms with their assigned channel IDs. Use with list_devices to find devices by room.
list_system_variablesList all system variables with current values and metadata. Use set_system_variable to modify them.
put_paramsetwrite actionWrite multiple parameters at once (e.g. thermostat weekly profile).
run_scriptwrite actionExecute arbitrary HomeMatic Script on the CCU.
set_system_variableSet a system variable value. Type is auto-detected — use list_system_variables to see available variables.
set_valueSet a single datapoint value on a device channel.
Public scan report
scanner v0.1.9 · 2026-09-26 · same rubric, same numbers if you re-run it
- Code scan49 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 2 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How Debmatic compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 83/100
- higher than 65% of 48,243 servers
- Tools
- 23
- the typical server has 7
- Tools that change things
- 22%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 9
- more than 87% of 28,706 servers
- Downloads a week
- 36
- more than 25% of 12,306 servers with a package
What its tools let an agent do: 16 read · 1 create · 3 change · 1 delete · 2 run or deploy
Install Debmatic in Claude Code, Cursor or VS Code
Runs npx -y debmatic-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add debmatic-mcp -- npx -y debmatic-mcp
What the publisher says
From the Debmatic repository's README, as published. We do not edit it. Read it on GitHub
<!-- Both badges stay on ONE source line: a block-level HTML comment between them would end the paragraph and stack them, which is what this used to do. The Scorecard badge reads api.scorecard.dev through shields' dynamic/json route, because Scorecard's own badge endpoint redirects to shields' ossf-scorecard route, which reads the LEGACY api.securityscorecards.dev — and that host 404s for this repo, rendering "invalid repo path" (as HTTP 200, so a status check does not catch it). Switch back to https://api.scorecard.dev/projects/github.com/claymore666/ccu-mcp/badge once curl -sS -o /dev/null -w '%{http_code}' https://api.securityscorecards.dev/projects/github.com/claymore666/ccu-mcp returns 200. -->
ccu-mcp
Talk to your HomeMatic smart home from Claude, Cursor, or any MCP client.
ccu-mcp connects to the CCU's built-in JSON-RPC API and exposes your devices, rooms, programs, and system variables as MCP tools. No addons, no XML-API, no cloud — just a direct connection to the CCU on your local network.
Works with any HomeMatic CCU: debmatic (HomeMatic on Debian), a CCU3, or OpenCCU (formerly RaspberryMatic) — anything that exposes the standard /api/homematic.cgi endpoint.
What can it do?
Ask your AI assistant things like:
- "What's the temperature in the bathroom?"
- "Are any windows open?"
- "Set the living room heating to 21 degrees"
- "Show me all devices with low battery"
- "What's the gas meter reading?"
- "Which devices have low battery or haven't been seen in a long time?"
- "Find all channels whose names don't match their device name"
- "Rename all devices to follow a consistent naming convention with floor labels (UG/OG/EG)"
- "Which room is the window sensor in?"
The MCP server handles device discovery, type resolution, session management, and value conversion — the AI just calls the tools.
Prerequisites
- A running HomeMatic CCU (debmatic, CCU3, or OpenCCU — formerly RaspberryMatic) reachable on your network
- The CCU's admin username and password (the same credentials you use to log into the WebUI)
- Node.js 24+ (for running from source or stdio mode) or Docker
Quick start
export CCU_HOST=your-ccu-hostname-or-ip
export CCU_PASSWORD=your-ccu-admin-password
npx ccu-mcp --stdioIf it prints server_ready to stderr, it's working. Press Ctrl+C to stop. Now set it up in your MCP client — see below.
A cachesavefailed … mkdir '/data' line alongside it is harmless here but worth fixing for real use: CACHEDIR defaults to /data (the Docker layout), so outside a container the device-type cache and the CCU session are never persisted between runs. Point it somewhere writable: export CACHEDIR="$HOME/.cache/ccu-mcp" (or the same key in your .env / env block).
Prefer a guided setup? npx ccu-mcp init probes your CCU, pins its TLS certificate, tests the login, writes a ready-to-use .env file, and prints the matching MCP client config — see Command-line flags.
Installation
There are two ways to run this: stdio (the server runs as a subprocess of your MCP client) or HTTP (the server runs standalone in Docker and clients connect over the network). Pick one.
Option A: stdio (direct, simplest)
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Debmatic: common questions
- Is Debmatic MCP server safe?
- Mostly: it is graded B (83/100). Read the Debmatic safety report
- How do I install Debmatic?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Debmatic need an API key?
- Yes. The registry entry asks for
CCU_PASSWORD. - Is Debmatic maintained?
- The last commit was 42 days ago (2026-09-24). The latest release is v1.3.0.
- How does Debmatic compare with other MCP servers?
- safety score 83/100 (higher than 65% of 48,243 servers); tools 23 (the typical server has 7); tools that change things 22% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.