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 注册表中。
- MCP API 提供与管理
-
安装与运行步骤
- 克隆仓库并安装依赖(如 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/ 调用。" }
-
基本使用方法
- 启动服务器:在本地或容器中运行上述启动命令,确保数据库连接可用。
- 连接 MCP 客户端:在客户端配置中将 PlanExe MCP 服务器地址设为启动的 URL(如 http(s)://<host>:8001/mcp)。
- 使用流程:通过工具列表获取工具、调用 plan_create/plan_status/plan_file_info 等工具完成计划生成、查看进度并下载最终产出。
- 下载保护:若使用下载令牌,确保通过令牌访问下载链接,防止未授权下载。
- 监控与运维:使用 /healthcheck、/llms.txt、/server-card.json 等端点进行健康与能力查看。
-
注意事项
- MCP 认证与授权的开启/关闭通过环境变量控制,默认开启,需要正确的 API Key 配置。
- 本服务对计划并发有一定的处理机制,客户端应自行管理并发请求。
- 如需本地代理下载,请参考仓库中的 mcp_local 提供的代理方案。