点火微控制器
A. 模型上下文协议(MCP) 为AI助手提供精心策划的服务器, 面向开发人员的界面 点火网关REST API.
建立在 FastMCP 37个手工制作的工具 涵盖网关管理、项目、资源、标签提供者、标签、警报、, 标签历史和脚本执行。
工具
| 类别 | 工具 | 后端 |
|---|---|---|
| 网关(6) | get_gateway_info, get_module_health, get_gateway_logs, get_database_connections, get_opc_connections, get_system_metrics | 本机REST |
| 项目(8) | list_projects, get_project, create_project, delete_project, copy_project, rename_project, export_project, import_project | 本机REST |
| 项目资源(4) | list_project_resources, get_project_resource, set_project_resource, delete_project_resource | 本机REST |
| 设计师(1) | list_designers | 本机REST |
| 标签提供商(4) | list_tag_providers, get_tag_provider, create_tag_provider, delete_tag_provider | 本机REST |
| 标签浏览(1) | browse_tags | 本机REST |
| 标签值(2) | read_tags, write_tag WebDev。 | |
| 标签配置(6) | get_tag_config, create_tags, edit_tags, delete_tags, list_udt_types, get_udt_definition WebDev。 | |
| 警报(3) | get_active_alarms, get_alarm_history, acknowledge_alarms WebDev。 | |
| 历史学家(1) | get_tag_history WebDev。 | |
| 脚本执行(1) | run_gateway_script (默认情况下禁用) | WebDev |
需求
- Python 3.10+
- 点火网关8.3+,启用REST API
- 网关凭据(首选API密钥)或基本身份验证
设置
# Install
uv sync
# Configure
cp .env.example .env
# Edit .env with your gateway URL and credentials环境变量
所有环境变量都以前缀 IGNITION_MCP_:
| 变量 | 默认值 | 描述 |
|---|---|---|
IGNITION_MCP_IGNITION_GATEWAY_URL | http://localhost:8088 | 网关基本URL |
IGNITION_MCP_IGNITION_API_KEY | *(空)* | API密钥身份验证(优先于基本身份验证) |
IGNITION_MCP_IGNITION_USERNAME | admin | 基本身份验证用户名 |
IGNITION_MCP_IGNITION_PASSWORD | password | 基本身份验证密码 |
IGNITION_MCP_SSL_VERIFY | true | 设置 false 用于自签名证书 |
IGNITION_MCP_WEBDEV_TAG_ENDPOINT | *(空)* | WebDev路径 read_tags/write_tag |
IGNITION_MCP_WEBDEV_TAG_CONFIG_ENDPOINT | *(空)* | 标记CRUD的WebDev路径 |
IGNITION_MCP_WEBDEV_ALARM_ENDPOINT | *(空)* | 报警工具的WebDev路径 |
IGNITION_MCP_WEBDEV_TAG_HISTORY_ENDPOINT | *(空)* | WebDev路径 get_tag_history |
IGNITION_MCP_WEBDEV_SCRIPT_EXEC_ENDPOINT | *(空)* | WebDev路径 run_gateway_script |
IGNITION_MCP_ENABLE_SCRIPT_EXECUTION | false | 设置 true 启用 run_gateway_script |
IGNITION_MCP_SERVER_HOST | 127.0.0.1 | MCP服务器绑定主机 |
IGNITION_MCP_SERVER_PORT | 8007 | MCP服务器端口 |
跑步
# 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客户端配置
克劳德代码(.mcp.json)
{
"mcpServers": {
"ignition-mcp": {
"type": "streamable-http",
"url": "http://localhost:8007/mcp"
}
}
}克劳德桌面(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先决条件(标记值、警报、历史记录、脚本执行)
需要几个工具 WebDev模块脚本 部署在目标点火网关上。 本机REST API(/data/api/v1/)仅涵盖配置,不支持 运行时标签读/写、报警查询、历史记录或脚本执行。
需要WebDev端点的工具:
- 标签值:
read_tags,write_tag→IGNITION_MCP_WEBDEV_TAG_ENDPOINT - 标记CRUD:
get_tag_config,create_tags,edit_tags,delete_tags,list_udt_types,get_udt_definition→IGNITION_MCP_WEBDEV_TAG_CONFIG_ENDPOINT - 警报:
get_active_alarms,get_alarm_history,acknowledge_alarms→IGNITION_MCP_WEBDEV_ALARM_ENDPOINT - 历史学家:
get_tag_history→IGNITION_MCP_WEBDEV_TAG_HISTORY_ENDPOINT - 脚本执行:
run_gateway_script→IGNITION_MCP_WEBDEV_SCRIPT_EXEC_ENDPOINT+IGNITION_MCP_ENABLE_SCRIPT_EXECUTION=true
如果未配置WebDev端点,相关工具将返回一个带有设置说明的明确错误。 看 docs/webdev-setup.md 用于网关端部署脚本。
测试
# 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建筑
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许可证
麻省理工学院
