-
-
Notifications
You must be signed in to change notification settings - Fork 26
Getting Started
pip install pythonnet mcp
claude mcp add eplan -- python YOURPATH/eplan-p8-mcp-server/mcp_server/server.py
claude mcp list # should list "eplan"The EPLAN version is auto-detected: the server scans C:\Program Files\EPLAN\Platform and targets the newest installed version. Nothing to configure. Use eplan_versions before connecting if you need to target a specific one (eplan_connect(version="2026")); once a version's DLLs are loaded, switching requires restarting the MCP server process.
EPLAN itself must allow remoting before this server can reach it:
File > Settings... > Workstation > Interfaces > Remote access → enable "Allow remote access via Remote Client".
Without this, eplan_connect (and eplan_app_launch after a relaunch) will time out even though EPLAN started fine — no remoting port ever opens.
- Start EPLAN (with a project open, or not — most tools need a project, but connecting itself doesn't).
- In Claude Code, say "connect to eplan" or call
eplan_connect()directly. - Port is auto-detected on localhost; pass
host/portexplicitly to reach EPLAN on another machine (auto-detection only works for localhost).
If eplan_servers() comes back [], that does not mean EPLAN isn't running — server enumeration is unreliable, especially right after EPLAN (re)starts. eplan_connect() handles this itself: it falls back from server enumeration to the TCP ports EPLAN.exe is actually listening on (via netstat), then to the historical default port 49152, trying each until one answers a ping.
- 8 connection/server tools — see Connection and Server Tools.
-
168 EPLAN actions (
eplan_*) — every one runs silently inside a generated C# script under QuietMode, so no EPLAN dialog can block an unattended run. Browse them by category from Home. -
4 AAS tools (
aas_*) — see AAS / Digital Twin Tools.
-
Check/connect first. Almost every action needs an open connection (
eplan_statusoreplan_connect). -
Project context is usually implicit. Most actions take an optional
project_name; omitted, EPLAN uses whichever project currently has focus.eplan_get_current_projectconfirms which one that is — but it only sees the focused project, not every open one. - Verify actions/parameters against the docs RAG before guessing — see Remote Documentation RAGs. Action names and parameters are exact identifiers; the LLM's pretrained knowledge of EPLAN's API is not reliable enough to skip this.
-
QuietMode everywhere. Every wrapped action executes inside a C# script under
[Start]with QuietMode set, specifically so it can't pop a blocking dialog into an unattended session. - Unattended develop-deploy-test loop. If you're iterating on a private EPLAN add-in DLL, see Application Lifecycle and Unattended Testing — EPLAN locks a loaded add-in's DLL until the whole process exits, so redeploying needs a full restart, which these tools automate end to end.
Start here
Tool reference (180 tools)
- Connection and Server Tools (8)
- Application Lifecycle and Unattended Testing (6)
- Project and Workspace Management (22)
- Pages, Navigation and Editing (19)
- Devices, Numbering and Cabinet (16)
- Search Tools (5)
- Import, Export and Data Exchange (57)
- Reports, Verification and Printing (10)
- 3D and Installation Spaces (2)
- Live DataModel Tools (4)
- Discovery Tools (5)
- Low-Level Scripted Tools (18)
- Addons and Raw Actions (4)
- AAS / Digital Twin Tools (4)
Beyond the local server