ignition-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HOST | No | Host for SSE transport | 0.0.0.0 |
| PORT | No | Port for SSE transport | 8080 |
| TRANSPORT | No | Transport mode ('stdio' or 'sse') | stdio |
| GATEWAY_URL | No | URL of the Ignition gateway for live tools | |
| GATEWAY_PASSWORD | No | Password for gateway authentication | |
| GATEWAY_USERNAME | No | Username for gateway authentication |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| pingA | Health check — verify the server is running. |
| get_tagsA | Get tags from an Ignition project, optionally filtered by folder path. Args: project_path: Path to Ignition project directory or .zip export. tag_path: Optional folder path to filter (e.g. "Conveyors/Line1"). provider: Tag provider name (default: "default"). Use list_tag_providers to discover. |
| list_tag_providersA | List all tag provider names in an Ignition project (e.g. 'default', 'edge'). Args: project_path: Path to Ignition project directory or .zip export. |
| list_viewsA | List all Perspective view paths in an Ignition project. Args: project_path: Path to Ignition project directory or .zip export. |
| get_viewA | Get a Perspective view's component tree, bindings, and structure. Args: project_path: Path to Ignition project directory or .zip export. view_path: View path (e.g. "Overview" or "Screens/MotorDetail"). |
| list_scriptsA | List all scripts in an Ignition project with their scope. Args: project_path: Path to Ignition project directory or .zip export. |
| get_scriptA | Get the source code of an Ignition project script. Args: project_path: Path to Ignition project directory or .zip export. script_path: Script resource path (from list_scripts output). |
| list_udtsB | List all UDT (User Defined Type) names in an Ignition project. Args: project_path: Path to Ignition project directory or .zip export. |
| get_udtB | Get UDT definition(s) with member details. Args: project_path: Path to Ignition project directory or .zip export. udt_name: Optional UDT name. If empty, returns all UDTs. |
| list_alarmsB | List all alarm pipeline names in an Ignition project. Args: project_path: Path to Ignition project directory or .zip export. |
| get_alarmA | Get an alarm pipeline's configuration including stages, notifications, and transitions. Args: project_path: Path to Ignition project directory or .zip export. pipeline_name: Alarm pipeline name (from list_alarms output). |
| list_named_queriesA | List all named query names in an Ignition project. Args: project_path: Path to Ignition project directory or .zip export. |
| get_named_queryA | Get a named query's SQL, parameters, database connection, and type. Args: project_path: Path to Ignition project directory or .zip export. query_name: Named query name (from list_named_queries output). |
| read_tagA | Read the current value of one or more tags from a live Ignition gateway. Requires the server to be started with --gateway-url pointing to an Ignition gateway with the WebDev module installed. Args: tag_path: Tag path(s), comma-separated for multiple (e.g. "[default]Conveyors/Line1/Speed"). |
| write_tagA | Write a value to a tag on a live Ignition gateway. DISABLED by default — requires the server to be started with --gateway-url AND --enable-writes. Writing to a live gateway can actuate real equipment. The value is sent as-is; the gateway handles type coercion. Args: tag_path: Full tag path (e.g. "[default]Conveyors/Line1/Speed"). value: Value to write (string representation — gateway coerces to tag data type). |
| execute_scriptA | Execute a Python script on the Ignition gateway and return the result. DISABLED by default — requires the server to be started with --gateway-url AND --enable-writes. Scripts run in gateway scope with access to system.* functions and can change gateway state or actuate equipment. Args: code: Python code to execute on the gateway. |
| get_historyA | Query historical tag data from a live Ignition gateway. Requires the server to be started with --gateway-url and a historian configured on the gateway. Args: tag_path: Full tag path (e.g. "[default]Conveyors/Line1/Speed"). start: Start time as ISO 8601 (e.g. "2026-04-12T00:00:00Z"). end: End time as ISO 8601 (e.g. "2026-04-12T12:00:00Z"). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 17 tools
Most tools target distinct resources (alarms, views, scripts, UDTs, queries, tags) and separate project inspection from live gateway operations. There is minor potential overlap between get_tags and read_tag, and get_udt can return all UDTs when no name is given, but descriptions generally clarify the boundaries.
Tool names consistently use snake_case with predictable verb_noun forms such as list_alarms, get_view, list_named_queries, read_tag, and write_tag. The only non-resource verb is ping, which is a standard health-check name and does not break the overall pattern.
With 17 tools, the server is slightly above the ideal 3–15 range, but the breadth is justified by covering several distinct Ignition resource families plus live gateway operations. Each tool has a clear role, so the count feels reasonable rather than bloated.
The set provides strong read/list coverage for alarms, tags, views, scripts, UDTs, and named queries, plus live read/write/script/history operations. However, there are no create, update, or delete tools for project resources, which leaves notable lifecycle gaps for an Ignition management surface.