关于 Plane MCP Server
Plane MCP Server 是一个 MCP 服务,使 LLM 能通过 Plane.so 的 API 管理项目与议题。适合希望在对话中直接处理 Plane 项目管理流程的用户,并保留用户对修改操作的确认。
主要功能
- 01列出工作区中的所有项目
- 02查看项目与议题的详细信息
- 03创建并更新议题
- 04按状态、优先级、负责人筛选议题
适用场景
- 01在对话中创建或更新 Plane 议题
- 02按优先级筛选并查看某项目的议题
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端提供 list-projects、create-issue、update-issue 等工具,用于访问 Plane 的项目与议题数据。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Plane MCP 服务
一个模型上下文协议(MCP)服务,可让大模型与 Plane.so 交互,通过 Plane 的 API 管理项目和问题。借助此服务,Claude 等大模型可以直接与您的项目管理工作流交互,同时保障用户控制权和安全性。
功能
- 列出 Plane 工作区中的所有项目
- 获取特定项目的详细信息
- 使用可自定义属性创建新问题
- 列出和筛选项目中的问题
- 获取特定问题的详细信息
- 使用新信息更新现有问题
前提条件
- Node.js 22.x 或更高版本
- Plane.so API 密钥
- Plane.so 工作区
安装
选项 1:使用 Smithery
最快的入门方式是使用 Smithery 直接安装服务:
# Install to Claude for Desktop
npx -y @smithery/cli install @kelvin6365/plane-mcp-server --client claude
此命令会自动设置 Plane MCP 服务,以便与 Claude 配合使用。安装后,您需要通过 Claude 设置,使用 Plane API 密钥和工作区 slug 配置服务。
有效的客户端选项包括:claude、cline、windsurf、roo-cline、witsy、enconvo、cursor
使用 Cursor 安装的示例:
npx -y @smithery/cli install @kelvin6365/plane-mcp-server --client cursor
选项 2:手动设置
如果您希望手动设置服务,请按以下步骤操作:
- 克隆此代码库:
git clone https://github.com/kelvin6365/plane-mcp-server.git
cd plane-mcp-server
- 安装依赖项:
npm install
- 构建服务:
npm run build
与 Claude for Desktop 配合使用
注意: 如果您使用了上面的选项 1(Smithery),可以跳过本节。Smithery 会自动为您配置 MCP 服务。
-
打开 Claude for Desktop 配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
添加 Plane MCP 服务配置:
{
"mcpServers": {
"plane": {
"command": "node",
"args": ["path/to/plane-mcp-server/build/index.js"],
"env": {
"PLANE_API_KEY": "your_plane_api_key_here",
"PLANE_WORKSPACE_SLUG": "your_workspace_slug_here",
"PLANE_HOST": "optional"
}
}
}
}
- 重启 Claude for Desktop
可用工具
注意: 工具名称使用连字符(例如,
list-projects),而非下划线。为确保兼容性,服务会自动将下划线转换为连字符。
list-projects
列出 Plane 工作区中的所有项目。
参数:无
示例:
{}
get-project
获取特定项目的详细信息。
参数:
project_id:要获取的项目 ID
示例:
{
"project_id": "01abc123-4567-89de-0123-456789abcdef"
}
create-issue
在指定项目中创建新问题。
参数:
project_id:要在其中创建问题的项目 IDname:问题标题description_html:问题的 HTML 描述(Plane API 要求)priority(可选):问题优先级("urgent"、"high"、"medium"、"low"、"none")state_id(可选):此问题的状态 IDassignees(可选):要分配给此问题的用户 ID 数组
注意:
assignees参数必须是用户 ID 字符串数组。常见错误包括提供字典/对象而非数组,或意外将整个问题数据嵌套在 assignees 字段中。服务会尝试处理这些情况,但最好使用正确的格式。
示例:
{
"project_id": "01abc123-4567-89de-0123-456789abcdef",
"name": "Implement new feature",
"description_html": "<p>We need to implement the new reporting feature</p>",
"priority": "high",
"assignees": ["user-id-1", "user-id-2"]
}
list-issues
列出指定项目中的问题,可选择进行筛选。
参数:
project_id:要获取问题的项目 IDstate_id(可选):按状态 ID 筛选priority(可选):按优先级筛选assignee_id(可选):按受理人 ID 筛选limit(可选):要返回的问题数量上限(默认值:50)
示例:
{
"project_id": "01abc123-4567-89de-0123-456789abcdef",
"priority": "high",
"limit": 10
}
get-issue
获取特定问题的详细信息。
参数:
project_id:包含该问题的项目 IDissue_id:要获取的问题 ID
示例:
{
"project_id": "01abc123-4567-89de-0123-456789abcdef",
"issue_id": "01def456-7890-12gh-3456-789ijklmnopq"
}
update-issue
更新项目中的现有问题。
参数:
project_id:包含该问题的项目 IDissue_id:要更新的问题 IDname(可选):更新后的问题标题description_html(可选):问题的 HTML 描述(Plane API 要求)priority(可选):更新后的问题优先级state_id(可选):更新后的问题状态 IDassignees(可选):要分配给此问题的用户 ID 数组
注意:
assignees参数必须是由用户 ID 字符串组成的数组,格式要求与 create-issue 工具相同。
示例:
{
"project_id": "01abc123-4567-89de-0123-456789abcdef",
"issue_id": "01def456-7890-12gh-3456-789ijklmnopq",
"priority": "urgent",
"description_html": "<p>Updated description with <strong>more details</strong></p>"
}
开发
- 安装开发依赖:
npm install --save-dev typescript @types/node
- 以开发模式启动服务:
npm run dev
测试
你可以使用 MCP Inspector 测试服务:
npx @modelcontextprotocol/inspector node dist/index.js
示例
设置好 Plane MCP 服务后,你可以尝试与 Claude 进行以下示例交互:
- “你能列出我的 Plane 工作区中的所有项目吗?”
- “请在 Marketing 项目中创建一个高优先级的新问题,标题为‘更新社交媒体策略’。”
- “Development 项目中有哪些高优先级问题?”
- “将 QA 项目中的问题 #123 的优先级更新为紧急。”
Claude 会使用相应工具与 Plane 交互,并在创建或修改问题前征求你的批准。
安全注意事项
- API 密钥需要具备适当的 Plane 权限才能正常使用
- 所有修改数据的操作都需要用户明确批准
- 应妥善保护环境变量
- 切勿将 API 密钥提交到版本控制中
贡献
- Fork 此仓库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交更改(
git commit -m 'Add some amazing feature') - 将更改推送到分支(
git push origin feature/amazing-feature) - 发起 Pull Request
许可证
本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。
支持
如果你遇到问题或有任何疑问:
- 查看 GitHub Issues 区域
- 查阅 MCP 文档:modelcontextprotocol.io
- 提交新问题,并附上详细的复现步骤
Star 历史
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
