S7 MCP Bridge
Click on "Deploy 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 deployed
Maintenance
Related MCP Connectors
Protocol-native energy infrastructure orchestration for AI data centers. Provides 46 MCP tools across 8 grid protocols (IEC-61850, DNP3, Modbus, OCPP, OpenADR, IEEE 2030.5, IEC 60870-5-104, ICCP) with 5 core API primitives: connect, dispatch, settle, comply, and intel. Enables AI agents to programmatically interact with substations, grid interfaces, and energy assets for real-time workload-grid coordination.
Connect AI agents to Process Street workflows, tasks, runs, data sets, and operational records.
- BankSyncOAuthio.banksync
Connect AI agents to bank accounts, transactions, balances, and investments.
- mcp-serverOAuthcom.make
Give your AI agents the tools to build, manage, and run automation workflows.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables 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.11-
- AlicenseNot gradedqualityDmaintenanceConnects 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
- FlicenseNot gradedqualityAmaintenanceMCP 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. 19 tools, 230 actions.35-
- FlicenseNot gradedqualityBmaintenanceAn MCP server that lets AI agents interact with Siemens TIA Portal via its Openness API.-