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.
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