Skip to main content
Glama
daedalus

mcp-snap7

mcp-snap7

MCP server for python-snap7, enabling MCP clients to interact with Siemens PLCs

PyPI Python Coverage Ruff

Install

pip install mcp-snap7

Requirements

  • python-snap7 requires the libsnap7 library to be installed on your system. See python-snap7 documentation for installation instructions.

Usage

As MCP Server

Configure your MCP client to use mcp-snap7 as a stdio server:

{
  "mcpServers": {
    "mcp-snap7": {
      "command": "mcp-snap7"
    }
  }
}

Available Tools

  • connect_plc - Connect to a Siemens PLC

  • disconnect_plc - Disconnect from PLC

  • get_connected - Check connection status

  • db_read / db_write - Read/write data blocks

  • mb_read / mb_write - Read/write memory bytes

  • tm_read / tm_write - Read/write timers

  • ct_read / ct_write - Read/write counters

  • eb_read / eb_write - Read/write edge inputs

  • ab_read / ab_write - Read/write absolute bytes

  • get_cpu_info - Get CPU information

  • get_cpu_state - Get CPU state

  • get_protection - Get PLC protection level

  • plc_cold_start - Trigger cold start

  • plc_hot_start - Trigger hot start

  • plc_stop - Stop PLC

  • get_error_text - Get error description

Development

git clone https://github.com/daedalus/mcp-snap7.git
cd mcp-snap7
pip install -e ".[test]"

# run tests
pytest

# format
ruff format src/ tests/

# lint
ruff check src/ tests/

# type check
mypy src/
Install Server
A
license - permissive license
B
quality
B
maintenance

Maintenance

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

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/daedalus/mcp-snap7'

If you have feedback or need assistance with the MCP directory API, please join our Discord server