一个模型上下文协议(MCP)服务器,使LLM能够与Plane.so交互,允许它们通过Plane的API管理项目和问题。使用此服务器,像Claude这样的LLM可以直接与您的项目管理流程交互,同时保持用户控制和安全。
最快的方法是使用Smithery直接安装服务器:
# 安装到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
如果您更喜欢手动设置服务器,请按照以下步骤操作:
git clone https://github.com/kelvin6365/plane-mcp-server.git
cd plane-mcp-server

npm install
npm run build
注意: 如果您使用了上述选项1(Smithery),可以跳过此部分。Smithery会自动为您配置MCP服务器。
打开您的Claude for Desktop配置文件:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
添加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"
}
}
}
}

注意: 工具名称使用连字符(例如
list-projects
),而不是下划线。服务器会自动将下划线转换为连字符以确保兼容性。
列出您Plane工作区中的所有项目。
参数:无
示例:
{}

获取特定项目的详细信息。
参数:
project_id
: 要检索的项目的ID示例:
{
"project_id": "01abc123-4567-89de-0123-456789abcdef"
}

在指定项目中创建新问题。
参数:
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": "实现新功能",
"description_html": "<p>我们需要实现新的报告功能</p>",
"priority": "high",
"assignees": ["user-id-1", "user-id-2"]
}

从指定项目中列出问题,并可选择过滤。
参数:
project_id
: 要获取问题的项目的IDstate_id
(可选): 按状态ID过滤priority
(可选): 按优先级过滤assignee_id
(可选): 按分配者ID过滤limit
(可选): 返回的最大问题数(默认:50)示例:
{
"project_id": "01abc123-4567-89de-0123-456789abcdef",
"priority": "high",
"limit": 10
}

获取特定问题的详细信息。
参数:
project_id
: 包含问题的项目的IDissue_id
: 要检索的问题的ID示例:
{
"project_id": "01abc123-4567-89de-0123-456789abcdef",
"issue_id": "01def456-7890-12gh-3456-789ijklmnopq"
}

更新项目中的现有问题。
参数:
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>更新描述,包含<strong>更多细节</strong></p>"
}

npm install --save-dev typescript @types/node
npm run dev
您可以使用MCP Inspector测试服务器:
npx @modelcontextprotocol/inspector node dist/index.js
在设置Plane MCP服务器后,您可以尝试以下与Claude的示例交互:
Claude将使用适当的工具与Plane交互,并在创建或修改任何问题之前请求您的批准。
git checkout -b feature/amazing-feature
)git commit -m '添加一些很棒的功能'
)git push origin feature/amazing-feature
)该项目根据MIT许可证授权 - 有关详细信息,请参阅LICENSE文件。
如果您遇到任何问题或有疑问: