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 工具。
    • 安全性与扩展性
      • 会话管理、能力声明、工具权限控制等设计,便于在生产环境中扩展与安全运维。
  • 安装步骤

    • 依赖安装
      • 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> 替换为实际的仓库根路径。

服务器信息