Larnitech logo

Larnitech

Read, monitor, document, snapshot, and safely control Larnitech smart-home devices through API2.

Install Larnitech

Pick your client, then add it in one click or paste the config.

STDIOPython
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "larnitech": {
      "command": "uvx",
      "args": [
        "larnitech-mcp"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

We couldn’t confirm it starts correctly

We ran the install command but it didn't respond within our test window — this can mean a slow first-time install rather than a real problem.

uvx larnitech-mcp

No response to initialize.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 11d ago.

Overview

The Larnitech MCP server connects AI agents to Larnitech smart-home controllers through the API2 protocol. It provides read access to devices such as lights, climate systems, blinds, sensors, and meters, plus non-blocking watches, snapshots, device documentation, and bug reporting. Writes are disabled until enabled per controller and require validation followed by explicit confirmation. Use it when an agent needs current installation state, change monitoring, or carefully controlled device operations over cloud or LAN connections.

Use cases

  • Inspect current Larnitech device states by room, type, or name
  • Watch a switch or sensor and read subsequent changes
  • Preview and confirm a climate, lighting, or blind command
  • Save controller snapshots for later comparison
  • Look up device-type quirks before writing values

Key features

  • API2 access to Larnitech controllers over cloud or LAN
  • Device listing, status reads, and connection checks
  • Non-blocking watches with change tracking
  • Two-phase validated writes with explicit confirmation
  • Built-in device, protocol, and bug documentation
  • Structured snapshots and sanitized bug-report links

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 3d ago

Recent health check succeeded.

6/6 checks healthy over the last 40d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 13d ago via OSV.dev · larnitech-mcp (PyPI)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars1Stargazers on the source repository.
Last commit1mo agoMost recent push to the default branch.
Install checkInconclusiveDidn't respond in our test window — often a slow first install.
Directory activity3 viewsConfig copies, upvotes, and views on AllMCPs.

How Larnitech works

What Larnitech MCP server does

The Larnitech MCP server exposes an AI agent to Larnitech installations managed through the API2 protocol. It can inspect configured controllers, test connectivity, list devices, retrieve one device by address, and filter snapshots by area, type, or name. Supported installation data includes lights, climate devices, blinds, sensors, and meters.

The server also provides type-specific reference material. Agents can look up documented status fields, enumerations, XML attributes, script layouts, protocol details, and confirmed vendor issues instead of interpreting device keys without context. Returned data identifies conditions such as opaque hexadecimal values, malfunction responses, offline devices reporting undefined, and meter payloads containing null because a poll produced no data.

How it works

The Larnitech MCP server runs as a Python MCP process over stdio, started with python -m larnitech_mcp serve. It can connect to a controller through the Larnitech cloud or directly over a local network. Consecutive read requests reuse an authorized connection for up to four minutes. A watch maintains its own connection, allowing an agent to start a watch, continue other work, and later read changes with per-key from and to values.

Control operations use a two-stage flow. set_device validates the requested payload, reads current state, and returns a preview with a single-use token; it does not change the controller. confirm_set performs the operation, waits for the device to settle, and reports the resulting state, including changes made by the controller that were not requested. The server can reject unsafe combined writes and require ordered sequences for device types whose channels override one another.

Setup and configuration

Python 3.11 or newer and an administrated Larnitech controller are required. Install the package with pip install larnitech-mcp, preferably in a virtual environment. Register a controller with its cloud serial number or local host, then store its API key using the auth command. API keys come from LT_Setup under Security, while serial numbers, LAN addresses, and WebSocket settings are found under the installation’s general or API settings.

Configuration data, keys, preferences, snapshots, and recorded device notes are stored outside the installed package in ~/.larnitech-mcp/. Snapshots normally use a controller-specific data directory, though an existing project directory can be selected for a site’s files. The server can be added to an MCP client using the absolute Python interpreter path and the serve module command.

Write access must be enabled from a terminal for each controller with allow-write; an agent cannot enable it through a tool. Treat the API key as a password. The key is stored through the authentication command rather than passed through the chat transcript.

Tools and capabilities

  • Inspect controllers and connection status with list_objects and check_connection.
  • List devices or retrieve one device using list_devices and get_device.
  • Read device-type, protocol, and known-bug documentation with get_docs.
  • Start, read, stop, and list non-blocking watches.
  • Preview and confirm controlled writes with set_device and confirm_set.
  • Save, list, and parse structured controller snapshots.
  • Persist device notes and agent preferences with add_docs_note and add_preference.
  • Prepare a sanitized repository bug report link without posting the issue.

Limitations and notes

API2 behavior is not uniform across device types, and some devices require ordered write sequences. A successful controller response does not necessarily mean every requested value was applied, so confirmation results and documented quirks matter. Snapshot files preserve numeric values and null values distinctly, which is important when differentiating missing meter data from zero readings.

The server does not return API keys and masks them in errors. The bug-report tool removes identifiers such as keys, serial numbers, hostnames, and site names, but submission remains a manual step through the generated link.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Larnitech

Larnitech is an MCP server that connects AI agents to Larnitech smart-home controllers through the API2 protocol. Its main tools read devices, inspect type documentation, watch changes, save snapshots, and safely control lights, climate systems, blinds, sensors, and meters through a validated two-step write process.

Install it with `pip install larnitech-mcp` using Python 3.11 or newer, preferably inside a virtual environment. Register a cloud or LAN controller, store its API key with the `auth` command, and configure your MCP client to run `python -m larnitech_mcp serve`.

Enable writes from a terminal with `python -m larnitech_mcp allow-write "Home" on`, replacing the controller name as needed. Write access is configured per controller, and the agent cannot grant itself permission. Each device change still requires `set_device` followed by `confirm_set`.

Yes. Add the server under the top-level `mcpServers` object in Claude Code’s `~/.claude.json`, using the absolute path to the Python interpreter that has the package installed. You can also place the same configuration in a project-root `.mcp.json` and restart Claude Code fully.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewLarnitech AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/larnitech?style=directory)](https://allmcps.com/mcp/larnitech)
HTML Embed
<a href="https://allmcps.com/mcp/larnitech"><img src="https://allmcps.com/api/badge/larnitech?style=directory" alt="Larnitech on AllMCPs" /></a>