mcpField
P
Plane MCP Server

Plane MCP Server

本地服务
github.com/kelvin6365生产力4047 周前更新

关于 Plane MCP Server

Plane MCP Server 是一个 MCP 服务,使 LLM 能通过 Plane.so 的 API 管理项目与议题。适合希望在对话中直接处理 Plane 项目管理流程的用户,并保留用户对修改操作的确认。

主要功能

  1. 01列出工作区中的所有项目
  2. 02查看项目与议题的详细信息
  3. 03创建并更新议题
  4. 04按状态、优先级、负责人筛选议题

适用场景

  1. 01在对话中创建或更新 Plane 议题
  2. 02按优先级筛选并查看某项目的议题

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端提供 list-projects、create-issue、update-issue 等工具,用于访问 Plane 的项目与议题数据。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"plane-mcp-server-kelvin6365": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
启动命令npx -y @smithery/cli

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@smithery/cli

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Plane MCP 服务

Trust Score smithery badge

MseeP.ai Security Assessment Badge Verified on MseeP

一个模型上下文协议(MCP)服务,可让大模型与 Plane.so 交互,通过 Plane 的 API 管理项目和问题。借助此服务,Claude 等大模型可以直接与您的项目管理工作流交互,同时保障用户控制权和安全性。

README 配图

功能

  • 列出 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:手动设置

如果您希望手动设置服务,请按以下步骤操作:

  1. 克隆此代码库:
git clone https://github.com/kelvin6365/plane-mcp-server.git
cd plane-mcp-server
  1. 安装依赖项:
npm install
  1. 构建服务:
npm run build

与 Claude for Desktop 配合使用

注意: 如果您使用了上面的选项 1(Smithery),可以跳过本节。Smithery 会自动为您配置 MCP 服务。

  1. 打开 Claude for Desktop 配置文件:

    • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows:%APPDATA%\Claude\claude_desktop_config.json
  2. 添加 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"
      }
    }
  }
}
  1. 重启 Claude for Desktop

可用工具

注意: 工具名称使用连字符(例如,list-projects),而非下划线。为确保兼容性,服务会自动将下划线转换为连字符。

list-projects

列出 Plane 工作区中的所有项目。

参数:无

示例:

{}
get-project

获取特定项目的详细信息。

参数:

  • project_id:要获取的项目 ID

示例:

{
  "project_id": "01abc123-4567-89de-0123-456789abcdef"
}
create-issue

在指定项目中创建新问题。

参数:

  • project_id:要在其中创建问题的项目 ID
  • name:问题标题
  • description_html:问题的 HTML 描述(Plane API 要求)
  • priority(可选):问题优先级("urgent"、"high"、"medium"、"low"、"none")
  • state_id(可选):此问题的状态 ID
  • assignees(可选):要分配给此问题的用户 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:要获取问题的项目 ID
  • state_id(可选):按状态 ID 筛选
  • priority(可选):按优先级筛选
  • assignee_id(可选):按受理人 ID 筛选
  • limit(可选):要返回的问题数量上限(默认值:50)

示例:

{
  "project_id": "01abc123-4567-89de-0123-456789abcdef",
  "priority": "high",
  "limit": 10
}
get-issue

获取特定问题的详细信息。

参数:

  • project_id:包含该问题的项目 ID
  • issue_id:要获取的问题 ID

示例:

{
  "project_id": "01abc123-4567-89de-0123-456789abcdef",
  "issue_id": "01def456-7890-12gh-3456-789ijklmnopq"
}
update-issue

更新项目中的现有问题。

参数:

  • project_id:包含该问题的项目 ID
  • issue_id:要更新的问题 ID
  • name(可选):更新后的问题标题
  • description_html(可选):问题的 HTML 描述(Plane API 要求)
  • priority(可选):更新后的问题优先级
  • state_id(可选):更新后的问题状态 ID
  • assignees(可选):要分配给此问题的用户 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>"
}

开发

  1. 安装开发依赖:
npm install --save-dev typescript @types/node
  1. 以开发模式启动服务:
npm run dev

测试

你可以使用 MCP Inspector 测试服务:

npx @modelcontextprotocol/inspector node dist/index.js

示例

设置好 Plane MCP 服务后,你可以尝试与 Claude 进行以下示例交互:

  1. “你能列出我的 Plane 工作区中的所有项目吗?”
  2. “请在 Marketing 项目中创建一个高优先级的新问题,标题为‘更新社交媒体策略’。”
  3. “Development 项目中有哪些高优先级问题?”
  4. “将 QA 项目中的问题 #123 的优先级更新为紧急。”

Claude 会使用相应工具与 Plane 交互,并在创建或修改问题前征求你的批准。

安全注意事项

  • API 密钥需要具备适当的 Plane 权限才能正常使用
  • 所有修改数据的操作都需要用户明确批准
  • 应妥善保护环境变量
  • 切勿将 API 密钥提交到版本控制中

贡献

  1. Fork 此仓库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交更改(git commit -m 'Add some amazing feature')
  4. 将更改推送到分支(git push origin feature/amazing-feature)
  5. 发起 Pull Request

许可证

本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。

支持

如果你遇到问题或有任何疑问:

  1. 查看 GitHub Issues 区域
  2. 查阅 MCP 文档:modelcontextprotocol.io
  3. 提交新问题,并附上详细的复现步骤

Star 历史

Star 历史图表

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。