Skip to main content
Glama
claymore666

debmatic-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CCU_HOSTYesHostname or IP of your CCU
CCU_PORTNoAPI port (443 when using HTTPS)80
CCU_USERNoCCU usernameAdmin
MCP_PORTNoHTTP server port (HTTP mode only)3000
CACHE_DIRNoWhere to store device type cache and session/data
CACHE_TTLNoCache lifetime in seconds (24h)86400
CCU_HTTPSNoConnect via HTTPS (self-signed certs supported)false
LOG_LEVELNoerror, warn, info, or debuginfo
CCU_TIMEOUTNoCCU request timeout in milliseconds10000
CCU_PASSWORDYesCCU admin password
MCP_TRANSPORTNohttp or stdio (the --stdio CLI flag overrides this)http
CCU_TLS_VERIFYNoVerify the CCU's TLS certificate (enable if you have a proper cert)false
MCP_AUTH_TOKENNoBearer token for HTTP mode; generated and saved to $CACHE_DIR/.env on first start (optional, auto-generated if not set)
CCU_SCRIPT_TIMEOUTNoHM Script execution timeout in milliseconds30000
CCU_RATE_LIMIT_RATENoSustained CCU requests per second10
CCU_RATE_LIMIT_BURSTNoMax burst of requests sent to the CCU20
RESOURCE_POLL_INTERVALNoSeconds between polls for MCP resource change notifications60

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": true
}
resources
{
  "subscribe": true,
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_devicesA

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.

list_interfacesA

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

list_roomsA

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

list_functionsA

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

list_programsA

List all automation programs. Use execute_program to trigger them.

list_system_variablesA

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

describe_device_typeA

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.

list_linksA

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.

get_valueA

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_valuesA

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.

get_paramsetA

Read all parameters for a channel (VALUES, MASTER, or LINK). Interface is auto-resolved from the address.

set_valueA

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.

put_paramsetA

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

set_system_variableA

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

create_system_variableA

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_variableA

Delete a system variable by name. Use list_system_variables to see existing names.

execute_programA

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

assign_channelA

Assign a channel to a room and/or a function group. Identify the channel by address and the room/function by name (use list_rooms / list_functions to see names). At least one of room or function is required.

unassign_channelA

Remove a channel from a room and/or a function group. Identify the channel by address and the room/function by name (use list_rooms / list_functions to see names). At least one of room or function is required.

get_service_messagesA

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

acknowledge_service_messagesA

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.

get_system_infoA

Get CCU system information: firmware version, serial number, addresses.

get_rssiA

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.

helpA

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.

run_scriptA

Execute arbitrary HomeMatic Script on the CCU. NOT idempotent — will not be auto-retried. Use for anything the other tools don't cover.

Prompts

Interactive templates invoked by user choice

NameDescription
check-windowsCheck all window/door sensors and report which are open
room-statusShow current status of all devices in a room
set-heatingSet heating temperature in a room
good-nightPrepare the house for night
diagnosticsCheck for device issues
device-infoShow detailed info about a device

Resources

Contextual data attached and managed by the client

NameDescription
devicesAll devices with channels
roomsAll rooms with channel assignments
functionsAll function groups
programsAll automation programs
sysvarsAll system variables with values
interfacesAvailable communication interfaces
device-typesCached device type schemas
systemCCU system info

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/claymore666/debmatic-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server