Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Snap7

FreeNot checked

Enables MCP clients to connect to and interact with Siemens PLCs via python-snap7, supporting read/write operations on data blocks, memory, timers, counters, an

GitHubEmbed

About

Enables MCP clients to connect to and interact with Siemens PLCs via python-snap7, supporting read/write operations on data blocks, memory, timers, counters, and CPU management.

README

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/

from github.com/daedalus/mcp-snap7

Install Snap7 in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install mcp-snap7

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add mcp-snap7 -- uvx mcp-snap7

FAQ

Is Snap7 MCP free?

Yes, Snap7 MCP is free — one-click install via Unyly at no cost.

Does Snap7 need an API key?

No, Snap7 runs without API keys or environment variables.

Is Snap7 hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Snap7 in Claude Desktop, Claude Code or Cursor?

Open Snap7 on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Snap7 with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs