Skip to content
Agentmart
Submit a tool

Debmatic MCP

MCP server for controlling HomeMatic smart home devices via the CCU JSON-RPC API

Connector by claymore666 · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 9
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/claymore666-debmatic-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

MCP server for controlling HomeMatic smart home devices via the CCU JSON-RPC API

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Tools
20 read · 1 write · 9 delete
Secrets
1 (API keys, tokens or passwords)
Install scripts
None found
Runs as
Node.js package

Tools by what they do 30

Read from the source code; the running server may list different tools.

Read 20 · Look things up without changing anything.

  • describe_device_type
  • get_connection_info
  • get_paramset
  • get_rssi
  • get_service_messages
  • get_system_info
  • get_value
  • get_values
  • help
  • list_ccu_targets
  • list_devices
  • list_functions
Show 8 more tools
  • list_interfaces
  • list_links
  • list_programs
  • list_rooms
  • list_system_variables
  • setup_probe
  • setup_status
  • setup_test

Write 1 · Create, change, send or run things.

  • setup_write_profile

Delete 9 · Delete, drop, revoke or wipe things.

  • acknowledge_service_messages
  • create_system_variable
  • delete_system_variable
  • execute_program
  • put_paramset
  • run_script
  • set_system_variable
  • set_value
  • use_ccu

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • CCU_PASSWORD

Other settings (environment variables or headers).

  • CACHE_DIR
  • CCU_HOST
  • CCU_HTTPS
  • CCU_PORT
  • CCU_USER
  • MCP_ALLOWED_HOSTS
  • MCP_ALLOWED_ORIGINS

Network hosts it talks to 3

  • example.invalid · found in code
  • github.com · found in code
  • glama.ai · found in code

Tools (30)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • acknowledge_service_messagesAcknowledge Service Messagescan change or delete data

    Confirm/dismiss active service messages (e.g. clear a low-battery or unreachable warning). Provide an alarm id (from get_service_messages) to confirm one message, or a channel address to confirm all active messages on that channel. A warning reappears if its condition persists.

  • create_system_variableCreate System Variablecan change or delete data

    Create a new system variable. Types: 'bool', 'float' (optional min/max/unit), 'enum' (requires values list), 'string'. Use set_system_variable to write it afterwards, list_system_variables to see existing ones.

  • delete_system_variableDelete System Variablecan change or delete data

    Delete a system variable by name. Use list_system_variables to see existing names. On a protected target, EVERY call needs confirm:true — the session unlock from other write tools does not apply.

  • describe_device_typeDescribe Device Typeread-only

    Get the full channel/datapoint schema for a device type (e.g. 'HmIP-eTRV-2'). Shows all channels, paramsets, datapoint names, types, ranges, and operations. Served from cache (instant). Use list_devices first to find device types.

  • execute_programExecute Programcan change or delete data

    Trigger an automation program on the CCU. NOT idempotent — will not be auto-retried. Use list_programs to find program IDs.

  • get_connection_infoGet Connection Inforead-only

    Report which CCU target is currently active — host, user, https, protected/read-only flags, and login state. Use this to confirm WHERE a command will run (especially before a write). No password.

  • get_paramsetGet Paramsetread-only

    Read all parameters for a channel: VALUES (runtime state), MASTER (config), or a link paramset — for the latter pass the LINK PARTNER's channel address as paramsetKey (find partners with list_links). Interface is auto-resolved from the address.

  • get_rssiGet RSSI / Radio Qualityread-only

    Report radio link quality (RSSI, in dBm) for every device, resolved to device names, plus BidCos interface health (duty cycle, connected state). Covers both transports: BidCos-RF via Interface.rssiInfo, and HmIP-RF via each device's RSSI_DEVICE/RSSI_PEER maintenance datapoints. Use to answer 'why is this sensor flaky?'. Higher (closer to 0) dBm is better; null = no measurement.

  • get_service_messagesGet Service Messagesread-only

    Get all active service messages (low battery, unreachable, etc.) with device details and timestamps.

  • get_system_infoGet System Inforead-only

    Get CCU system information: firmware version, serial number, addresses. Reports the active login user and inferred role (ADMIN/USER) — note that version/serial/address are ADMIN-only on the CCU, so they show "N/A" for a non-admin (USER) login. A CCU that cannot be reached or logged into fails with that error instead — "N/A" always means "connected, not permitted". Also reports the running server's build identification (git branch/commit/tag and build time) under `build`.

  • get_valueGet Valueread-only

    Read a single datapoint value from a device channel. Only address and valueKey are required — interface is auto-resolved. Use list_devices to find addresses, describe_device_type to find valid valueKeys.

  • get_valuesGet Values (Bulk)read-only

    Read datapoint values for multiple channels at once via HM Script. Provide either a list of channel addresses, or filter by room or function name.

  • helpHelpread-only

    Context-aware help. No args: conceptual guide. Tool name (e.g. 'set_value'): tool usage. Device type (e.g. 'HmIP-eTRV-2'): capabilities from cache.

  • list_ccu_targetsList CCU Targetsread-only

    List all configured CCU targets (profiles) you can switch between with use_ccu — name, host, user, whether protected/read-only, which is active, and login state. Never exposes passwords.

  • list_devicesList Devicesread-only

    List all devices with their channels, types, and addresses. Optional filters: room, function, type, name. Use this first to discover device addresses for get_value/set_value.

Show 15 more tools
  • list_functionsList Functionsread-only

    List all function groups (Heating, Lighting, etc.) with their assigned channel IDs.

  • list_interfacesList Interfacesread-only

    List available communication interfaces (BidCos-RF, HmIP-RF, VirtualDevices, etc.).

  • list_linksList Direct Device Linksread-only

    List direct device links (Direktverknüpfungen) — sender→receiver channel pairings that operate independently of the CCU (e.g. a wall switch directly driving a lamp, or thermostats linked to a FALMOT). Read-only. Optionally filter to links involving a specific device or channel address.

  • list_programsList Programsread-only

    List all automation programs. Use execute_program to trigger them.

  • list_roomsList Roomsread-only

    List all rooms with their assigned channel IDs. Use with list_devices to find devices by room.

  • list_system_variablesList System Variablesread-only

    List all system variables with current values and metadata. Use set_system_variable to modify them.

  • put_paramsetPut Paramsetcan change or delete data

    Write multiple parameters at once (e.g. thermostat weekly profile). Interface is auto-resolved from address.

  • run_scriptRun HomeMatic Scriptcan change or delete data

    Execute arbitrary HomeMatic Script on the CCU. NOT idempotent — will not be auto-retried. Use for anything the other tools don't cover. On a protected target, EVERY call needs confirm:true — the session unlock from other write tools does not apply.

  • set_system_variableSet System Variablecan change or delete data

    Set a system variable value. Type is auto-detected — use list_system_variables to see available variables.

  • set_valueSet Valuecan change or delete data

    Set a single datapoint value on a device channel. Only address, valueKey, and value are required — interface and type are auto-resolved. Returns the previous value for undo. Use describe_device_type to find valid valueKeys and ranges.

  • setup_probeSetup: probe a CCUread-only

    Check whether a CCU JSON-RPC API answers at a host. Without port/https the two stock endpoints are tried (443 HTTPS, then 80 HTTP). Over HTTPS the presented TLS certificate is fetched (unverified, for display) so the user can decide to pin its fingerprint in setup_write_profile — recommend pinning.

  • setup_statusSetup: current stateread-only

    Report why the server is in setup mode, which env file it will write, and what that file already contains: each configured CCU target with host/port/HTTPS/user, whether a TLS fingerprint is pinned, and whether a password has been stored (as a boolean — the password itself is never readable through any setup tool).

  • setup_testSetup: verify the configurationread-only

    Validate the env file end-to-end, like `ccu-mcp doctor`: configuration loads, each target's CCU API is reachable, a pinned TLS fingerprint matches the presented certificate, and the login works (reporting the ADMIN/USER privilege level). When everything passes, tell the user to reconnect this MCP server — it will restart fully configured with the normal tool set.

  • setup_write_profileSetup: write a CCU target

    Add or update one CCU target in the env file (connection settings only). There is deliberately NO password parameter: the password must never travel through the model or the chat — after writing, have the user run the printed `ccu-mcp secret` command in a terminal (hidden prompt), then call setup_test. Other targets and unmanaged variables in the file are preserved.

  • use_ccuSwitch CCU Target

    Switch the active CCU target. All subsequent tool calls go to this target until switched again (use the per-call `target` arg on read tools for a one-off without switching). Returns the new active connection info. Login happens lazily on the first call.

Signals

Stars
9
Forks
2
Open issues
1
Last commit
Oct 21, 2026 (7 days ago)
Last release
Oct 21, 2026 (7 days ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
io.github.claymore666/debmatic-mcp
Version
1.3.0
Auth
API key
Packages
npm debmatic-mcp
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 25, 2026

More from claymore666

Cite this page

Debmatic MCP. Agent Mart. https://agentmart.dev/connectors/claymore666-debmatic-mcp (last updated 2026-10-25)