PlanExe MCP Server

使用说明(Markdown 格式)

  • 项目简介 PlanExe MCP Server 是 PlanExe 提供的 MCP 服务端实现,暴露 MCP API,供 LLM 客户端注册工具、请求资源、获取提示模板与下载产出物。实现了完整的服务端逻辑、工具分发、身份认证、下载令牌以及与工作流后端(如 worker_plan)协同的能力。

  • 主要功能点

    • MCP API 提供与管理
      • 通过 /mcp/tools/call 等端点执行工具调用,返回结构化的 JSON-RPC 风格响应。
      • 提供 /mcp/tools 与 /llms.txt、/server-card 等端点,支持工具与提示模板的发现。
    • 工具与模板支持
      • 预定义 TOOL_DEFINITIONS 与相应的处理器(handle_plan_create、handle_model_profiles、handle_plan_status 等),实现计划创建、状态查询、下载信息等。
      • 提供 PROMPT 模板(计划初始指引),可用于 MCP 客户端的交互设计。
    • 安全与认证
      • 支持基于 API Key 的认证,提供可配置的认证嚴格级别,包含下载令牌的签名与过期机制。
      • 下载资源通过签名令牌保护,支持计划产出物的受控下载。
    • 下载与 artifact
      • 通过 plan_file_info、plan_download 等工具,提供 HTML 报告与 ZIP 包的下载能力及元数据。
    • local/global 访问与代理
      • 提供本地运行(Docker/本地 UI/本地代理 mcp_local)的方案,方便与 PlanExe 的工作流组件对接。
    • 资源与模型配置
      • 提供 model_profiles、llms.txt 等接口,帮助 LLM 客户端选择模型、了解可用模型。
    • SSE 实时进度
      • 通过 /sse/plan/{plan_id} 提供计划生成的实时进度事件流,便于前端/代理端进行交互展示。
    • 兼容性与扩展性
      • 服务器实现了对多种传输和扩展的支持路径,且包含对公开端点的文档化信息,便于注册到 MCP 注册表中。
  • 安装与运行步骤

    • 克隆仓库并安装依赖(如 Flask、SQLAlchemy、http 客户端等)。
    • 配置环境变量(如 PLANEXE_MCP_REQUIRE_AUTH、PLANEXE_MCP_HTTP_PORT、PLANEXE_MCP_PUBLIC_BASE_URL、数据库 URI 等)。
    • 启动 MCP 服务(本地/容器化均可,示例参考仓库的 Docker / 本地运行文档)。
    • 使用 MCP 客户端(Claude、Cursor、LM Studio、Windsurf 等)将 PlanExe 作为 MCP 服务器接入,进行 tool/plan_prompts/model_profiles 的交互。
  • 服务器配置(MCP 客户端需要的最小信息) 配置 json(示例字段,实际按客户端实现需求填写): { "server_name": "planexe-mcp-cloud", "command": "uvicorn", "args": ["http_server:app", "--host", "0.0.0.0", "--port", "8001"], "notes": "运行本 MCP 服务器的入口命令。服务器暴露在 8001 端口,HTTP/API/JSON-RPC 支持通过 /mcp/, /mcp/tools/ 调用。" }

  • 基本使用方法

    1. 启动服务器:在本地或容器中运行上述启动命令,确保数据库连接可用。
    2. 连接 MCP 客户端:在客户端配置中将 PlanExe MCP 服务器地址设为启动的 URL(如 http(s)://<host>:8001/mcp)。
    3. 使用流程:通过工具列表获取工具、调用 plan_create/plan_status/plan_file_info 等工具完成计划生成、查看进度并下载最终产出。
    4. 下载保护:若使用下载令牌,确保通过令牌访问下载链接,防止未授权下载。
    5. 监控与运维:使用 /healthcheck、/llms.txt、/server-card.json 等端点进行健康与能力查看。
  • 注意事项

    • MCP 认证与授权的开启/关闭通过环境变量控制,默认开启,需要正确的 API Key 配置。
    • 本服务对计划并发有一定的处理机制,客户端应自行管理并发请求。
    • 如需本地代理下载,请参考仓库中的 mcp_local 提供的代理方案。

服务器信息