S7 MCP Bridge
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., "@S7 MCP Bridgecheck the operating mode of PLC1"
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.
S7 MCP Bridge
S7 MCP Bridge is a MCP Server that connects AI agents to Siemens industrial PLCs (specifically S7-1500 and S7-1200 models). This allows AI agents to automatically monitor and control industrial equipment by sending commands and receiving data from the machines.

🔧 Available Tools
User authentication (
Api-Login,Api-Logout,Api-ChangePassword)Check PLC connectivity (
Api-Ping)Retrieve user permissions (
Api-GetPermissions)Get API version (
Api-Version)List available API methods (
Api-Browse)Retrieve structure information (
Api-GetQuantityStructures)Get password security policies (
Api-GetPasswordPolicy)Browse tags and metadata (
PlcProgram-Browse)Read single variables (
PlcProgram-Read)Write Boolean, Number, or String tags (
PlcProgram-Write)Read the current CPU operating mode (
Plc-ReadOperatingMode)Request a change of operating mode (
Plc-RequestChangeOperatingMode)Read the CPU system time (
Plc-ReadSystemTime)Set the CPU system time (
Plc-SetSystemTime)Read available project languages (
Project-ReadLanguages)Browse active alarms (
Alarms-Browse)Acknowledge alarms (
Alarms-Acknowledge)Browse diagnostic buffer entries (
DiagnosticBuffer-Browse)List all configured PLCs via env variables (
List-AvailablePlcs)Create backup file of the CPU (
Plc-CreateBackup)Delete a ticket provided by the system (
Api-CloseTicket)
Related MCP server: OPC UA MCP Server
⚙️ Prerequisites
Node.js (v18.x or later recommended)
npm (comes bundled with Node.js)
Access to a running SIEMENS PLC API (Webserver)
⚙️ Configuration
This server uses environment variables for configuration.
Example env variables:
export PLC_IP_ADDRESSES="192.168.2.200, 192.168.2.201, 192.168.2.202"
export PLC_NAMES="PLC1, PLC2, PLC3" //optional
export MCP_SERVER_PORT=57001 //optional
export TRANSPORT="http-stream" //optional🚀 Getting Started (Development)
Git Clone this repo: https://github.com/cadugrillo/s7-mcp-bridge.git
Navigate to the project folder:
cd s7-mcp-bridgeInstall dependencies:
npm installBuild the project:
npm run buildEdit env variables as shown above.
Start the server
npm run start🐳 Docker Container
There is a Docker Container Image avaiable at https://hub.docker.com/r/cadugrillo/s7-mcp-bridge/tags
How to run
docker run -d -p 57001:57001 -p 57002:57002 -m 512m --memory-swap=512m \
--name s7McpBridge \
-e MCP_SERVER_PORT=57001 \
-e PLC_IP_ADDRESSES="192.168.2.200, 192.168.2.201, 192.168.2.202" \
-e PLC_NAMES="PLC1, PLC2, PLC3" \
cadugrillo/s7-mcp-bridge:latestRemember to change port according to your deployment. When TRANSPORT is set to "http-stream", there is a status page at http://<server-ip-address>:[MCP_SERVER_PORT +1]/status
Available Environment Variables
PLC_IP_ADDRESSES | required | IP addresses of available PLCs separated by comma eg. "192.168.1.10, 192.168.1.20" |
PLC_NAMES | optional | Names of available PLCs separated by comma eg. "Machine1, Machine2" |
MCP_SERVER_PORT | optional | If not set, it defaults to 57001, status page at http://<server-ip-address>:57002/status |
TRANSPORT | optional | It can be "http-stream" or "stdio". If not set it defaults to http-stream |
🖥️ Connecting with Claude Desktop
Install Claude extension (s7-mcp-bridge-vx.x.x.mcpb) found at https://github.com/cadugrillo/s7-mcp-bridge/tree/main/claude_extension.
Or run as a Docker Container choosing from one of the options (stdio or http-stream):
(stdio) Find or create the claude_desktop_config.json file (typically in the Claude app config folder) and add the following:
{
"mcpServers": {
"S7-MCP-Bridge": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"PLC_IP_ADDRESSES=192.168.2.200, 192.168.2.201, 192.168.2.202",
"-e",
"PLC_NAMES=PLC1, PLC2, PLC3",
"-e",
"TRANSPORT=stdio",
"cadugrillo/s7-mcp-bridge:latest"
]
}
}
}(http-stream) Or run the docker container (instructions above) and add the following (remember to change port according to your deployment):
{
"mcpServers": {
"S7-MCP-Bridge": {
"command": "npx",
"args": ["mcp-remote", "http://localhost:57001/mcp"]
}
}
}Or use the following if running locally for development (stdio):
{
"mcpServers": {
"S7-MCP-Bridge": {
"command": "node",
"args": ["path/to/your/index.js"], //`for Windows user proper escape (eg. C:\\path\\to\\your\\index.js)`
"env": {
"PLC_IP_ADDRESSES":"192.168.2.200, 192.168.2.201, 192.168.2.202",
"PLC_NAMES":"PLC1, PLC2, PLC3",
"TRANSPORT": "stdio"
}
}
}
}🪲 Reporting bugs and contributing
Want to report a bug or request a feature? Please open an issue
This server cannot be installed
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-qualityDmaintenanceEnables AI assistants to interact with SIEMENS PLC S7-1500/1200 controllers through their JSON-RPC API, supporting authentication, tag browsing, variable read/write operations, alarm management, and diagnostic buffer access.10
- Alicense-qualityDmaintenanceConnects AI agents to OPC UA-enabled industrial systems for real-time monitoring and control of operational data. It enables users to read, write, and browse industrial device nodes through natural language interactions.MIT
- Flicense-qualityAmaintenanceMCP server that connects AI assistants to Siemens TIA Portal via the Openness API. AI-assisted PLC programming, project management, hardware configuration, cross-reference analysis, and deployment. 16 tools, 166 actions.24
- Flicense-qualityBmaintenanceAn MCP server that lets AI agents interact with Siemens TIA Portal via its Openness API.
Related MCP Connectors
Connect AI agents to bank accounts, transactions, balances, and investments.
Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.
Real physical SIMs for AI agents: SMS verification and rentals. 145+ countries, 2500+ services.
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/cadugrillo/s7-mcp-bridge'
If you have feedback or need assistance with the MCP directory API, please join our Discord server