Back to Browse

Ccu MCP Server

Developer ToolsModerate5.2MCP RegistryLocal
Free

Server data from the Official MCP Registry

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

About

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

Security Report

5.2
Moderate5.2Moderate Risk

This is a well-engineered MCP server for controlling HomeMatic smart homes with strong security fundamentals. Authentication is properly enforced in HTTP mode via bearer tokens with optional rotation and TLS support. The codebase demonstrates mature error handling, input validation, and deliberate design choices around dangerous operations. Minimal findings exist: credential handling follows best practices (env vars only), no malicious patterns detected, and permissions are appropriately scoped to the server's purpose. Minor code quality observations around exception handling do not meaningfully impact security. Supply chain analysis found 5 known vulnerabilities in dependencies (0 critical, 1 high severity). Package verification found 1 issue.

3 files analyzed · 8 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

env_vars

Check that this permission is expected for this type of plugin.

HTTP Network Access

Connects to external APIs or services over the internet.

File System Read

Reads files on your machine. Normal for tools that analyze or process local data.

File System Write

Writes or modifies files on your machine. Check that this is expected for the tool.

What You'll Need

Set these up before or after installing:

Hostname or IP of your HomeMatic CCU (debmatic, CCU3, or OpenCCU/RaspberryMatic)Optional

Environment variable: CCU_HOST

CCU admin password (same as the WebUI login)Required

Environment variable: CCU_PASSWORD

CCU usernameOptional

Environment variable: CCU_USER

Connect to the CCU via HTTPS (self-signed certificates supported)Optional

Environment variable: CCU_HTTPS

CCU API port (80 for HTTP, 443 for HTTPS)Optional

Environment variable: CCU_PORT

Directory for the device type cache and session persistenceOptional

Environment variable: CACHE_DIR

Comma-separated allowlist of browser origins. Unset = no cross-origin browser access (default-deny). An allowlisted origin is reflected exactly in Access-Control-Allow-Origin (never '*'); the list also drives DNS-rebinding origin checksOptional

Environment variable: MCP_ALLOWED_ORIGINS

Extra Host header values accepted by DNS-rebinding protection (comma-separated host:port); add your hostname when behind a proxy or container DNS nameOptional

Environment variable: MCP_ALLOWED_HOSTS

Comma-separated names of multiple CCU targets (e.g. 'prod,dev'). Each profile takes the flat CCU_* settings prefixed CCU_<NAME>_ (CCU_PROD_HOST, ...), plus policy flags CCU_<NAME>_PROTECTED (writes need confirm:true) and CCU_<NAME>_READONLY. Unset = single default profile from the flat CCU_* varsOptional

Environment variable: CCU_PROFILES

Which profile from CCU_PROFILES is active at startup (default: the first listed)Optional

Environment variable: CCU_DEFAULT_PROFILE

Verify the CCU's TLS certificate against the system trust store. Only meaningful with CCU_HTTPS=true. Default false, because a CCU ships a self-signed certificate — prefer CCU_TLS_FINGERPRINT or CCU_CA_CERT to verify one of thoseOptional

Environment variable: CCU_TLS_VERIFY

Pin the CCU's self-signed leaf certificate by its SHA-256 fingerprint (hex, colons optional). The strongest option for an appliance: the connection is rejected unless the presented certificate matches. Takes precedence over CCU_CA_CERTOptional

Environment variable: CCU_TLS_FINGERPRINT

Path to a PEM file holding the CCU's CA or self-signed certificate. The connection is then validated against it with standard chain verificationOptional

Environment variable: CCU_CA_CERT

Timeout for a CCU JSON-RPC call, in MILLISECONDSOptional

Environment variable: CCU_TIMEOUT

Timeout for HomeMatic Script execution (ReGa), in MILLISECONDS — scripts are slower than plain API callsOptional

Environment variable: CCU_SCRIPT_TIMEOUT

Lifetime of the on-disk device-type schema cache, in SECONDSOptional

Environment variable: CACHE_TTL

Token-bucket burst size for CCU requests — how many may be issued back to backOptional

Environment variable: CCU_RATE_LIMIT_BURST

Sustained CCU request rate, in requests per secondOptional

Environment variable: CCU_RATE_LIMIT_RATE

How often MCP resources are polled for change notifications, in SECONDSOptional

Environment variable: RESOURCE_POLL_INTERVAL

error | warn | info | debug. Logs are structured JSON on stderrOptional

Environment variable: LOG_LEVEL

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-claymore666-ccu-mcp": {
      "env": {
        "CCU_HOST": "your-ccu-host-here",
        "CCU_PORT": "your-ccu-port-here",
        "CCU_USER": "your-ccu-user-here",
        "CACHE_DIR": "your-cache-dir-here",
        "CACHE_TTL": "your-cache-ttl-here",
        "CCU_HTTPS": "your-ccu-https-here",
        "LOG_LEVEL": "your-log-level-here",
        "CCU_CA_CERT": "your-ccu-ca-cert-here",
        "CCU_TIMEOUT": "your-ccu-timeout-here",
        "CCU_PASSWORD": "your-ccu-password-here",
        "CCU_PROFILES": "your-ccu-profiles-here",
        "CCU_TLS_VERIFY": "your-ccu-tls-verify-here",
        "MCP_ALLOWED_HOSTS": "your-mcp-allowed-hosts-here",
        "CCU_SCRIPT_TIMEOUT": "your-ccu-script-timeout-here",
        "CCU_DEFAULT_PROFILE": "your-ccu-default-profile-here",
        "CCU_RATE_LIMIT_RATE": "your-ccu-rate-limit-rate-here",
        "CCU_TLS_FINGERPRINT": "your-ccu-tls-fingerprint-here",
        "MCP_ALLOWED_ORIGINS": "your-mcp-allowed-origins-here",
        "CCU_RATE_LIMIT_BURST": "your-ccu-rate-limit-burst-here",
        "RESOURCE_POLL_INTERVAL": "your-resource-poll-interval-here"
      },
      "args": [
        "-y",
        "ccu-mcp"
      ],
      "command": "npx"
    }
  }
}

Reviews

No reviews yet

Be the first to review this server!