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