Skip to main content
Glama
cadugrillo

S7 MCP Bridge

by cadugrillo

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)

  1. Git Clone this repo: https://github.com/cadugrillo/s7-mcp-bridge.git

  2. Navigate to the project folder:

cd s7-mcp-bridge
  1. Install dependencies:

npm install
  1. Build the project:

npm run build
  1. Edit env variables as shown above.

  2. 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:latest

Remember 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

  1. Install Claude extension (s7-mcp-bridge-vx.x.x.mcpb) found at https://github.com/cadugrillo/s7-mcp-bridge/tree/main/claude_extension.

  2. 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"]
    }
  }
}
  1. 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

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

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

  • F
    license
    -
    quality
    D
    maintenance
    Enables 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
  • A
    license
    -
    quality
    D
    maintenance
    Connects 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
  • F
    license
    -
    quality
    A
    maintenance
    MCP 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

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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