MCP server for AI agents
OTDeck ships a second small program, otdeck-mcp, that speaks the Model Context Protocol over stdio. An AI agent such as Claude Desktop, Claude Code or Cursor starts it on your computer and can then look at the same brokers, devices and servers you have in OTDeck, with the same saved credentials and the same production rules. Nothing goes through our servers; we have none.
Read-only
- OTDeck 0.1 exposes no write tools: no MQTT publish, no Modbus or OPC UA writes. Agents list, read, browse and sample.
- OTDeck Free: one connection per agent session. Pro and Team: every connection.
- Production connections are read slowly on purpose: one Modbus request (up to 125 registers) or 25 OPC UA nodes per call, at least 500 ms apart.
- Every call is written to the OTDeck log on your computer, and Settings → AI agents shows the running agent sessions.
- Payloads are cut to 4 KB per value before they reach the agent, so a large message cannot flood its context.
- OPC UA server certificates are trusted only in the app, never by the MCP server itself.
Tools
| Tool | What it does |
|---|---|
list_connections | Your saved connections with protocol, role (lab, staging, production), address, Modbus ranges and OPC UA watch list. Never passwords or keys. |
list_topics | MQTT topics seen on a connection, with message counts, rate, retained flag and the last value. |
read_topic | The latest value of an MQTT topic, or of up to 100 topics matching a filter, decoded as JSON, text, hex or Sparkplug B. |
sample_messages | Messages arriving on a topic filter for a few seconds, for "what is this device sending?" |
read_registers | Modbus coils and registers decoded as int16 to float64 or string, with byte and word order; device exceptions in plain words. |
browse | The children of an OPC UA node, from Objects down. |
read_nodes | OPC UA values with data type, status and timestamps. |
trend_snapshot | What is on the app's trend panel over the last 5 minutes: min, max, mean and thinned points per series. |
list_recordings, read_recording | Recordings saved in the app, with statistics and up to 500 points per series. |
Connect an agent
Settings → AI agents in OTDeck shows the exact path of otdeck-mcp and adds it to Claude Code, Cursor or Codex in one click. By hand, for Claude Code:
claude mcp add --scope user otdeck -- /Applications/OTDeck.app/Contents/MacOS/otdeck-mcpFor Claude Desktop on macOS, in claude_desktop_config.json (Settings → Developer → Edit Config):
{
"mcpServers": {
"otdeck": {
"command": "/Applications/OTDeck.app/Contents/MacOS/otdeck-mcp",
"args": []
}
}
}On Windows:
{
"mcpServers": {
"otdeck": {
"command": "C:\\Program Files\\AKStudio\\OTDeck\\otdeck-mcp.exe",
"args": []
}
}
}For VS Code (GitHub Copilot agent mode), in .vscode/mcp.json, here with the Linux path:
{
"servers": {
"otdeck": {
"type": "stdio",
"command": "/usr/bin/otdeck-mcp",
"args": []
}
}
}What you can ask
- "Which topics on the plant broker changed in the last minute, and which look stuck?"
- "Read holding registers 40001–40010 on the press PLC as FLOAT32 and tell me which byte order makes sense."
- "Browse the oven's OPC UA server and list every temperature node with its current value."
Privacy
The agent sees only what the MCP tools return. What it then sends to its own AI provider is governed by that agent and provider, not by OTDeck. For sensitive plants, share only lab or staging connections with agents.
Questions: [email protected]