Skip to main content
Glama
inception-mcp

inception-mcp

by ndwalters

inception-mcp

A small, read-only MCP server for the Inner Range Inception REST API. It lets an MCP client (Claude Code, Claude Desktop, etc.) see areas, doors, inputs, outputs and the review (event) log. It cannot arm, disarm, unlock, toggle outputs or change configuration.

Tools

Tool

What it does

inception_get_system_info

System name, serial, REST protocol version, and whether the firmware is supported (7.3.0.8528 or later)

inception_list_items

Areas / doors / inputs / outputs with decoded state (Disarmed, Locked, Active, ...). Filter by name_contains and has_state (e.g. inputs that are Active = open zones)

inception_get_events

Review log query: time range, categories, event type IDs, involved item IDs, pagination. Events come back with category and event-type name

inception_list_event_types

Offline search of the 500 event types in the API docs, to find IDs for message_ids (e.g. "disarmed" → 5201)

Related MCP server: trmm-mcp

Why it is read-only

  • The HTTP client only issues GET and only to these fixed paths: /api/protocol-version, /api/v1/system-info, /api/v1/control/{area|door|input|output}/summary and /api/v1/review. There is no generic "call any endpoint" tool and no request bodies.

  • No user, credential, PIN or configuration endpoints are exposed.

  • Give the Inception API user only the permissions it needs to see items. If the panel has no view-only permission level, remove Arm/Disarm/Control/Access rights entirely: controls would then fail with 403 even if this code had a bug.

Setup

1. Inception API user

  1. In Inception: Users → Manage Users, add a user (e.g. MCP Read-only).

  2. Set Web Page Profile to REST Web API User.

  3. Under Permissions, add the areas, doors, inputs and outputs you want visible (minimum rights).

  4. Under Credentials → User API Token, generate a token. Generating a new one invalidates the old one.

  5. Enable Review permission for the user if you want events (a 404 on /review usually means it is missing).

  1. Download inception-mcp.mcpb from the latest release, then double-click it, or drag it into Claude Desktop (or Settings → Extensions → Advanced settings → Install Extension).

  2. Click Install, then fill in the form using:

    1. The controller URL (either local http://192.168.1.50 or through your SkyTunnel serial https://skytunnel.com.au/Inception/IN12345678).

    2. The previously created Inception User API Token.

  3. Enable the extension.

No Node.js install, no config-file editing: Claude Desktop runs the bundle with its built-in Node runtime, and the token is marked sensitive so it is stored in your OS credential store (Windows Credential Manager / macOS Keychain) rather than in a plain-text JSON file. To change the URL or token later: Settings → Extensions → Inner Range Inception → Configure.

2b. Claude Code (or any stdio MCP client)

Needs Node.js 20+.

npm install          # also builds dist/ via the prepare script
claude mcp add inception --scope user \
  -e INCEPTION_URL=<your Inception URL> \
  -e INCEPTION_API_TOKEN=<your User API Token> \
  -- node "$(pwd)/dist/index.js"

Stdio is the default transport, so nothing else is required. The client launches the server as a child process on demand; there is no port and nothing to keep running.

Building the bundle yourself

npm install
npm run pack:mcpb     # -> inception-mcp.mcpb (validated against the MCPB manifest schema)

manifest.json defines the install form (user_config) and maps it to environment variables. Bump version in package.json and re-pack to release an update; installing the new .mcpb replaces the old one.

Firmware / protocol version

Requires Inception firmware 7.3.0.8528 or later (REST API protocol version 18). This is fixed, not configurable: the server checks GET /api/protocol-version when it starts and exits with a clear message on older firmware. To check your controller:

curl http://<inception-ip>/api/protocol-version

If the panel is unreachable at startup the server still starts (with a warning) and tools return a clear error until it is back.

Available Tools

4 tools
inception_get_eventsQuery Inception review eventsA
Read-onlyIdempotent

Queries the controller's review (event) log. Returns most recent first by default. Each event has a numeric messageId, its category (System, Audit, Access, Security, Hardware, Integration), an event type name and the panel's description, plus who/what/where. Filter by time range, category, message IDs (use inception_list_event_types to find IDs, e.g. area armed/disarmed) or involved item IDs. For paging use offset, or reference_id + reference_time from an earlier event instead of start/end.

Inputs: end, limit, start, offset, +6 more.

inception_get_system_infoInception system infoA
Read-onlyIdempotent

Returns the Inception controller's name, serial number and REST API protocol version, and whether the firmware is supported (7.3.0.8528 or later, protocol version 18). Use it to confirm connectivity.

Inputs: no named parameters.

inception_list_event_typesLook up Inception event type IDsA
Read-onlyIdempotent

Searches the catalogue of review event types (from the Inception API docs) so you can find numeric IDs to pass as message_ids to inception_get_events. Example: query='armed' or 'disarm', category='Security'. Works offline; does not contact the panel.

Inputs: limit, query, category, include_obsolete.

inception_list_itemsList Inception items with current stateA
Read-onlyIdempotent

Lists areas, doors, inputs or outputs the API user can see, each with its current state decoded into names. Area states include Armed, Disarmed, Alarm, EntryDelay, ExitDelay, ArmReady, AwayArm (Full), StayArm (Perimeter), SleepArm (Night). Door states include Locked, Unlocked, Open, Closed, Forced, HeldOpenTooLong, LockedOut. Input states include Active (unsealed/open), Sealed, Tamper, Isolated. Output states are On/Off. Use has_state to filter, e.g. type=input with has_state=["Active"] lists open zones.

Inputs: type (required), limit, has_state, name_contains.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.1/5.0

    Scored across 4 tools

    Disambiguation5/5

    Each tool targets a clearly distinct purpose: connection/system metadata, listing configured items, browsing the offline event-type catalogue, and querying the event log. The only superficially similar pair (list_event_types vs get_events) is explicitly disambiguated in the descriptions as catalogue lookup versus actual log query.

    Naming Consistency5/5

    All four tools use a uniform prefix + verb_noun pattern (inception_get_system_info, inception_list_items, inception_list_event_types, inception_get_events). No casing or verb-style deviations.

    Tool Count4/5

    Four tools is lean but defensible for a read/inspection-focused integration, and each tool earns its place. It is slightly under-scoped rather than bloated.

    Completeness3/5

    Coverage is read-only: connectivity, item listing, event-type lookup, and event retrieval are all present, but there is no way to act on the panel (arm/disarm areas, control doors or outputs) and no per-item detail fetch. For a security panel integration, the absence of any control operation is a notable gap.

    Maintenance

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Read-only MCP server that allows AI assistants to query and monitor KVM Fleet devices, audit logs, and console sessions through the official REST API.
      5
      13 npm
      1
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables read-only MCP access to Tactical RMM, allowing agents to query devices, clients, sites, audit logs, software, and pending actions without any mutating capabilities.
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      Enables MCP clients such as Claude and ChatGPT to read a Timesheet Portal account, including timesheet time and cost reports, invoices, leave bookings and balances, projects or jobs, clients, users and cost centres, across both the Standard and Recruitment editions. It is read-only, with personal and pay data withheld unless explicitly requested.
      8
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables MCP clients to read MetaTrader 4 and 5 account data, including balances, open positions, closed trades, quotes, symbol specifications, and price history, without placing, modifying, or closing orders.
      MIT