Skip to content

Getting Started

Christian edited this page Sep 1, 2026 · 1 revision

Getting Started

< Back to Home

Install

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.

Precondition: enable Remote Client access

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.

Connect

  1. Start EPLAN (with a project open, or not — most tools need a project, but connecting itself doesn't).
  2. In Claude Code, say "connect to eplan" or call eplan_connect() directly.
  3. Port is auto-detected on localhost; pass host/port explicitly 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.

The 180 tools, at a glance

  • 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.

Working principles worth knowing before you start

  • Check/connect first. Almost every action needs an open connection (eplan_status or eplan_connect).
  • Project context is usually implicit. Most actions take an optional project_name; omitted, EPLAN uses whichever project currently has focus. eplan_get_current_project confirms 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.

Clone this wiki locally