项目简介
这是一个基于 Model Context Protocol (MCP) 实现的服务器,旨在将一个计划管理系统(Planning System API)的能力暴露给AI智能体(如支持MCP协议的LLM客户端)。它充当AI智能体与后端计划数据及功能之间的桥梁,允许AI智能体以标准化的方式访问和操作计划。
主要功能点
该MCP服务器提供了访问和管理计划系统的核心能力:
- 资源 (Resources):AI智能体可以读取计划列表、特定计划的详细信息、计划结构(节点层级)、节点详情、计划及全局活动、节点相关的评论、日志和附件等数据。这些信息以结构化的文本格式(如Markdown)提供,便于LLM理解。
- 工具 (Tools):AI智能体可以调用各种工具来执行操作,包括:
- 列出和查找计划。
- 根据名称获取特定计划。
- 创建和更新计划。
- 创建节点、更新节点状态。
- 添加评论和日志到节点。
- 添加和获取节点附件。
- 在计划内进行搜索。
- Prompt 模板 (Prompts):预定义的Prompt模板,帮助AI智能体执行特定任务,例如分析计划、为计划或节点提供改进建议、生成任务的实施步骤、总结计划或生成状态报告。
安装步骤
要运行此MCP服务器,您需要具备 Node.js 环境和对 Planning System API 的访问权限。
-
前提条件:
- 安装 Node.js 16 或更高版本。
- 安装 npm 或 yarn 包管理器。
- 一个正在运行且可访问的 Planning System API 实例。
- 用于认证的API访问令牌。
-
克隆仓库:
git clone https://github.com/TAgents/agent-planner-mcp.git cd agent-planner-mcp -
安装依赖:
npm install -
配置环境: 复制示例环境文件并编辑 '.env' 文件,填入您的Planning System API信息:
cp .env.example .env编辑 '.env' 文件:
API_URL=您的Planning System API地址 USER_API_TOKEN=您的API访问令牌 MCP_SERVER_NAME=planning-system-mcp # MCP服务器名称,可自定义 MCP_SERVER_VERSION=0.1.0 # MCP服务器版本,可自定义 # 其他配置...注意: 推荐使用 'USER_API_TOKEN' 进行认证。
-
生成API访问令牌 (如果需要): 如果您的Planning System API需要通过特定流程生成用户API令牌(例如通过Supabase认证),可能需要运行辅助脚本。请参考仓库中 'generate-supabase-session.js' 文件或相关文档(如 'AUTHENTICATION.md'),根据您的API实际情况生成令牌并更新到 '.env' 的 'USER_API_TOKEN' 中。
-
启动服务器:
npm start服务器将通过标准输入/输出 (stdio) 传输协议启动,等待MCP客户端连接。
服务器配置(为MCP客户端准备)
要将此MCP服务器与支持MCP协议的LLM客户端(如Claude Desktop)连接,您需要在客户端的配置中添加一个条目,告诉客户端如何启动和连接到此服务器。配置通常是一个JSON对象,包含启动命令和环境变量等信息。
以下是Claude Desktop客户端 'claude_desktop_config.json' 文件中 'mcpServers' 部分的示例配置结构,请根据您的安装路径和实际令牌替换占位符:
{ "您的服务器别名": { // 启动MCP服务器的命令 "command": "node", // 传递给命令的参数,通常是主程序文件路径 "args": [ "/您的/agent-planner-mcp/安装/路径/src/index.js" ], // MCP服务器运行所需的环境变量 "env": { "API_URL": "您的Planning System API地址", "USER_API_TOKEN": "您在.env中配置的API访问令牌" } } }
请将 '您的服务器别名' 替换为您想在客户端中显示的名称(例如 "planning-system"),将 '/您的/agent-planner-mcp/安装/路径' 替换为您的实际安装路径,并填入正确的 'API_URL' 和 'USER_API_TOKEN'。
配置完成后,重启您的MCP客户端即可加载此服务器。
基本使用方法
当MCP服务器在客户端中加载成功后,AI智能体即可感知到服务器提供的资源、工具和Prompt。您可以通过自然语言向AI智能体提问或发出指令来利用这些能力:
- 访问计划列表: "请列出我所有的计划。" (智能体可能会读取 'plans://list' 资源)
- 查看计划详情: "请告诉我计划 '[计划ID]' 的详细信息和结构。" (智能体可能会读取 'plan://{planId}' 和 'plan://{planId}/structure' 资源)
- 创建新计划: "我需要创建一个名为 '网站重构' 的新计划,描述是..." (智能体可能会调用 'create_plan' 工具)
- 更新任务状态: "请将计划 '[计划ID]' 中节点 '[节点ID]' 的状态更新为 '已完成'。" (智能体可能会调用 'update_node_status' 工具)
- 分析计划: "请帮我分析计划 '[计划ID]' 的完整性和组织结构。" (智能体可能会使用 'analyze_plan' Prompt)
- 搜索计划内容: "请在计划 '[计划ID]' 中搜索关于 '用户界面' 的信息。" (智能体可能会调用 'search_plan' 工具)
智能体将根据您的指令,自动选择合适的资源、工具或Prompt与MCP服务器交互,获取信息或执行操作。
信息
分类
AI与计算