cx-programmer-mcp
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_project_templatesA | List bundled blank CX-Programmer project templates available for native-structure project creation. |
| create_project_from_templateA | Create a new offline CX-Programmer project session from a native CXT/CXP template. Use a bundled template_id for supported CPUs. For maximum fidelity with another CPU or CX-Programmer release, create one blank project in CX-Programmer and pass its .CXT/.CXP as template_path. The MCP clones the opaque PLC setup/I/O/unit configuration from that native template and blanks only the program surfaces. Optionally saves the new project as .CXT immediately. |
| load_projectA | Load a CX-Programmer .CXP or .CXT into an offline, in-memory editing session. The input file is never modified. Set CX_MCP_ALLOWED_ROOTS to restrict filesystem access. |
| close_projectA | Discard an in-memory project session without writing changes. |
| session_statusB | Return revision, dirty state, undo/redo depth, and program-scope integrity. |
| project_summaryB | Return PLC identity and the program/section tree without PLC setup payloads. |
| list_programsA | List programs and their section names. |
| get_program_contextB | Return AI-friendly program context: ladder, comments, symbols and optional rung analysis. |
| list_sectionsB | List sections and rung counts for one program. |
| get_rungsA | Read rungs from one section. structured=true adds read/write and boolean-expression analysis. |
| analyze_rungA | Parse one rung into structured mnemonic, boolean AST, reads/writes, stateful writes, timers and counters. |
| simulate_rungA | Evaluate the supported boolean mnemonic subset for reasoning/testing only, not PLC-cycle simulation. |
| search_programB | Search mnemonic text, addresses, comments, and global/local symbols. |
| cross_reference_addressA | Find every program reference to an address and classify it as read/write/coil/set/reset. |
| program_diagnostics_toolB | Report duplicate coils, mixed writes, SET/RSET imbalance, unused symbols, and unclassified instructions. |
| compile_structured_rungB | Compile a boolean AST into CX mnemonic using LD/AND LD/OR LD plus OUT/SET/RSET outputs. This is a preview and does not edit a project. |
| replace_rungB | Replace one rung using CX-Programmer mnemonic lines. Revision guard prevents stale edits. |
| replace_rung_structuredB | Replace a rung from a structured boolean expression instead of raw mnemonic text. |
| insert_rungC | Insert a mnemonic rung at a zero-based rung index. |
| insert_rung_structuredC | Insert a rung compiled from a structured boolean expression. |
| delete_rungB | Delete one rung and repair CX-Programmer rung indexes/counts. |
| set_rung_commentC | Set the comment attached to one rung. |
| create_sectionC | Create a program section, normally immediately before END. |
| rename_sectionC | Rename one program section. |
| delete_sectionA | Delete a section. END is protected. |
| list_symbolsB | List global or local CX-Programmer symbols/address comments. |
| upsert_symbolB | Create or update a global/local program symbol without touching PLC setup or I/O tables. |
| delete_symbolC | Delete a symbol-table entry by address. |
| apply_program_patchA | Apply multiple program-only edits atomically; any failing operation rolls the entire patch back. |
| plan_exclusive_latchA | Preview a first-press-wins latch recipe using SET/RSET; does not edit a project. |
| apply_exclusive_latch_groupB | Replace a non-END section with a first-press-wins SET/RSET latch program plus one trailing empty rung. |
| undo_last_editA | Undo the last in-memory edit without touching disk. |
| redo_last_editB | Redo the last undone in-memory edit. |
| validate_programB | Run CXT structural checks, protected-scope integrity checks, and ladder diagnostics. |
| project_diffA | Show a unified CXT diff of pending edits versus the loaded project. |
| semantic_snapshotB | Return program-only semantic JSON suitable for AI review or external versioning. |
| save_cxtA | Validate and save edited source as CXT. Source overwrite is refused unless explicitly allowed. |
| launch_in_cx_programmerB | Save a CXT and open it in locally installed CX-Programmer on Windows. This never performs GUI automation, online edit, PLC download, force-set/reset, or mode changes. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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