GitHub
GitHub’s official server lets AI read and manage code, issues and pull requests in your account. Use GitHub’s hosted version or run it locally with Docker.
Description from the maker (original English)
Read-only KNX/ETS project auditor: validates a .knxproj and generates Home Assistant YAML
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
NICKOL_KNX_WORKSPACE, NICKOL_KNX_CATALOGYou need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"nickol-knx": {
"command": "uvx",
"args": [
"nickol-knx-mcp"
],
"env": {
"NICKOL_KNX_WORKSPACE": "your-value",
"NICKOL_KNX_CATALOG": "your-value"
}
}
}
}Run this in your terminal
claude mcp add nickol-knx --env NICKOL_KNX_WORKSPACE=your-value --env NICKOL_KNX_CATALOG=your-value -- uvx nickol-knx-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"nickol-knx": {
"command": "uvx",
"args": [
"nickol-knx-mcp"
],
"env": {
"NICKOL_KNX_WORKSPACE": "your-value",
"NICKOL_KNX_CATALOG": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"nickol-knx": {
"type": "stdio",
"command": "uvx",
"args": [
"nickol-knx-mcp"
],
"env": {
"NICKOL_KNX_WORKSPACE": "your-value",
"NICKOL_KNX_CATALOG": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
NICKOL_KNX_WORKSPACE envNICKOL_KNX_CATALOG envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 10, 2026
The registry name was verified with the GitHub account NickoScope, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.8.2) reached the registry 2 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: GitHub, Desktop Commander, Cloudflare MCP
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
GitHub’s official server lets AI read and manage code, issues and pull requests in your account. Use GitHub’s hosted version or run it locally with Docker.
MCP server for terminal commands, file operations, and process management
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
A design-time KNX / ETS6 assistant exposed as an [MCP](https://modelcontextprotocol.io) server.
Four things you can do with it — all without ever touching the live KNX bus:
basic/comfort preset per slot) assemble a new, validated project → an allocation manifest + ETS GA XML/CSV + a device BOM proposal. Dry-run, new projects only (R1).Under the hood: a device library that expands each actuator into its real communication objects — from generic recipes up to the exact vendor object model parsed straight from ETS application programs.
-0b3d2e)
🇷🇺 Русская версия: README.ru.md
🎬 Explore the live interactive demo & dashboard →
New — a whole demo house.
examples/demo-homeships a synthetic
239-GA / 47-Function project, the tool's generated report + Home Assistant config + ETS export, and a
full smart-home “brain” — circadian lighting, an 8-factor climate setpoint, a presence/season/time
state machine and statistics — driving a 5-view dashboard. See it all on the
[live site ↗](https://nickoscope.github.io/nickol-knx-mcp/).
Real screenshots from a live Home Assistant running the demo house. They show the tool's assembled entities at work: RGBW / RGB / CCT colour lights, six floor-heating climate zones (target, mode and valve %), a circadian lighting curve and a computed climate setpoint — not set by hand.
| Climate | Lighting |
|---|---|
| Energy & stats | Presence |
▶ [Explore it interactively on the live site →](https://nickoscope.github.io/nickol-knx-mcp/) · config in examples/demo-home/ha-brain
This is a public beta. The full pipeline passes an end-to-end smoke test on a synthetic project and has been validated against real multi-thousand-GA ETS5/ETS6 projects (anonymised) — but real ETS projects are wonderfully messy and diverse, and more field reports make it better.
👉 If you have an ETS5/ETS6 project, please try it and tell us what happens. Open a Real-project test report issue. The tool is read-only and never connects to a bus, so testing is safe (see Safety model). See CONTRIBUTING.md for details.
💬 [Join the discussion →](https://github.com/NickoScope/nickol-knx-mcp/discussions/1) — say hi, ask anything, or share what the tool found on your project.
Recent reviews from practising KNX integrators (in Discussions) are steering what comes next:
check_device_parameters)* — flag the one device whose ETS parameter settings differ from its N identical siblings: a thermostat with a different setpoint/hysteresis, a presence detector with a different detection time. Extracts per-device parameters straight from the .knxproj and finds the odd one out on real 42–275-device projects — read-only, no ETS, no bus — and correctly reports nothing on a clean project (no false positives across a different vendor / integrator school).check_policy)* — validate a project against *your own* agreed rules (naming, GA taxonomy, command/status exemptions) instead of one universal "professional standard", since conventions differ per integrator; with no profile it validates against the taxonomy inferred from the project itself.compose_rooms + validate_room_template: new projects, dry-run, allocation manifest + ETS XML/CSV + device BOM). R2 planned: docking into an existing project + exact device selection..knxproj. Currently scoping against a real Logic Machine 5 unit.Have a project to test, a workflow that breaks, or a feature to shape? → [Discussions](https://github.com/NickoScope/nickol-knx-mcp/discussions).
As of mid-2026 there is no off-the-shelf ETS6 ↔ Claude / MCP tool. The KNX community has been explicitly asking for an integration that can inspect and help modify projects (adding / renaming devices and group addresses) through an AI/CLI workflow. This package fills exactly the design-time layer — the missing one.
The recommended full setup is four layers; only one needs to be built from scratch:
| Layer | Purpose | What to use | Build it? |
|---|---|---|---|
| 1. Live | states, control, debugging a running house | official Home Assistant MCP Server + KNX (XKNX) integration | No, already exists |
| 2. Design-time | parse .knxproj, validate DPT/naming/status + GA-intent de-noise, generate HA YAML (colour lights + climate assembled) & ETS XML/CSV | `nickol-knx-mcp` (this package) | YES — this is the gap |
| 3. Files + Git | YAML/CSV/XML, versioning the address schema | standard filesystem + git MCP servers | No, already exists |
| 4. Playbook (optional) | written design rules your AI client reads (GA structure, naming, DPT, scenes) + an HA backup routine | plain files: CLAUDE.md + skills/ha-git-backup. Not served by the MCP server, which works without them | No, included |
Safety by design: layer 2 (this server) physically cannot connect to a bus. It has no
network/bus dependency at all — it only reads
.knxprojand writes files into a confined
workspace. The "never write to a live bus" requirement is enforced structurally, not by
promise. Any real interaction with the house goes only through layer 1 (Home Assistant).
Turn a project specification (equipment schedules, cable journals, a device list) into a complete, validated group-address structure — and the full document set to implement it:
decompose_device): a dimmer channel is on/off + status + relative dim (3.007) + absolute value (5.001) + brightness status — not "one GA"; a floor-heating zone is 8 objects; a pulse meter is 6.Full methodology: docs/spec-to-structure.md. Field-checked by reconstructing a real 14-room as-built ETS project from its 42-page specification alone: 96 % structural match (662 vs 687 GA), 10 / 10 domain taxonomy, at zero validation errors — full write-up in the [case study](docs/case-study.md). The remaining delta is the integrator's per-device parameterisation, which no spec encodes.
.knxproj via xknxproject; classifies every GA by category (lighting / shutter / hvac / sensor / scene / energy / diagnostics) and kind (command / status / sensor) from the DPT + multilingual (EN/DE/RU) name keywords. GA purpose tagging (functional / reserve / logic / scratch) keeps intentional placeholders out of the error lists, so the report doesn't cry wolf (on a real 685-GA projecOnly the beginning is shown; read the rest in the repo