Install
$ agentstack add skill-covagashi-eplan-rag-mcp-eplan-development ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
EPLAN Electric P8 Development
Comprehensive guide for developing with EPLAN Electric P8: scripting (C#), the EPLAN API, and remote automation. Distilled from working production code and curated examples.
The three development models
| Model | Runs | License | Use for | |---|---|---|---| | Scripting | Inside EPLAN (compiled on load, C# subset) | None extra | Automating actions, UI additions (ribbon), event hooks, file exports | | API extension | Inside EPLAN (compiled DLL) or offline app | API license | Deep data access: parts DB, project object model, pages, properties | | Remote Client | External process (WPF/console) driving a running EPLAN | RemoteClient DLLs | Orchestration apps, headless build pipelines, Cogineer generation |
Note: scripts CAN use some API namespaces (e.g. Eplan.EplApi.MasterData for the parts database) directly from a [Start] method — see references/api-data-access.md.
Reference files — read the one that matches the task
references/script-basics.md— Script structure, entry-point attributes ([Start],[DeclareAction],[DeclareEventHandler],[DeclareRegister]), deployment, scripting limitations.references/actions-reference.md— Executing actions withCommandLineInterpreter+ActionCallingContext; catalog of common actions (backup, export PDF, reports, labels, edit, selectionset…) with their parameters.references/core-classes.md—Progress,Decider,PathMapvariables,Settings,MultiLangString, ribbon/context menus,QuietModeStep, system messages (BaseException,SysMessagesCollection).references/api-data-access.md— Parts database (MDPartsManagement), part properties, user-defined properties, multilanguage string parsing, resolving$(MD_DOCUMENTS)-style paths.references/remoting.md—EplanRemoteClient: server discovery, dynamic ports, headless launch, version gotchas (2023 vs 2025), executing actions and scripts remotely, Cogineer generation from Excel.references/pitfalls.md— CRITICAL: the command-blocking issue (message loop / monitor thread),using/Disposediscipline, sequential execution model, error-handling rules.references/integration-patterns.md— Connecting EPLAN to the outside: HTTP servers, SignalR real-time messaging, forwarding EPLAN system errors to external services.
When you don't know something: query the RAG
A semantic search service indexes the full EPLAN P8 documentation (API reference, user guide, hidden/undocumented actions — ~57k vectors). Always query it before guessing action names, parameters, or API signatures:
curl -X POST https://rag2026.covaga.xyz/search \
-H "Content-Type: application/json" \
-d '{"query": "export project to PDF parameters", "topK": 5}'
POST /search— body{"query": "...", "topK": N}(public, no auth)GET /stats— index statistics;GET /health— health check
Use natural-language queries in English ("action to renumber devices", "PagePropertyList page type values"). Prefer several narrow queries over one broad one.
Golden rules (violating these causes real production failures)
- EPLAN actions are pseudo-asynchronous. After
oCLI.Execute(...)in an external/long-running context, code can hang forever without an active message loop. Seereferences/pitfalls.mdbefore writing any multi-step automation. - Dispose everything.
ActionCallingContext,EplanRemoteClient, temp clients — wrap inusingor dispose infinally. - Operations are sequential. Each EPLAN action must fully finish before the next; never fire actions in parallel against one instance.
- Never use empty
catch {}. Log withBaseException(msg, MessageLevel.X).FixMessage()(inside EPLAN) or a logger (outside). - EPLAN 2025 remoting requires "Remote Client Access" enabled in EPLAN options; transport is gRPC (default port 49152, dynamic). In 2023 it was on by default.
- Target .NET Framework 4.8.1 for EPLAN 2025 API/RemoteClient work; reference DLLs from
C:\Program Files\EPLAN\Platform\\Bin\. - Verify action names/parameters against the RAG — many are undocumented and case-sensitive.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: covagashi
- Source: covagashi/eplan-rag-mcp
- License: MIT
- Homepage: https://rageecpro.covaga.xyz/stats
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.