Ignition MCP 网关数据服务

Ignition MCP 是运行在 Ignition 8.3 网关内的 MCP 服务器模块,通过 42 个工具让 MCP 客户端检查网关数据并执行显式授权变更,适用于工业自动化网关的数据访问、AI 集成与受控运维。

  • by JonathanGrocott
  • Java
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 JonathanGrocott/ignition-mcp

使用说明

Ignition MCP

A native Ignition 8.3 Gateway module that lets MCP clients inspect Gateway data and make explicitly authorized changes. It runs inside Ignition and uses the Gateway's existing HTTP/HTTPS port.

Start with the illustrated User Guide. It covers installation, API keys, read-only access, client connection, writes, change previews and troubleshooting.

What it can do

Ignition MCP 0.4.0 exposes 42 tools:

  • Browse/read tags, inspect definitions and UDTs, search OPC mappings and collect bounded snapshots.
  • Inspect Perspective views, stored bindings/events, project resources and literal source references.
  • Read Gateway status, installed modules, connection status and bounded logs.
  • Inspect named queries, query tag history and list alarms, subject to permissions.
  • Inspect portable JSON bundles and preview/apply supported Python-library and named-query resource changes with conflict checks and readback verification.
  • Perform scoped legacy tag, definition, script, named-query and alarm operations where supported.

See the complete Tool Reference for names, access classes and limitations. There is no arbitrary Gateway script execution tool. This is a tools-only MCP server; it does not expose MCP resources/prompts. The Gateway UI configures access and displays activity; change previews are returned to the MCP client.

Quick start

  1. Install the signed ignition-mcp.modl through Platform → System → Modules on an Ignition 8.3 development Gateway.
  2. Create an API key under Platform → Security → API Keys.
  3. Open Services → Ignition MCP → Configuration. Under Access & writes, start with Read-only, choose Profiles only, and add a reader profile matching the token name and intended tag/project paths. Click Save changes.
  4. Copy the endpoint from Overview or Connection and configure your Codex or Claude Code client.
  5. Make a scoped read call. For writes, follow the write-access and preview workflow.

The default endpoint is http://localhost:8088/data/ignition-mcp/mcp; use your actual Gateway host, port, HTTPS configuration and saved alias.

Upgrade behavior: writesEnabled defaults to false, including older persisted configurations missing that field. An operator must explicitly allow writes before a committing MCP call can succeed. Global and profile grants combine in the compatibility-default additive mode; profiles-only ignores all global grants. See migration and change semantics.

Documentation

Guide Audience / purpose
User Guide Illustrated installation, first read, scoped permissions, writes and troubleshooting
Gateway UI Section-by-section UI, visual profiles, themes, drafts and save behavior
Client Setup Codex desktop/CLI and Claude Code configuration, authentication and connection checks
Tool Reference All 42 tools, required grant families and supported write surfaces
Change Workflows Bundle format, preview/apply contracts, expiry, conflicts and uncertain outcomes
Inspection Tools Detailed inspection arguments, work budgets, partial results and unsupported formats
MCP Protocol Examples HTTP routes, session headers and JSON-RPC examples
Local Gateway Testing Developer setup and repeatable tests; distinguish read-only from committing runners
Manual Acceptance Workflow Portable synthetic fixture setup and manual Designer acceptance steps
Validation evidence Automated/live results and qualification limits for the release features

Build from source

These docs target the 0.4.0 release. Before packaging it, set moduleVersion in build.gradle.kts to 0.4.0; the release tag must match (v0.4.0). Distribute the signed release artifact, not a development snapshot.

End users installing a built module do not need the build toolchain. Developers need Java 17 and access to the Ignition Maven repositories:

./gradlew test zipModule checksumModl
node --test gateway/src/test/js/mcp-admin.test.cjs
./scripts/sign-module.sh

Outputs:

  • Signed installable module: build/ignition-mcp.modl
  • Unsigned intermediate: build/ignition-mcp.unsigned.modl
  • Packaging/checksum metadata: build/checksum/checksum.json

checksumModl verifies that the packaged common/Gateway JARs match the current build outputs. Signing uses the existing local signing material; the helper creates a self-signed development certificate when none is present. Keep private signing material out of source control. See certificate guidance.

The GitHub build/release workflows build, test, sign and package artifacts. Existing local validation covers the development builds used to implement these features; final release-artifact validation and publication are separate steps. See the validation summary for the exact builds tested.

Supported and unverified boundaries

The code compiles against SDK 8.3.3; selected native integrations and the UI were exercised on Gateway 8.3.9. All 42 tools passed local fixture acceptance against the final signed 0.4.0 artifact, including native binary pipeline configuration readback. These results do not qualify every Ignition patch, custom pipeline body codec, production workload or browser. Reference search is literal rather than a complete dependency resolver, and source readback verifies saved content rather than Python execution or notification delivery. See the validation summary and changelog.