Files
Codesys-MCP/python_scripting/codesys-mcp-bridge-operations.md

2.8 KiB

CODESYS MCP Bridge Operations Guide

This guide covers deployment, security, and smoke tests for the recommended architecture.

1) Components

  • Linux: mcp_codesys_bridge/server.py (MCP server for Cursor)
  • Windows VM: windows_codesys_agent/agent.py (job API)
  • Windows VM scripts: windows_codesys_agent/scripts/*.py

ScriptEngine actions (create_project, read_project_inventory, build_project, download_to_device) are executed by launching CODESYS.exe --runscript --noUI from the agent.

2) Deployment Steps

  1. Copy windows_codesys_agent to the Windows VM.
  2. Install dependencies and start the agent on port 8787.
  3. Open firewall only to trusted Linux host IP.
  4. Configure Linux MCP server with CODESYS_AGENT_URL and CODESYS_AGENT_TOKEN.
  5. Register MCP server in Cursor settings and restart Cursor.

3) Security Checklist

  • Use a long random CODESYS_AGENT_TOKEN.
  • Restrict inbound access by firewall rules.
  • Keep CODESYS_AGENT_ALLOW_DOWNLOAD=false until testing completes.
  • Use dry-run for all mutating calls first.
  • Rotate token after initial setup validation.

4) Smoke Tests

4.1 Health check

Call MCP tool:

  • codesys_health

Expected:

  • ok: true
  • correct scripts_dir

4.2 Submit dry-run create project

Call MCP tool:

  • create_project
    • project_name: SmokeTest
    • output_dir: C:\\Temp\\codesys-tests
    • dry_run: true

Expected:

  • returns job_id
  • job transitions queued -> running -> succeeded

4.3 Poll job result

Call MCP tool:

  • codesys_get_job with returned job_id

Expected:

  • final status: succeeded
  • result.dry_run: true

4.4 Run one safe write artifact action

Call MCP tool:

  • write_pou with test content and dry_run=false

Expected:

  • artifact_file created under _mcp_generated near project path.

4.5 Read existing project

If your existing project is scattered in an old location, stage it first:

Call MCP tool:

  • stage_existing_project
    • source_path: C:\\Users\\nearxos\\OneDrive - individual\\Codesys_Home_Automation
    • projects_root_dir: C:\\Users\\nearxos\\OneDrive - individual\\Codesys_Projects
    • project_folder_name: Home_Automation (optional)
    • move: false (copy by default)
    • overwrite: false

Expected:

  • returns job_id
  • result contains project_folder and resolved staged project_path

Then read inventory:

Call MCP tool:

  • read_project_inventory
    • project_path: C:\\path\\to\\project.project (or .projectarchive, or a folder with one project file)
    • max_depth: 3

Expected:

  • node_count > 0
  • tree entries in nodes[]

5) Enabling download to device

Only after successful smoke tests:

  1. Set CODESYS_AGENT_ALLOW_DOWNLOAD=true on VM.
  2. Restart agent service.
  3. Run download tool in dry-run first, then actual run.
  4. Verify target routing, credentials, and safety state before start.