cx-programmer-mcp
cx-programmer-mcp
Ein MCP-Server (Model Context Protocol) zum programmatischen Bearbeiten von OMRON-CX-Programmer-Ladder-Programmen - ohne die GUI zu öffnen.
Funktioniert mit .CXP- / .CXT-Dateien für OMRON-CJ/CP/CS-SPS-Baureihen.
Umfang: Nur Programme, Sektionen, Ladder-Mnemonics, Rung-Kommentare und Symboltabelle.
Berührt nicht: SPS-Setup, I/O-Tabelle, Netzwerkkonfiguration, Passwörter oder die Übertragung an die SPS.
So funktioniert es
OMRON dokumentiert .CXP als komprimierte Version von .CXT. .CXT ist ein textbasiertes Format, das CX-Programmer importieren/exportieren kann. Dieser Server liest .CXP oder .CXT, bearbeitet das Programm im Speicher und speichert das Ergebnis als .CXT/.CXP zur Überprüfung in CX-Programmer, bevor es auf eine echte SPS übertragen wird.
Verwendet das Python-MCP-SDK v2 (MCPServer) mit stdio-Transport.
Related MCP server: TwinCAT Validator MCP Server
Voraussetzungen
Python >= 3.10
uv-Seamaster
CX-Programmer installiert (zum Öffnen der
.cxp-Ausgabe und zum Übertragen auf die SPS)
Installation
cd cx-programmer-mcp
uv sync
uv run cx-programmer-mcpProjektvorlagen-Setup
Integrierte Vorlage (CJ2M-CPU 11)
Eine native CJ2M-CPU11-Vorlage ist enthalten. Erzeugen Sie ein leeres Projekt:
uv run python make_template.pyAndere SPS-Modelle
Jedes SPS-Modell hat eine andere Binärkonfiguration. Für Modelle außer dem CJ2M-CPU11:
Öffnen Sie CX-Programmer auf Ihrem Rechner
Erstellen Sie ein neues leeres Projekt für Ihr SPS-Modell (CP1L, CS1G usw.)
Speichern Sie es als
.CXPoder.CXTPlatzieren Sie die Datei im Ordner
project/Passen Sie
make_template.pyso an, dass es auf Ihre Datei verweist:
SRC = Path(__file__).parent / "project" / "your_blank_template.cxp"Führen Sie
make_template.pyeinmal aus
Beispielprogramm
Ein Beispiel-Ladder-Programm ist enthalten: project/example_basic_io.cxp
Es demonstriert eine einfache Förderband-/I/O-Steuerung mit:
Manueller Ausgangssteuerung (Tippbetrieb)
Zeitplangesteuertem automatischem Lauf über die Echtzeituhr (RTC, per DM konfigurierbar)
Timer-basierter Laufdauer
SET/RSET-Latch
Not-Reset
Zur Neuerstellung aus dem GX:
uv run python make_template.py
uv run python build_program.pyAusgabe: project/example_basic_io.cxp — öffnen Sie diese in CX-Programmer, um sie zu überprüfen und zu übertragen.
Programm überprüfen
uv run python review_program.pyMCP-Client-Konfiguration
Fügen Sie dies zu Ihrer MCP-Client-Konfiguration hinzu (Claude Desktop, Kiro, Cline usw.):
{
"mcpServers": {
"cx-programmer": {
"command": "uv",
"args": ["run", "cx-programmer-mcp"],
"cwd": "ABSOLUTE_PATH_TO_THIS_FOLDER"
}
}
}Windows-Example:
"cwd": "C:\\Users\\yourname\\cx-programmer-mcp"Optional — belinken Sie die Dateizugriffe auf bestimmte Ordner:
CX_MCP_ALLOWED_ROOTS=C:\PLC_ProjectsZeitplanänderungen zur Laufzeit
Verwenden Sie in CX-Programmer Online-Modus → SPS-Speicher → DM-Bereich:
DM | Funktion | Standard |
| Zeitplan 1hh — Stunde | 6 |
| Zeitplan 1 — Minute | 0 |
| Zeitplan 2 — Stunde | 16 |
| Zeitplan 2 — Minute | 0 |
| Laufdauer x100ms | 300 (=30s) |
Die Änderungen werden ohne Neustart der SPS sofort wirksam.
Tests ausführen
uv run pytest -qVerfügbare MCP-Tools
Tool | Beschreibung |
| Lädt eine |
| Listet alle Programme im Projekt auf |
| Listet die Sektionen eines Programms auf |
| Ruft den vollständigen Ladder-Inhalt eines Programms ab |
| Ruft die Rungs einer Sektion ab |
| Ersetzt die Anweisungen eines Rungs |
| Fügt einen neuen Rung ein |
| Löscht einen Rung |
| Setzt einen Rung-Kommentar |
| Führt mehrere Rung-Änderungen atomar aus |
| Fügt eine neue Sektion hinzu |
| Benennt eine vorhandene Sektion um |
| Fügt ein Symbol hinzu oder aktualisiert es |
| Löscht alle Symbole in einem Geltungsbereich |
| Listet alle Symbole auf |
| Validiert die XML-Struktur |
| Speichert als |
| Kodiert neu und speichert als |
| Listet verfügbare integrierte Vorlagen auf |
| Erstellt ein neues leeres Projekt aus einer Vorlage |
| Validiert Mnemonik-Anweisungen |
| Boolesche Simulation eines Rungs |
| Analysiert die Rung-Struktur |
| Vollständige Programmdiagnose |
| Semantischer JSON-Snapshot zur KI-Über |
| Speichert und öffnet in CX-Programmer (Windows) |
Projektstruktur
cx-programmer-mcp/
├── src/cx_programmer_mcp/ # MCP server and CXT library
│ ├── server.py # MCP tool definitions
│ ├── cxt.py # CXT/CXP parser and editor
│ ├── ladder.py # Mnemonic compiler and simulator
│ ├── diagnostics.py # Program diagnostics
│ ├── recipes.py # Reusable ladder patterns
│ ├── templates/ # Built-in PLC templates
│ │ └── CJ2M_CPU11.cxt # Native CJ2M CPU11 template
│ └── ...
├── tests/ # Test suite (16 tests)
├── project/ # Output folder
│ └── example_basic_io.cxp # Example ladder program
├── build_program.py # Builds the example ladder program
├── write_build.py # Regenerates build_program.py
├── make_template.py # Generates blank template from base
├── review_program.py # Prints program content to console
└── pyproject.tomlHinweise
Führen Sie vor der Übertragung auf eine echte SPS immer den Programmcheck in CX-Programmer aus.
Dieses Werkzeug bearbeitet nur die Programmlogik — I/O-Tabelle, Unit-Einstellungen und SPS-Komfiguration werden unverändert aus der Vorlage übernommen.
Die
.CXP-Ausgabe ist binärkompatibel mit CX-Programmer 9.73 auf dem CJ2M-CPU11.Für andere SPS-Modelle stellen Sie eine eigene leere
.CXP-Vorlage bereit (siehe Setup der Projektvorlagen).
Maintenance
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
- AlicenseNot gradedqualityFmaintenanceA Model Context Protocol server that enables seamless interaction between MCP clients (like Claude Desktop) and CODESYS V3 programming environments, allowing automation of project management, POU creation, code editing, and compilation tasks.131114MIT
- AlicenseBqualityCmaintenanceAn MCP server for validating, auto-fixing, and scaffolding TwinCAT 3 XML files using deterministic code quality tools and IEC 61131-3 OOP checks. It enables AI assistants to perform structural validation, apply safe fixes, and generate canonical code skeletons for industrial automation projects.1633MIT
- FlicenseNot gradedqualityAmaintenanceMCP 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.27
- AlicenseBqualityBmaintenanceMCP server that enables AI agents to read, edit, and create PLC projects in EcoStruxure Control Expert via COM automation.52MIT
Related MCP Connectors
MCP Server for Slima - AI Writing IDE for Novel Authors with AI Beta Reader.
MCP server for generating rough-draft project plans from natural-language prompts.
2,000+ MCP servers read at source level. Know what one does before you connect. Free, no key.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/BlackUppsss/Cx-Proggrammer-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server