nickol-knx MCP server
Read-only KNX/ETS project auditor: validates a .knxproj and generates Home Assistant YAML
25 stars345 downloads/wk
Reviews
Write oneNobody has reviewed nickol-knx yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
nickol-knx tools (32, 1 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
analyze_allwrite actionRun every check and return the report summary plus all findings.
check_device_parametersFind the device whose ETS **parameter** settings differ from its N identical siblings — the odd thermostat/sensor out (e.g. one thermostat with a different setpoint/hysteresis, one presence detector with a different detection time).
check_dptDetect missing, inconsistent or mismatched DPTs.
check_energyCheck the metering/energy domain (energy DPTs 13.x / 14.056) and suggest a per-circuit / PV / battery / EVSE structure for the HA energy dashboard.
check_matterMatter-readiness lint: which controllable functions round-trip to a Matter cluster (have command + status + a decodable DPT) and which won't.
check_missing_statusDetect controllable GAs lacking a status/feedback counterpart.
check_namingValidate naming conventions and 3-level structure.
check_policyValidate the loaded project against a **Project Policy Profile** — *your* agreed rules (main-group taxonomy, naming regex, command/status exemptions), not one universal "standard". Flags GAs whose domain doesn't match the main group your policy assigns, and names that don't match your pattern. Pass `profile_path` to a YAML profile (omit to validate against the taxonomy inferred from the project it
check_secureSummarise KNX Data Secure posture + the keyring handover checklist.
check_topologyCheck topology capacity and individual-address validity (KNX Handbook).
compose_roomsCompose a **new** KNX project from a list of room templates (constructor).
decompose_deviceExpand a device into its group-address decomposition recipe.
diff_projectsSemantic diff between two .knxproj files (path_a = base/old, path_b = new): added / removed GAs, DPT changes, renames, security-flag changes. Read-only.
explain_ga**Provenance** for one group address — why the tool classified it the way it did. Replays the classification and shows, per decision (category / kind / status pairing), the signals that fired with a **confidence tier**: authoritative (an ETS Function role) > structural (the KNX DPT) > heuristic (a name keyword). Flags **conflicts** (e.g. a GA the DPT calls `lighting` while its name says "AC") — th
generate_ets_group_addressesGenerate an ETS-importable Group Address export.
generate_ha_packageGenerate a Home Assistant KNX package YAML.
generate_handover_packGenerate a project handover pack (as-built deliverable for commissioning).
generate_knx_iotExport a KNX IoT semantic view (Turtle/RDF) of the project's functional datapoints — a pragmatic skeleton for the IP-native model, for review.
generate_test_protocolDraft a functional acceptance protocol (per function: command → expected status, pass/fail/sign-off) as Markdown. Execution is manual/on-site; this only drafts it.
get_devicesList devices (individual address, name, order number, manufacturer), sorted by individual address (area/line/device numerically). Same paging contract as `list_group_addresses`: `next_cursor` / `total_matched` / `returned`.
get_topologyReturn the area/line/device topology tree.
grade_completenessGrade the project: bare functional skeleton vs as-built grade — by the presence of the professional patterns (central macros, device tuning, astro/meteo, monitoring, deep metering, scenes, reserves, a debug main).
list_device_recipesList the device decomposition recipes in the built-in device library.
list_group_addressesList parsed group addresses with classification, in a **stable order**.
load_ga_exportLoad an ETS group-address export (ga-export/01 XML) instead of a full .knxproj.
load_projectParse a .knxproj file (read-only) and cache it for the session.
parse_devices_from_projectExtract exact device object models from a .knxproj / .knxprod application programs.
project_reportProduce the human-readable Markdown report (review before any import).
suggest_namesNaming hygiene suggestions (empty names, status GAs missing a status keyword).
suggest_repairsPropose concrete fixes for the project's findings — repair, don't just flag.
validate_room_templateValidate a Room Library template against the R1 schema (report-only).
workspace_infoShow the confined output workspace and the safety guarantees.
Public scan report
scanner v0.1.5 · 2026-09-19 · same rubric, same numbers if you re-run it
- Code scan32 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 qualitylocal package, no credentials required12/15
- Maintenancelast push 3 days ago15/15
- Maintainer identityregistry namespace matches repository owner6/10
Install directly
claude mcp add nickol-knx-mcp -- uvx nickol-knx-mcp
nickol-knx: common questions
- Is nickol-knx MCP server safe?
- Yes, by our scan: it is graded A (89/100). Read the nickol-knx safety report
- How do I install nickol-knx?
- It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
- Does nickol-knx need an API key?
- No secret keys are declared. It reads 2 settings from the environment.
- Is nickol-knx maintained?
- The last commit was 3 days ago (2026-09-16). The latest release is v0.8.2.