mcp-snap7
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| connect_plcC | Connect to a Siemens PLC. |
| disconnect_plcB | Disconnect from the connected PLC. Returns: Disconnection status message |
| get_connectedA | Check if PLC is connected. Returns: True if connected, False otherwise |
| db_readC | Read data block from PLC. |
| db_writeC | Write data block to PLC. |
| mb_readC | Read memory bytes from PLC. |
| mb_writeB | Write memory bytes to PLC. |
| tm_readC | Read timers from PLC. |
| tm_writeB | Write timers to PLC. |
| ct_readB | Read counters from PLC. |
| ct_writeC | Write counters to PLC. |
| eb_readC | Read edge inputs from PLC. |
| eb_writeB | Write edge inputs to PLC. |
| ab_readC | Read absolute bytes from PLC. |
| ab_writeC | Write absolute bytes to PLC. |
| get_cpu_infoA | Get CPU information from PLC. Returns: Dictionary containing CPU information |
| get_cpu_stateA | Get CPU state from PLC. Returns: CPU state string |
| get_protectionB | Get PLC protection level. Returns: Dictionary containing protection level info |
| plc_cold_startB | Trigger PLC cold start. Returns: Status message |
| plc_hot_startB | Trigger PLC hot start. Returns: Status message |
| plc_stopB | Stop PLC. Returns: Status message |
| get_error_textA | Get error description from error code. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| connection_status | Get current connection status. Returns: Connection status as JSON string |
TDQS
Scored across 22 tools
Each tool has a distinct purpose: connecting/disconnecting, reading/writing specific memory areas, retrieving CPU information, and controlling PLC state. There is no overlap or ambiguity.
All tool names follow a consistent verb_noun pattern with snake_case (e.g., connect_plc, db_read, plc_stop). The naming is predictable and easy to parse.
22 tools is on the higher side but appropriate for the complex domain of PLC interaction, covering multiple memory types and control operations. It feels well-scoped without being bloated.
The tool set provides comprehensive read/write access to common PLC memory areas and basic control functions. Minor gaps like safety operations or additional diagnostics exist, but core workflows are covered.