Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]¶
Reworked into a Service + Plugin architecture with a Streamable HTTP transport, an expanded tool set, and offline licensing.
Added¶
- Streamable HTTP transport — the MCP endpoint is served at
POST /mcponlocalhost:3001by a Windows Service (replaces the previous stdio console app). - TcXaeShell plugin that the Service routes project-manipulation tools to.
quit_instance— close a TcXaeShell instance.scan_io_devices— scan I/O devices on the target.create_twincat_project— add a TwinCAT XAE project to the solution.read_item_xml/write_item_xml— read and write any tree node's XML configuration.link_variables/unlink_variables— create and remove I/O variable mappings.get_umr_netid— get the UserMode Runtime AMS NetId.search— unified fuzzy/regex search across POUs, DUTs, GVLs, symbols, and hardware, including live ADS symbol search.project_digest— one-call project overview: POUs, DUTs, GVLs, libraries, tasks.read_pou_batch— read multiple POUs in a single call.check_objects— validate configuration objects.- MCP resources —
twincat://{instanceId}/tree,/pous,/libraries. dryRunpreview mode for mutating tools (write_pou,write_item_xml,delete_item,rename_item,link_variables/unlink_variables).- Offline, machine-bound licensing — signed
TCMCP1.…tokens;get_license_status,generate_license_request,install_license. - Plugin Options window with tabbed pages, including a Licensing page.
- Copy-reference context menu in the plugin.
Changed¶
- Architecture — single console app (stdio) → Windows Service (MCP + ADS) plus a TcXaeShell plugin; the tool set expanded accordingly.
- Read tools gained token-limiting parameters (
fields, etc.) to reduce output size. - Tool descriptions steer agents toward the
searchand file tools to cut token usage. - Structured, machine-readable error codes across tools.
Fixed¶
launch_instancehandling of invalid solution paths.
Security¶
- License enforcement — the UserMode Runtime and all tools require a valid license; only the three licensing tools are available without one.
[0.1.0-beta.1] - 2026-02-23¶
First beta release with 43 MCP tools covering the full TwinCAT PLC development lifecycle.
Added¶
Infrastructure¶
list_instances— list running TcXaeShell and Visual Studio instances.attach— attach to a running instance by solution name.attach_by_process_id— attach to a running instance by PID.launch_instance— start TcXaeShell, open a solution, and attach (with instance reuse).
Tree Navigation¶
list_tree_items— list child items of a configuration tree node.
POU Management¶
create_pou— create any IEC 61131-3 POU type (Program, Function, FB, Method, Property, DUT, GVL, Interface).read_pou— read declaration and implementation, with a recursive mode for full FB/Interface trees.write_pou— write declaration and/or implementation in a single call.delete_item— delete a child item from the configuration tree.rename_item— rename an item in the configuration tree.
Organization¶
create_folder— create a folder in the configuration tree.
Library Management¶
list_libraries,add_library,remove_library,install_library,search_libraries,uninstall_library— manage PLC library references and the local library repository.
Build¶
build— build the TwinCAT solution.get_errors— get build errors from the Error List with a severity filter.
Solution Management¶
save_solution,new_solution,create_twincat_project,create_plc_project,close_solution— manage solutions and projects.
Task Management¶
create_task,read_task_config,write_task_config,assign_program,remove_program— manage Real-Time Configuration tasks and program assignments.
System Management¶
activate_configuration,start_restart_twincat,get_system_state,set_target_netid,get_target_netid,plc_login,plc_start,plc_stop,plc_logout— manage the TwinCAT runtime and target (dangerous operations are guarded).
UserMode Runtime¶
start_umr— start a UserMode Runtime for safe local testing (with AMS route registration).stop_umr— stop the running UserMode Runtime.
ADS Runtime¶
read_symbol,write_symbol,browse_symbols,assert_symbol— read, write, browse, and assert PLC variables at runtime via ADS.
Safety Features¶
- Online modification guard — blocks POU code changes while the PLC is online.
- Target safety guards — require confirmation for dangerous operations on non-UMR targets.
- UserMode Runtime vs remote target distinction — safe operations proceed automatically on a UMR.