Provides integration with Inductiveautomation's Ignition SCADA/MES platform through its REST API, enabling AI assistants to manage gateway operations, handle backups, monitor logs, manage modules and projects, and perform license activation tasks.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Ignition MCP Servershow me the current gateway status"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ignition-mcp
A Model Context Protocol (MCP) server that gives AI assistants a curated, developer-oriented interface to the Ignition Gateway REST API.
Built on FastMCP with 37 hand-crafted tools covering gateway management, projects, resources, tag providers, tags, alarms, tag history, and script execution.
Tools
Category | Tools | Backend |
Gateway (6) |
| Native REST |
Projects (8) |
| Native REST |
Project Resources (4) |
| Native REST |
Designers (1) |
| Native REST |
Tag Providers (4) |
| Native REST |
Tag Browse (1) |
| Native REST |
Tag Values (2) |
| WebDev |
Tag Config (6) |
| WebDev |
Alarms (3) |
| WebDev |
Historian (1) |
| WebDev |
Script Execution (1) |
| WebDev |
Requirements
Python 3.10+
Ignition Gateway 8.3+ with REST API enabled
Gateway credentials (API key preferred) or basic auth
Setup
# Install
uv sync
# Configure
cp .env.example .env
# Edit .env with your gateway URL and credentialsEnvironment Variables
All environment variables are prefixed with IGNITION_MCP_:
Variable | Default | Description |
|
| Gateway base URL |
| (empty) | API key auth (preferred over basic auth) |
|
| Basic auth username |
|
| Basic auth password |
|
| Set |
| (empty) | WebDev path for |
| (empty) | WebDev path for tag CRUD |
| (empty) | WebDev path for alarm tools |
| (empty) | WebDev path for |
| (empty) | WebDev path for |
|
| Set |
|
| MCP server bind host |
|
| MCP server port |
Running
# Streamable HTTP (default) — http://localhost:8007/mcp
uv run python mcp_server.py
# stdio transport (for Claude Desktop subprocess mode)
uv run python mcp_server.py --transport stdioClient Configuration
Claude Code (.mcp.json)
{
"mcpServers": {
"ignition-mcp": {
"type": "streamable-http",
"url": "http://localhost:8007/mcp"
}
}
}Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"ignition-mcp": {
"command": "uv",
"args": ["run", "python", "mcp_server.py", "--transport", "stdio"],
"cwd": "/path/to/ignition-mcp",
"env": {
"IGNITION_MCP_IGNITION_GATEWAY_URL": "https://your-gateway:8043",
"IGNITION_MCP_IGNITION_API_KEY": "your-api-key"
}
}
}
}WebDev Prerequisite (tag values, alarms, history, script execution)
Several tools require WebDev module scripts deployed on the target Ignition gateway.
The native REST API (/data/api/v1/) only covers configuration — it does not support
runtime tag reads/writes, alarm queries, historian, or script execution.
Tools that require WebDev endpoints:
Tag values:
read_tags,write_tag→IGNITION_MCP_WEBDEV_TAG_ENDPOINTTag CRUD:
get_tag_config,create_tags,edit_tags,delete_tags,list_udt_types,get_udt_definition→IGNITION_MCP_WEBDEV_TAG_CONFIG_ENDPOINTAlarms:
get_active_alarms,get_alarm_history,acknowledge_alarms→IGNITION_MCP_WEBDEV_ALARM_ENDPOINTHistorian:
get_tag_history→IGNITION_MCP_WEBDEV_TAG_HISTORY_ENDPOINTScript execution:
run_gateway_script→IGNITION_MCP_WEBDEV_SCRIPT_EXEC_ENDPOINT+IGNITION_MCP_ENABLE_SCRIPT_EXECUTION=true
If a WebDev endpoint is not configured, the relevant tools return a clear error with setup instructions. See docs/webdev-setup.md for gateway-side deployment scripts.
Testing
# Unit tests (no live gateway needed)
uv run pytest tests/ -v
# Integration tests (requires running Ignition gateway)
RUN_LIVE_GATEWAY_TESTS=1 uv run pytest tests/test_integration.py -vArchitecture
mcp_server.py # FastMCP entry point, lifespan, arg parsing
src/ignition_mcp/
config.py # Pydantic Settings (IGNITION_MCP_ prefix)
ignition_client.py # Async HTTP client (httpx) for Gateway REST + WebDev
tools/
__init__.py # register_all(mcp) — calls each module
gateway.py # info, health, logs, connections, metrics
projects.py # project CRUD + export/import
resources.py # project resource CRUD (native REST)
designers.py # list_designers
tag_providers.py # tag provider CRUD
tags.py # browse + read/write + CRUD via WebDev
alarms.py # alarm query + ack (WebDev)
historian.py # tag history (WebDev)
execution.py # run_gateway_script (off by default)
tests/
conftest.py # Shared fixtures
test_client.py # IgnitionClient unit tests (mocked httpx)
test_tools.py # Tool logic unit tests (mocked client)
test_integration.py # Live gateway tests (skipped by default)
docs/
webdev-setup.md # WebDev script deployment guide
api-reference.md # Full tool referenceLicense
MIT