Описание
MCP Server PCS7 and Step 7
README
Server MCP (Model Context Protocol) per SIMATIC PCS 7 / STEP 7 V5.x: permette a un assistente come Claude Code di leggere e — se abilitato — modificare un progetto PCS 7 attraverso l'interfaccia di comando di SIMATIC Manager, il database dei chart CFC e il server OPC UA di OpenPCS 7.
Non esiste un server MCP ufficiale Siemens per PCS 7: questo è nato per lavorare su progetti reali (analisi di programmi AS, export di sorgenti e simboli, lettura dei chart CFC, migrazioni verso TIA Portal).
Sviluppato e provato su PCS 7 V10.0 SP1 / STEP 7 V5.7, Windows 10/11 x64.
Funziona in due modi:
- locale: PCS 7 è installato sullo stesso PC di Claude Code;
- remoto: PCS 7 è su un'altra macchina, tipicamente una VM. Lì si installa Pcs7Agent (da Windows 7 SP1 a Windows 11 / Server 2022), e il server MCP sul PC gli inoltra le operazioni via HTTP con un token. Guida completa: docs/agente-remoto.md.
Cosa sa fare
Lettura — elenco progetti e multiprogetti, struttura di stazioni e programmi, elenco di blocchi,
sorgenti e chart, proprietà degli oggetti, codice dei blocchi offline (AWL generato da GenerateSource),
export di sorgenti, simboli, configurazione hardware e struttura di richiamo, stato CPU online,
contenuto completo dei chart CFC (blocchi, pin, valori, interconnessioni, tag) e lettura di variabili via OPC UA.
Scrittura (solo con --access-mode read-write, sempre con anteprima e conferma esplicita) —
import e compilazione di sorgenti, compilazione dei chart e dell'hardware, import di simboli e stazioni,
proprietà degli oggetti, salvataggio del progetto, scrittura di una variabile OPC UA.
Escluso di proposito: download nel PLC, avvio/arresto CPU, cancellazione di oggetti, memory card, comandi H-System. Sono operazioni ad alto rischio su impianto e vanno fatte da SIMATIC Manager.
L'elenco completo degli strumenti è in docs/pcs7-mcp.md.
Come è fatto
- Pcs7Core (
src/Pcs7Core): tutta la logica PCS 7, compilata sia per .NET 8 (server in modalità locale) sia per .NET Framework 4.8 (agente). Un unico dispatcher esegue le operazioni per nome, con gli stessi nomi dei tool MCP, e rifiuta le scritture se la macchina PCS 7 è in sola lettura. - Pcs7McpServer (
src/Pcs7Mcp): server MCP stdio per Claude Code; esegue le operazioni in-process oppure le inoltra all'agente (--agent). - Pcs7Agent (
src/Pcs7Agent): agente per la macchina PCS 7 con icona nella tray, endpoint HTTP con token e installer integrato. - Engineering: interfaccia di comando COM
Simatic.Simatic(S7ABATCX.DLL), in-process a 32 bit: per questo il server è compilato x86. Tutte le chiamate COM passano da un unico thread STA. - Hardware: interfacce
S7HCOM_X(stazioni, rack, moduli, indirizzi, export/import.cfg). - CFC: lettura diretta del database dei chart tramite l'API interna
s7jdbmox.dll, in un processo figlio separato (Pcs7CfcReader), in sola lettura: la transazione viene sempre annullata, mai confermata. Le firme delle funzioni sono state ricavate per disassemblaggio e sono documentate in docs/cfc-db-api.md. Non essendo un'API pubblica Siemens, vanno riverificate a ogni aggiornamento di PCS 7. - Runtime: client OPC UA verso
OpcUaServerOpenPCS7(porta 4863 per impostazione predefinita).
Requisiti
- PCS 7 / STEP 7 V5.x installato sulla macchina che esegue le operazioni (le interfacce COM sono locali): lo stesso PC in modalità locale, la VM con Pcs7Agent in modalità remota
- Sulla VM: .NET Framework 4.8 (Windows 7 SP1 ... 11, Server 2008 R2 SP1 ... 2022, 32 o 64 bit)
- .NET 8 SDK per compilare (
winget install Microsoft.DotNet.SDK.8) - Per i chart CFC: editor CFC del progetto chiuso durante la lettura
- Per OPC UA: runtime OS attivo e servizio
OpcUaServerOpenPCS7avviato
Test
dotnet test tests\Pcs7Tests
I test non richiedono PCS 7 né diritti di amministratore. Verificano:
- che i tool dichiarino tutti e quattro gli hint MCP (
readOnly,destructive,idempotent,openWorld) coerenti con quello che fanno, e che i tool di scrittura mostrino solo l'anteprima senzaconfirm; - che ogni tool invii la propria operazione con argomenti accettati dal dispatcher;
- che la sola lettura blocchi ogni scrittura e che i percorsi restino confinati nella cartella di lavoro;
- il client remoto contro un finto agente HTTP: upload, download degli export, errori, date conservate.
Se sulla macchina è installato SIMATIC, i test che eseguirebbero operazioni vere si saltano da soli.
Compilazione
.\build.ps1
Produce:
release\→Pcs7McpServer.exeper il PC (self-contained, .NET 8 x86) ecfcreader\per la modalità locale;release\agent\Pcs7Agent-<versione>.zip→ pacchetto da copiare sulla VM (setup.cmd,LEGGIMI.txt).
La cartella release/ di questo pacchetto contiene già il risultato della compilazione, utile per provarlo
senza compilare.
Registrazione in Claude Code
In %USERPROFILE%\.claude.json:
{
"mcpServers": {
"pcs7": {
"type": "stdio",
"command": "C:\\percorso\\pcs7-mcp\\release\\Pcs7McpServer.exe",
"args": ["--access-mode", "read-write"]
}
}
}
Senza --access-mode il server parte in sola lettura.
Con PCS 7 su una VM si aggiungono l'indirizzo dell'agente e il token (vedi docs/agente-remoto.md):
"args": ["--access-mode", "read-only", "--agent", "http://192.168.56.10:8765"],
"env": { "PCS7_MCP_AGENT_TOKEN": "<token mostrato dall'agente sulla VM>" }
| Argomento | Variabile d'ambiente | Default |
|---|---|---|
--access-mode read-only|read-write |
PCS7_MCP_ACCESS_MODE |
read-only |
--workdir <dir> |
PCS7_MCP_WORKDIR |
%LOCALAPPDATA%\pcs7-mcp\export |
--opcua-endpoint <url> |
PCS7_MCP_OPCUA_ENDPOINT |
opc.tcp://localhost:4863 (solo modalità locale) |
--agent <url> |
PCS7_MCP_AGENT_URL |
vuoto = modalità locale |
--agent-token <token> |
PCS7_MCP_AGENT_TOKEN |
obbligatorio con --agent |
--agent-timeout <minuti> |
PCS7_MCP_AGENT_TIMEOUT |
30 |
| – | PCS7_MCP_OPCUA_USER, PCS7_MCP_OPCUA_PASSWORD |
accesso anonimo |
| – | PCS7_MCP_OPCUA_SECURITY=none |
prima si tenta un endpoint sicuro |
Export, log e file generati finiscono nella cartella di lavoro, in una sottocartella per progetto.
Struttura del pacchetto
src/Pcs7Core/ logica PCS 7 condivisa (net48 + net8, x86)
src/Pcs7Mcp/ server MCP (.NET 8, x86), modalità locale o remota
src/Pcs7Agent/ agente per la VM PCS 7 (.NET Framework 4.8, x86) + setup.cmd
src/Pcs7CfcReader/ lettore del database CFC (.NET Framework 4.8, x86)
tests/Pcs7Tests/ test automatici (xUnit, senza PCS 7)
build.ps1 compila tutto in release/
release/ binari già pubblicati (release/agent/ = zip per la VM)
docs/agente-remoto.md installazione e funzionamento con PCS 7 su VM
docs/pcs7-mcp.md architettura, elenco strumenti, note operative e test eseguiti
docs/cfc-db-api.md firme dell'API interna del database CFC
Avvertenze
- Il server agisce su progetti di automazione reali. La modalità di scrittura compila e salva sul progetto aperto: usarla solo su copie o con un backup.
opc_writescrive sul processo in esercizio: l'anteprima mostra il valore attuale e l'operazione richiede una conferma esplicita.- L'accesso al database CFC usa un'API Siemens non documentata. È in sola lettura, ma resta una scelta a proprio rischio.
- Progetto indipendente, non affiliato né supportato da Siemens. SIMATIC, PCS 7, STEP 7 e WinCC sono marchi di Siemens AG.
Licenza
MIT. Le librerie di terze parti incluse in release/ hanno licenze proprie, elencate in
THIRD-PARTY-NOTICES.md.
Установка PCS7
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/m1rk0z/MCP-Server-PCS7FAQ
PCS7 MCP бесплатный?
Да, PCS7 MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для PCS7?
Нет, PCS7 работает без API-ключей и переменных окружения.
PCS7 — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить PCS7 в Claude Desktop, Claude Code или Cursor?
Открой PCS7 на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Unyly Deploy
Deploy sites and MCP servers to Unyly straight from your AI agent
автор: UnylyAmap Maps Mcp Server
MCP server for using the AMap Maps API
автор: duxiaohuiPayMCP
Lightweight payments layer for MCP servers: turn tools into paid endpoints with a two-line decorator. [PyPI](https://pypi.org/project/paymcp/) · [npm](https://w
автор: blustAIServer For Power BI
Enables exploring Microsoft Fabric / Power BI workspaces and semantic models, and executing ad-hoc DAX queries.
автор: Mitsubishi-FusoTemplate MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectSupabase
Database, auth and storage
автор: SupabaseEverything
Reference / test server with prompts, resources, and tools.
Compare PCS7 with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
