plc-mcp-server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@plc-mcp-serverWhat are the current alarm statuses on the main line?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
PLC MCP Server
A Model Context Protocol (MCP) server for industrial PLC integration. Enables AI assistants to read tags, monitor alarms, and interact with Allen-Bradley ControlLogix PLCs using natural language.
Features
🏭 Tag Operations - Read/write PLC tags
🚨 Alarm Management - View and acknowledge alarms
📊 Diagnostics - PLC status, I/O health, connection info
🔒 Safety First - Read-only by default, write whitelist, audit logging
🔌 MCP Standard - Works with Claude Desktop, Cursor, and any MCP client
Related MCP server: wago-plc-mcp-server
Quick Start
# Install dependencies
pip install -r requirements.txt
# Configure your PLC connection
cp config.example.yaml config.yaml
# Edit config.yaml with your PLC IP and settings
# Run the server (stdio mode for MCP)
python -m plc_mcp_server
# Or run in HTTP/SSE mode
python -m plc_mcp_server --transport sse --port 8080Claude Desktop Configuration
Add to claude_desktop_config.json:
{
"mcpServers": {
"plc": {
"command": "python",
"args": ["-m", "plc_mcp_server"],
"cwd": "/path/to/plc-mcp-server"
}
}
}Project Structure
plc-mcp-server/
├── plc_mcp_server/
│ ├── __init__.py
│ ├── __main__.py # Entry point
│ ├── server.py # MCP server implementation
│ ├── plc/
│ │ ├── __init__.py
│ │ ├── client.py # PLC connection manager
│ │ ├── allen_bradley.py # ControlLogix driver
│ │ ├── siemens.py # S7 driver (future)
│ │ └── modbus.py # Modbus driver (future)
│ ├── tools/
│ │ ├── __init__.py
│ │ ├── tags.py # Tag read/write tools
│ │ ├── alarms.py # Alarm tools
│ │ └── diagnostics.py # Status/diagnostic tools
│ ├── resources/
│ │ ├── __init__.py
│ │ └── tag_database.py # Tag list resource
│ └── safety/
│ ├── __init__.py
│ ├── whitelist.py # Write permission control
│ └── audit.py # Audit logging
├── config.example.yaml
├── requirements.txt
├── pyproject.toml
└── tests/
└── ...Safety
This server controls industrial equipment. Safety is paramount.
Read-only mode by default (
allow_writes: false)Tag whitelist for write operations
All operations logged to audit trail
Confirmation required for writes (via MCP confirmation flow)
License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceAn MCP server that interfaces with SIEMENS WinCC Unified SCADA systems via GraphQL to manage real-time and historical tag data. It enables AI assistants to browse SCADA objects, read or write tag values, and perform alarm management tasks such as fetching, acknowledging, and resetting alarms.Last updated6
- Flicense-qualityBmaintenanceMCP server that connects WAGO PLCs to LLM agents via the WDx/WDA REST API, enabling AI assistants to read sensor values, change configuration, trigger firmware updates, or monitor entire PLC fleets without custom code.Last updated2
- AlicenseBqualityBmaintenanceMCP server that enables AI agents to read, edit, and create PLC projects in EcoStruxure Control Expert via COM automation.Last updated52MIT
- Alicense-qualityDmaintenanceAn open-source MCP server that bridges AI models with industrial equipment, supporting multiple protocols like Modbus, OPC UA, and MQTT for reading data and controlling machines.Last updated2Apache 2.0
Related MCP Connectors
Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.
MCP server for AI dialogue using various LLM models via AceDataCloud
GibsonAI MCP server: manage your databases with natural language
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/OlubunmiAde/plc-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server