Skip to main content
Glama
WhiskeyHouse

Ignition MCP Server

by WhiskeyHouse

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)

get_gateway_info, get_module_health, get_gateway_logs, get_database_connections, get_opc_connections, get_system_metrics

Native REST

Projects (8)

list_projects, get_project, create_project, delete_project, copy_project, rename_project, export_project, import_project

Native REST

Project Resources (4)

list_project_resources, get_project_resource, set_project_resource, delete_project_resource

Native REST

Designers (1)

list_designers

Native REST

Tag Providers (4)

list_tag_providers, get_tag_provider, create_tag_provider, delete_tag_provider

Native REST

Tag Browse (1)

browse_tags

Native REST

Tag Values (2)

read_tags, write_tag

WebDev

Tag Config (6)

get_tag_config, create_tags, edit_tags, delete_tags, list_udt_types, get_udt_definition

WebDev

Alarms (3)

get_active_alarms, get_alarm_history, acknowledge_alarms

WebDev

Historian (1)

get_tag_history

WebDev

Script Execution (1)

run_gateway_script (disabled by default)

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 credentials

Environment Variables

All environment variables are prefixed with IGNITION_MCP_:

Variable

Default

Description

IGNITION_MCP_IGNITION_GATEWAY_URL

http://localhost:8088

Gateway base URL

IGNITION_MCP_IGNITION_API_KEY

(empty)

API key auth (preferred over basic auth)

IGNITION_MCP_IGNITION_USERNAME

admin

Basic auth username

IGNITION_MCP_IGNITION_PASSWORD

password

Basic auth password

IGNITION_MCP_SSL_VERIFY

true

Set false for self-signed certs

IGNITION_MCP_WEBDEV_TAG_ENDPOINT

(empty)

WebDev path for read_tags/write_tag

IGNITION_MCP_WEBDEV_TAG_CONFIG_ENDPOINT

(empty)

WebDev path for tag CRUD

IGNITION_MCP_WEBDEV_ALARM_ENDPOINT

(empty)

WebDev path for alarm tools

IGNITION_MCP_WEBDEV_TAG_HISTORY_ENDPOINT

(empty)

WebDev path for get_tag_history

IGNITION_MCP_WEBDEV_SCRIPT_EXEC_ENDPOINT

(empty)

WebDev path for run_gateway_script

IGNITION_MCP_ENABLE_SCRIPT_EXECUTION

false

Set true to enable run_gateway_script

IGNITION_MCP_SERVER_HOST

127.0.0.1

MCP server bind host

IGNITION_MCP_SERVER_PORT

8007

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 stdio

Client 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_tagIGNITION_MCP_WEBDEV_TAG_ENDPOINT

  • Tag CRUD: get_tag_config, create_tags, edit_tags, delete_tags, list_udt_types, get_udt_definitionIGNITION_MCP_WEBDEV_TAG_CONFIG_ENDPOINT

  • Alarms: get_active_alarms, get_alarm_history, acknowledge_alarmsIGNITION_MCP_WEBDEV_ALARM_ENDPOINT

  • Historian: get_tag_historyIGNITION_MCP_WEBDEV_TAG_HISTORY_ENDPOINT

  • Script execution: run_gateway_scriptIGNITION_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 -v

Architecture

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 reference

License

MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/WhiskeyHouse/ignition-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server