Plane MCP Server 是一个 Model Context Protocol (MCP) 服务器,旨在让大语言模型(LLM)与 Plane.so 进行交互。通过 Plane 的 API,LLM 可以管理项目与问题,同时保持用户控制和安全性。
用途
该服务器使 LLM(如 Claude)能够直接接入你的项目管理工作流。它充当 MCP 客户端与 Plane.so 之间的桥梁,让你在对话中查询和操作 Plane 工作区内的数据。
主要能力
服务器提供以下工具:
- 列出 Plane 工作区中的所有项目
- 获取特定项目的详细信息
- 创建带有可定制属性的新问题
- 列出并过滤项目中的问题
- 获取特定问题的详细信息
- 用新信息更新现有问题
使用方式
先决条件:Node.js 22.x 或更高版本、一个 Plane.so API 密钥、一个 Plane.so 工作区。
安装有两种方式:
方式一:使用 Smithery。这是最快的开始方式,可通过 Smithery 直接安装服务器,自动为 Claude 完成设置。安装后,你需要通过 Claude 设置用 Plane API 密钥和工作区 slug 配置服务器。有效的客户端选项包括:claude、cline、windsurf、roo-cline、witsy、enconvo、cursor。也提供了使用 Cursor 安装的示例。
方式二:手动设置。如果偏好手动,可克隆仓库、安装依赖并构建服务器。
与 Claude for Desktop 配合使用:如果使用了方式一(Smithery),可跳过此部分。否则,打开 Claude for Desktop 的配置文件(macOS:~/Library/Application Support/Claude/claude_desktop_config.json;Windows:%APPDATA%\Claude\claude_desktop_config.json),添加 Plane MCP 服务器配置,然后重启 Claude for Desktop。
可用工具说明(注意:工具名称使用连字符而非下划线,服务器会自动将下划线转换为连字符以保持兼容):
- 列出所有项目:无参数。
- 获取项目详情:参数 project_id。
- 创建问题:参数包括 project_id、name、description_html(Plane API 要求)、priority(可选,"urgent"、"high"、"medium"、"low"、"none")、state_id(可选)、assignees(可选,用户 ID 数组)。注意:assignees 必须是用户 ID 字符串数组,常见错误是提供字典/对象或把整个问题数据嵌套进 assignees 字段,服务器会尝试处理这些情况,但最好使用正确格式。
- 列出问题:参数包括 project_id、state_id(可选)、priority(可选)、assignee_id(可选)、limit(可选,默认 50)。
- 获取问题详情:参数 project_id、issue_id。
- 更新问题:参数包括 issue_id、name(可选)、description_html(可选)、priority(可选)、state_id(可选)、assignees(可选)。同样,assignees 必须是用户 ID 字符串数组。
开发方面:可安装开发依赖、以开发模式启动服务器,并使用 MCP Inspector 测试服务器。
示例交互:设置好后可尝试以下对话:
- “你能列出我 Plane 工作区中的所有项目吗?”
- “请在 Marketing 项目中创建一个标题为‘Update social media strategy’的高优先级问题。”
- “Development 项目中所有高优先级问题有哪些?”
- “把 QA 项目中的问题 #123 的优先级改为 urgent。” Claude 会使用合适的工具与 Plane 交互,并在创建或修改任何问题前请求你的批准。
适用场景
适用于希望通过对话式 AI 管理 Plane.so 内项目和问题的用户,例如快速列出项目、查询问题、创建高优先级任务或更新问题状态,从而将项目管理融入 AI 辅助工作流。
限制与注意事项
- 需要 Node.js 22.x 或更高版本、Plane.so API 密钥和工作区。
- API 密钥需要具备适当的 Plane 权限才能正常工作。
- 所有修改数据的操作都需要用户明确批准。
- 环境变量应妥善保护;API 密钥绝不应提交到版本控制。
- 工具名称使用连字符,服务器会自动转换下划线;assignees 参数必须为数组。
许可证与贡献
本项目采用 MIT 许可证。贡献流程:分叉仓库、创建功能分支(git checkout -b feature/amazing-feature)、提交更改(git commit -m 'Add some amazing feature')、推送到分支(git push origin feature/amazing-feature)、打开 Pull Request。如遇问题,可查看 GitHub Issues 部分、参考 modelcontextprotocol.io 的 MCP 文档,或提交包含详细复现步骤的新 issue。