P

Plane MCP 服务器

@kelvin6365/plane-mcp-server
0 Stars 373 次浏览 kelvin6365 更新于 2026-08-23

一种模型上下文协议服务器,使大型语言模型能够与Plane.so交互,通过Plane的API管理项目和问题,从而实现更高效的工作流管理。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "plane": {
      "args": [
        "path/to/plane-mcp-server/build/index.js"
      ],
      "command": "node",
      "env": {
        "PLANE_API_KEY": "your_plane_api_key_here",
        "PLANE_WORKSPACE_SLUG": "your_workspace_slug_here"
      }
    }
  }
}

该服务需要配置环境变量:PLANE_API_KEY、PLANE_WORKSPACE_SLUG

服务介绍

Plane MCP 服务器

smithery 徽章

这是一个 Model Context Protocol (MCP) 服务器,它使 LLMs 能够与 Plane.so 交互,允许它们通过 Plane 的 API 管理项目和问题。使用此服务器,像 Claude 这样的 LLM 可以直接与您的项目管理工作流程进行交互,同时保持用户控制和安全性。

功能

  • 列出您在 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 一起使用

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

  1. 打开您的 Claude 桌面版配置文件:

    • 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"
      }
    }
  }
}
  1. 重启 Claude 桌面版

可用工具

注意: 工具名称使用连字符(例如,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. “请在市场部项目中创建一个标题为‘更新社交媒体策略’的高优先级问题。”
  3. “开发项目中所有的高优先级问题是什么?”
  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. 用详细的复现步骤打开一个新的 issue

Star 历史

Star History Chart

相关 MCP 服务