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

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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