IndustriConnect
Connect any device to AI Agents (Claude, codex etc.) via MCP servers. Modbus, OPC UA, PROFINET, EtherNet/IP, EtherCAT, PROFIBUS, S7comm, BACnet, DNP3 and MQTT.
Install / Use
claude mcp add IndustriAgents -- npx -y github:IndustriAgents/IndustriConnectIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
AutomationSupported Platforms
Our assessment of IndustriConnect
IndustriConnect scores 83/100 on our quality scale, 2216th of 2,900 Automation skills we index.
Its MCP Server is 13 KB long, well organised into 12 sections with 3 code examples: a thorough specification that gives an agent plenty to work with.
It has 10 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated 3 days ago, so IndustriConnect is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 97/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands.
Automated pattern scan on 2026-10-19. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
IndustriConnect compared with similar skills
All 4 of these similar skills score higher than IndustriConnect; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| IndustriConnect (this skill)by IndustriAgents | 83 | 10 | 3d ago | MCP Server |
| Agent-Reachby Panniantong | 100 | 99.2k | 3d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 75.9k | 1d ago | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.5k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 88.6k | today | MCP Server |
Frequently asked questions
- How do I install IndustriConnect?
- Run
claude mcp add IndustriAgents -- npx -y github:IndustriAgents/IndustriConnect. The install tabs above show the steps for each supported agent. - Which AI agents does IndustriConnect work with?
- It is written for Claude Code, Claude Desktop and OpenAI Codex, as a MCP Server file. Other agents that read the same format can often use it too.
- Is IndustriConnect safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. It is MIT-licensed and scores 97/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is IndustriConnect still maintained?
- The repository was last updated 3 days ago, so IndustriConnect is actively maintained.
Skill content
View source on GitHubIndustriConnect MCP Suite
A collection of Model Context Protocol (MCP) servers and tools for industrial automation protocols. The suite lets AI assistants and other MCP‑compatible clients talk to real (or simulated) PLCs and control systems using familiar protocols like Modbus, MQTT/Sparkplug B, OPC UA, BACnet, DNP3, EtherCAT, EtherNet/IP, PROFIBUS, PROFINET, and Siemens S7 (S7comm).
This repository brings the suite together. Each protocol server is developed in its own repository under IndustriAgents and pinned here as a git submodule, alongside mcp-manager-ui and the whitepaper.
All protocol stacks follow the same pattern:
- A Python MCP server that exposes a consistent set of tools over stdio
- A mock device/server that simulates a realistic industrial process for safe local testing
- A shared response envelope:
{ success, data, error, meta }
The mcp-manager-ui project adds a web UI for working with these servers and other MCP backends from a single place.
Repository Layout
Top‑level structure:
IndustriConnect/
├── BACnet-Project/ # submodule -> IndustriAgents/BACnet-MCP
├── DNP3-Project/ # submodule -> IndustriAgents/DNP3-MCP
├── EtherCAT-Project/ # submodule -> IndustriAgents/EtherCAT-MCP
├── EtherNetIP-Project/ # submodule -> IndustriAgents/EtherNetIP-MCP
├── MODBUS-Project/ # submodule -> IndustriAgents/MODBUS-MCP
├── MQTT-Project/ # submodule -> IndustriAgents/MQTT-MCP
├── OPCUA-Project/ # submodule -> IndustriAgents/OPCUA-MCP
├── PROFIBUS-Project/ # submodule -> IndustriAgents/PROFIBUS-MCP
├── PROFINET-Project/ # submodule -> IndustriAgents/PROFINET-MCP
├── S7comm-Project/ # submodule -> IndustriAgents/S7comm-MCP
├── mcp-manager-ui/ # Web UI for managing MCP servers and LLMs
└── whitepaper/ # Architecture and design background
Every *-Project/ folder is a git submodule, so it stays empty until you
initialise it. The cloning note under
Quick Start explains how. Each submodule tracks
the main branch of its repository. Every hour the
Sync protocol submodules workflow
opens or updates one pull request that moves the pins forward. A protocol
repository that sends a protocol-mcp-updated dispatch when its main moves
gets picked up straight away.
Updates reach the suite after that pull request is merged. To refresh an
existing local checkout, run these commands from the suite's main branch:
git pull --ff-only
git submodule update --init --recursive
Separate development checkouts, such as those under Connect-MCPs/, do not
share working files with these submodules. Commit and merge protocol changes
into their own repository's main branch before the sync can pick them up.
Each protocol repository has:
*-python/– Python MCP server (uv+mcp[cli]or FastMCP)*-mock-*– Mock device or server that simulates a plant/processREADME.md– Protocol‑specific docs and quickstart
OPC UA is laid out differently. OPCUA-Project/ keeps everything under
packages/: server-python, server-node, mock-server and a few
specialised mocks. Its README covers all of them.
Note: The suite is Python‑first, with a consistent layout and tooling across all protocols. Earlier TypeScript/Node implementations have been removed, except for OPC UA's
packages/server-node, which serves the same tool contract as its Python counterpart.
What Is MCP and Why Here?
The Model Context Protocol (MCP) is a simple, transport‑agnostic way to expose tools and data sources to AI assistants over stdio. In this suite, MCP servers act as protocol‑aware “gateways” between an assistant and industrial systems:
- MCP client (e.g., Claude Desktop, mcp-manager-ui, or another MCP runner)
- ↔ MCP server (e.g., Modbus, OPC UA, S7comm)
- ↔ Industrial device / mock device
This separation keeps:
- Industrial protocol logic in focused Python projects
- Conversation and UX in clients like Claude or
mcp-manager-ui
You can safely develop and test flows against mocks before connecting to real PLCs or field devices.
Projects Overview
High‑level summary of each protocol project, with the repository it is developed in:
MODBUS-Project/— git submodule tracking IndustriAgents/MODBUS-MCP- modbus-python – Modbus TCP/UDP/RTU client wrapped as an MCP server
- modbus-mock-server – Mock Modbus TCP device with a realistic register map
MQTT-Project/— git submodule tracking IndustriAgents/MQTT-MCP- mqtt-python – MQTT + Sparkplug B MCP server (publish, subscribe, Sparkplug lifecycle)
- mqtt-mock-server – Sparkplug edge nodes; requires a separate MQTT broker such as Mosquitto
OPCUA-Project/— git submodule tracking IndustriAgents/OPCUA-MCP- packages/server-python – OPC UA MCP server (read/write nodes, browse, methods, bulk operations)
- packages/server-node – the same tool contract on Node, published to npm
- packages/mock-server – Rich mock OPC UA server simulating an industrial plant
BACnet-Project/— git submodule tracking IndustriAgents/BACnet-MCP- bacnet-python – BACnet/IP MCP server
- bacnet-mock-device – Mock BACnet device for discovery and property access tests
DNP3-Project/— git submodule tracking IndustriAgents/DNP3-MCP- dnp3-python – DNP3 master MCP server
- dnp3-mock-outstation – Mock DNP3 outstation
EtherCAT-Project/— git submodule tracking IndustriAgents/EtherCAT-MCP- ethercat-python – EtherCAT MCP server (PySOEM‑based)
- ethercat-mock-slave – Mock EtherCAT slave for local smoke tests
EtherNetIP-Project/— git submodule tracking IndustriAgents/EtherNetIP-MCP- ethernetip-python – EtherNet/IP MCP server (Rockwell/AB controllers)
- ethernetip-mock-server – JSON bridge with representative tags/UDTs; enable
ENIP_JSON_BRIDGEfor this mock
PROFIBUS-Project/— git submodule tracking IndustriAgents/PROFIBUS-MCP- profibus-python – Mock backend and GSD parsing; real DP master is not implemented
- profibus-mock-slave – TCP mock; use
PROFIBUS_BACKEND=mock
PROFINET-Project/— git submodule tracking IndustriAgents/PROFINET-MCP- profinet-python – Network DCP discovery and GSDML parsing; I/O and configuration use the mock backend
- profinet-mock-server – JSON mock IO device; use
PROFINET_BACKEND=mock
S7comm-Project/— git submodule tracking IndustriAgents/S7comm-MCP- s7comm-python – Siemens S7 (S7comm) MCP server using
python-snap7 - s7comm-mock-server – Mock Siemens PLC for DB/I/O/SZL testing
- s7comm-python – Siemens S7 (S7comm) MCP server using
mcp-manager-ui/- React + TypeScript web UI for:
- Connecting to multiple local/remote MCP servers
- Chatting with LLMs using those tools
- Inspecting tool schemas and responses
- React + TypeScript web UI for:
For details and protocol‑specific examples, open the README.md in each project directory, or on the project's repository.
Modbus, MQTT, BACnet, DNP3, EtherCAT, EtherNet/IP, PROFIBUS, PROFINET and S7
writes are disabled by default. Enable their documented switches through the
process environment or an explicit --env-file; automatic project .env
loading does not enable write gates. Keep the defaults for read-only use.
Common Design Patterns
Across all protocol servers:
-
Transport: stdio MCP servers, usually run via
uv run <entrypoint> -
Config: environment variables and optional
.envfiles (e.g., host, port, timeouts) -
Envelope: tools return a consistent shape:
{ "success": true, "data": { "...": "protocol-specific payload" }, "error": null, "meta": { "latency_ms": 12, "raw": {} } } -
Mocks first: every stack ships with a mock device/server so you can:
- Develop prompts and workflows safely
- Debug tools without needing access to production hardware
- Reproduce issues deterministically
Quick Start (Example: Modbus)
Cloning: every
*-Project/folder is a git submodule. Clone withgit clone --recurse-submodules https://github.com/IndustriAgents/IndustriConnect.git, or rungit submodule update --init --recursivein an existing clone. To move every protocol server to the latestmainof its repository, rungit submodule update --remote. To move just one, name it, for examplegit submodule update --remote MODBUS-Project. Runninggit submodule updatewithout--remotereturns them to the commits this repository pins.
-
Start the Modbus mock device
cd MODBUS-Project/modbus-mock-server uv sync uv run modbus-mock-server # listens on 0.0.0.0:1502 -
Run the Modbus MCP server
cd ../modbus-python export MODBUS_TYPE=tcp export MODBUS_HOST=127.0.0.1 export MODBUS_PORT=1502 export MODBUS_DEFAULT_SLAVE_ID=1 uv sync uv run modbus-mcp -
Wire it into Claude Desktop (or another MCP client)
Example
claude_desktop_config.jsonsnippet:{ "mcpServers": { "Modbus MCP (Python)": { "command": "uv", "args": ["--directory", "/absolute/path/to/IndustriConnect/MODBUS-Project/modbus-python", "run", "modbus-mcp"], "env": { "MODBUS_TYPE": "tcp", "MODBUS_HOST": "127.0.0.1", "MODBUS_PORT": "1502", "MODBUS_DEFAULT_SLAVE_ID": "1" } } } } -
Ask the assistant to use the tools
Once connected, you can say things like:
- “Read the first 10 holding registers from the mock Modbus device.”
- “Increase the pump speed setpoint to 60%.”
Replace the paths and environment variables for other protocols; each project’s README contains protocol‑specific examples and configuration.
mcp-manager-ui
The mcp-manager-ui project provides a browser UI for:
- Managing MCP backends (including these protocol servers)
- Testing tools interactively
- Running conversations against one or more MCP servers
See mcp-manager-ui/README.md for installation and usage instructions.
Whitepaper and Architecture
For a deeper dive into the motivation, architecture, and design decisions behind this suite (including security, safety, and roadmap), see:
whitepaper/– high‑level whitepaper for the IndustriConnect MCP suite
Contributing
Contributions are welcome — new tools or wider coverage in an existing protocol, better mocks and test scenarios, documentation and examples, or a protocol the suite does not cover yet.
Each protocol server is developed in its own repository, so issues and pull
requests for a server or its mock go there. This repository takes changes to
mcp-manager-ui, the whitepaper, the suite-wide docs and the submodule pins.
CONTRIBUTING.md lists the protocol repositories and covers the layout every protocol project follows, how to run a server against its mock, and the three invariants that keep all ten consistent
Truncated for display — read the full file on GitHub.
Related Skills
Agent-Reach
99.2kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
75.9kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.5kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Scrapling
88.6k🕷️ A Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
