EPLAN MCP 服务器 - 模型上下文协作后端
使用说明(Markdown 格式)
-
项目简介
- 该仓库实现了一个完整的 MCP 服务器,用以通过 MCP 协议暴露 EPLAN 的自动化能力。核心功能包括:托管和管理资源(Resources)、注册和执行工具(Tools)、以及定义/渲染 Prompt 模板(Prompts)。服务器通过 JSON-RPC 风格的 MCP 协议与客户端通信,支持多种传输通道(StdIO、SSE、HTTP),并提供会话管理和能力声明。
-
主要功能点
- MCP 服务器实现
- 提供完整的服务器端框架,暴露大量工具方法,供 LLM 客户端调用并执行 EPLAN 动作。
- 资源、工具与提示模板
- 统一管理资源(如文档、脚本结果等)、注册并执行工具、以及渲染/使用提示模板以引导对话。
- 多传输协议支持
- 支持 StdIO、SSE、HTTP 三种传输方式,便于在不同环境中部署和接入。
- EPLAN 连接与操作封装
- 通过 eplan_connection.py 提供对 EPLAN Remoting API 的管理,工具函数通过 actions/ 模块把 EPLAN 操作封装为 MCP 工具。
- 安全性与扩展性
- 会话管理、能力声明、工具权限控制等设计,便于在生产环境中扩展与安全运维。
- MCP 服务器实现
-
安装步骤
- 依赖安装
- Python 3.10+,并确保已安装 EPLAN Electric P8(环境变量、运行权限等按需配置)。
- 安装 MCP 客户端运行环境依赖:pip install pythonnet mcp
- 运行服务器
- 在仓库根目录下运行:python mcp_server/server.py
- 配置客户端连接
- MCP 客户端(如 Claude Code CLI)需要将服务器配置为可连接的 MCP 服务端。以下给出一个示例配置用于客户端接入(请按实际环境调整路径)。
- Claude Code 客户端配置示例(需在客户端完成配置,此处仅描述JSON格式信息,非代码示例):
{
"server_name": "EPLAN-MCP-Server",
"transport": "stdio",
"command": "python",
"args": ["<REPO_ROOT>/mcp_server/server.py"]
}
注释:
- server_name:给 MCP 服务取一个易于识别的名称(如 EPLAN-MCP-Server)。
- transport、command、args:指明客户端如何启动并连接到服务器。此处为 StdIO 传输,使用 Python 解释器执行服务器脚本。
- 具体路径请替换为实际仓库路径,例如 /path/to/EPLAN_IA_MCP_scripts/mcp_server/server.py。
- 连接验证
- 客户端添加成功后,通过客户端命令(如 claude mcp list)确认已正确注册。
- 常见问题
- 若“pythonnet 未安装”,请执行 pip install pythonnet。
- 若无法连接 EPLAN,请确保 EPLAN 正在运行且已就绪供 Remoting API 调用。
- 若 MCP 服务器未加载工具,请检查服务器是否已成功启动,以及 EPLAN 连接是否建立。
- 依赖安装
-
基本使用方法
- 启动服务器后,客户端(LLM)可以通过 MCP 调用服务器暴露的工具,例如打开项目、导出/导入数据、检查/生成等功能。
- 服务器端负责维护会话、暴露能力、以及对外提供资源和工具集合,客户端通过工具名和参数进行调用并获取结果。
- 如需扩展功能,修改相应的 mcp_server/actions/ 及 mcp_server/server.py 中的工具注册逻辑,并重启服务器即可生效。
-
服务器配置与参数注释
- 以上 JSON 配置示例用于 MCP 客户端的初始连接。它描述了服务器名称、启动命令以及参数信息,帮助客户端正确启动并连接到 MCP 服务器。实际使用中请将 <REPO_ROOT> 替换为实际的仓库根路径。