使用说明
飞机进气口MCP服务器
用于管理的MCP服务器 飞机 入院队列(分流工作流程)。适用于任何Plane实例-自托管或云。
特性
招生管理(核心)
- 列出摄入项目 具有可选的状态过滤和摘要统计信息
- 接受摄入项目 并转换为带有标签的常规问题
- 拒绝/拒绝摄入项目 保持队列整洁
- 将项目标记为重复项 降低噪音
上下文发现
- 列出项目 查找项目ID和标识符
- 通过可读ID获取问题 (例如FIRST-123)用于快速访问
- 列出项目问题 查找重复项并理解上下文
- 列出标签 查找用于对已接受项目进行分类的ID
- 列表状态 了解项目工作流程
- 获取工作区成员 用于分配问题
协作
- 添加评论 记录分流决定和注意事项
- 获取问题评论 回顾讨论历史
安装
Homebrew(推荐用于macOS/Linux)
brew install https://raw.githubusercontent.com/amaiko-ai/plane-mcp-server/main/Formula/plane-mcp-server.rb
然后配置Claude Desktop:
{
"mcpServers": {
"plane-intake": {
"command": "plane-mcp-server",
"args": [],
"env": {
"PLANE_API_KEY": "your-api-key-here",
"PLANE_WORKSPACE_SLUG": "your-workspace-slug",
"PLANE_API_HOST_URL": "https://app.plane.so"
}
}
}
}
配置位置: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
更新: brew upgrade plane-mcp-server
视窗
从下载并解压缩Windows二进制文件 发布:
plane-mcp-server-windows-x64.exe.zip(提取以获得.exe)
然后在以下位置配置Claude Desktop %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"plane-intake": {
"command": "C:\\path\\to\\plane-mcp-server-windows-x64.exe",
"args": [],
"env": {
"PLANE_API_KEY": "your-api-key-here",
"PLANE_WORKSPACE_SLUG": "your-workspace-slug",
"PLANE_API_HOST_URL": "https://app.plane.so"
}
}
}
}
快速安装脚本(替代方案-macOS/Linux)
macOS和Linux:
curl -fsSL https://raw.githubusercontent.com/amaiko-ai/plane-mcp-server/main/install.sh | bash
这将自动下载、安装和配置所有内容。
手动安装
选项1:独立二进制
从以下网址下载适用于您平台的预构建二进制文件 最新版本:
- macOS ARM64 (苹果硅):
plane-mcp-server-macos-arm64.xz - macOS x64 (英特尔):
plane-mcp-server-macos-x64.xz - Linux x64:
plane-mcp-server-linux-x64.xz - Linux ARM64:
plane-mcp-server-linux-arm64.xz - Windows x64:
plane-mcp-server-windows-x64.exe.zip
下载后:
macOS/Linux:
# Decompress the binary
xz -d plane-mcp-server-macos-arm64.xz
# Make it executable
chmod +x plane-mcp-server-macos-arm64
# macOS only: Remove quarantine attribute to allow execution
xattr -d com.apple.quarantine plane-mcp-server-macos-arm64
窗户:
# Extract the zip file (right-click → Extract All)
# Or via PowerShell:
Expand-Archive plane-mcp-server-windows-x64.exe.zip
然后手动配置Claude Desktop:
{
"mcpServers": {
"plane-intake": {
"command": "/path/to/plane-mcp-server-macos-arm64",
"args": [],
"env": {
"PLANE_API_KEY": "your-api-key-here",
"PLANE_API_HOST_URL": "https://app.plane.so",
"PLANE_WORKSPACE_SLUG": "your-workspace"
}
}
}
}
配置位置: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
选项2:通过npm(需要Node.js)
Click to expand npm installation instructions
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"plane-intake": {
"command": "npx",
"args": ["-y", "@amaiko-ai/plane-mcp-server"],
"env": {
"PLANE_API_KEY": "your-api-key-here",
"PLANE_API_HOST_URL": "https://app.plane.so",
"PLANE_WORKSPACE_SLUG": "your-workspace"
}
}
}
}
⚠️ macOS PATH问题:
在macOS上,Claude Desktop(GUI应用程序)可能找不到 npx 在你的路径。如果您看到以下错误 spawn npx ENOENT,使用绝对路径 npx:
# Find your npx location
which npx
# Example output: /usr/local/bin/npx or /Users/you/.nvm/versions/node/v20.0.0/bin/npx
然后用绝对路径更新你的配置:
{
"mcpServers": {
"plane-intake": {
"command": "/usr/local/bin/npx",
"args": ["-y", "@amaiko-ai/plane-mcp-server"],
"env": {
"PLANE_API_KEY": "your-api-key-here",
"PLANE_API_HOST_URL": "https://app.plane.so",
"PLANE_WORKSPACE_SLUG": "your-workspace"
}
}
}
}
配置文件位置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 窗户:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
Claude代码插件
如果您使用的是Claude Code的Amaiko Plane插件,则会自动配置此服务器。请参阅 平面插件 了解详情。
配置
服务器需要以下环境变量:
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
PLANE_API_KEY |
✅ 是 | - | 您的飞机API密钥 |
PLANE_WORKSPACE_SLUG |
✅ 是 | - | 您的工作区标识符 |
PLANE_API_HOST_URL |
❌ 没有 | https://app.plane.so |
平面实例URL |
获取API密钥
- 转到你的Plane实例
- 导航至 设置 → API令牌
- 创建新令牌
- 复制并将其用作
PLANE_API_KEY
寻找你的工作空间
您的工作区slug位于URL中: https://app.plane.so/{workspace-slug}/...
可用工具
上下文发现
list_项目
列出工作区中的所有项目以查找项目ID和标识符。
参数: 无
例子:
// No parameters needed
答复:
{
"total": 5,
"projects": [
{
"id": "abc-123",
"name": "Product Development",
"identifier": "PROD",
"description": "Main product features"
}
]
}
获取问题
使用可读标识符(例如FIRST-123)获取问题详细信息。比使用UUID容易得多!
参数:
project_identifier(字符串,必填):项目标识符(例如“FIRST”)issue_number(字符串,必填):发行号(例如“123”)
例子:
{
"project_identifier": "FIRST",
"issue_number": "123"
}
列表_项目_问题
列出项目中的问题。有助于查找重复项和理解上下文。默认情况下最多返回20个问题。
参数:
project_id(string,必填):项目的UUIDlimit(数字,可选):要返回的最大问题数(默认值:20,最大值:100)
例子:
{
"project_id": "abc-123",
"limit": 50
}
list_labels
列出项目中的所有标签。对已接受的摄入项目进行分类至关重要。
参数:
project_id(string,必填):项目的UUID
例子:
{
"project_id": "abc-123"
}
答复:
{
"total": 10,
"labels": [
{
"id": "label-uuid",
"name": "bug",
"color": "#FF0000",
"description": "Bug reports"
}
]
}
list_states
列出项目中的所有工作流状态。
参数:
project_id(string,必填):项目的UUID
例子:
{
"project_id": "abc-123"
}
get_workspace_members
获取工作区中的所有成员以分配问题。
参数: 无
例子:
// No parameters needed
答复:
{
"total": 15,
"members": [
{
"id": "user-uuid",
"name": "John Doe",
"email": "john@example.com",
"role": 20
}
]
}
评论
add_issue_comment
为问题或条目添加评论。非常适合记录分流决策。
参数:
project_id(string,必填):项目的UUIDissue_id(string,必填):问题的UUIDcomment(字符串,必填):注释文本(纯文本,自动转换为HTML)
例子:
{
"project_id": "abc-123",
"issue_id": "issue-789",
"comment": "Accepted as feature request. Assigning to sprint 24."
}
获取问题注释
获取某个问题或进气项目的所有评论。
参数:
project_id(string,必填):项目的UUIDissue_id(string,必填):问题的UUID
例子:
{
"project_id": "abc-123",
"issue_id": "issue-789"
}
招生管理
list_intake_items
以优化的响应格式列出项目的所有接收项目,包括汇总统计数据。
参数:
project_id(string,必填):项目的UUIDstatus(字符串,可选):按状态筛选-2:待定-1:拒绝1:接受2:重复
例子:
{
"project_id": "abc-123-def-456",
"status": "-2" // Only pending items
}
答复:
{
"summary": {
"total": 47,
"pending": 35,
"accepted": 8,
"declined": 3,
"duplicate": 1
},
"items": [
{
"id": "uuid",
"sequence_id": 123,
"name": "Bug in login",
"status": "pending",
"priority": "high",
"created_at": "2025-01-11T10:00:00Z"
}
],
"note": "Showing 50 of 47 items"
}
accept_intake_item
接受一个摄入项目并将其转化为常规问题。
参数:
project_id(string,必填):项目的UUIDissue_id(string,必填):摄入问题的UUIDlabel_ids(数组,可选):接受后添加标签UUID
例子:
{
"project_id": "abc-123-def-456",
"issue_id": "issue-789",
"label_ids": ["label-1", "label-2"]
}
decline_intake_item
拒绝/拒绝摄入项目。
参数:
project_id(string,必填):项目的UUIDissue_id(string,必填):摄入问题的UUID
例子:
{
"project_id": "abc-123-def-456",
"issue_id": "issue-789"
}
标记_获取_复制
将一个条目标记为另一个问题的副本。
参数:
project_id(string,必填):项目的UUIDduplicate_issue_id(string,必填):重复摄入问题的UUIDprimary_issue_id(字符串,必填):主要问题的UUID
例子:
{
"project_id": "abc-123-def-456",
"duplicate_issue_id": "issue-789",
"primary_issue_id": "issue-123"
}
用法示例
使用克劳德桌面
配置后,您可以询问Claude:
基本摄入管理:
"Show me all pending intake items for project PROD"
"Accept PROD-123 and label it as a bug"
"Decline PROD-124 with a comment explaining why"
"Mark PROD-125 as duplicate of PROD-100"
上下文发现:
"List all my projects"
"Show me details for issue FIRST-123"
"Find recent issues in project ABC that might be related to 'authentication'"
"What labels are available in the Product project?"
"Who are the members in this workspace?"
智能工作流:
"Check PROD-123, find if there are duplicates, and if not, accept it with 'feature' label"
"Review all pending intake items, add comments to each explaining the triage decision"
"List all high-priority bugs in FIRST project to help me triage new intake items"
与MCP检查员一起
用于测试和调试:
npx @modelcontextprotocol/inspector npx @amaiko-ai/plane-mcp-server
发展
设置
git clone https://github.com/amaiko-ai/plane-mcp-server.git
cd plane-mcp-server
pnpm install
构建
# Build TypeScript
pnpm build
# Build standalone executables (requires Bun)
./scripts/build-executables.sh
本地测试
# Set environment variables
export PLANE_API_KEY=your-key
export PLANE_WORKSPACE_SLUG=your-workspace
export PLANE_API_HOST_URL=https://app.plane.so
# Run in development mode
pnpm dev
MCP检验员测试
export PLANE_API_KEY=your-key
export PLANE_WORKSPACE_SLUG=your-workspace
npx @modelcontextprotocol/inspector pnpm dev
故障排除
服务器无法启动
检查环境变量:
echo $PLANE_API_KEY
echo $PLANE_WORKSPACE_SLUG
验证API关键工作:
curl -H "X-API-Key: $PLANE_API_KEY" \
"https://app.plane.so/api/v1/workspaces/$PLANE_WORKSPACE_SLUG/projects/"
工具未出现在Claude中
- 完全重新启动Claude Desktop(退出并重新打开)
- 检查MCP日志:
- macOS:
~/Library/Logs/Claude/mcp.log - 窗户:
%APPDATA%\Claude\Logs\mcp.log
- macOS:
- 验证您的
claude_desktop_config.json语法有效
API错误
401未经授权:
- 验证您的API密钥是否正确
- 检查Plane设置中的密钥是否未过期
404未找到:
- 验证工作区段塞是否正确
- 确保项目ID是有效的UUID
路线图
- []支持创建进气项目
- []批量操作(接受/拒绝倍数)
- []按优先级、标签、受让人筛选
- []与Plane webhooks集成
- []支持自定义进气工作流程
贡献
欢迎投稿!拜托:
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
许可证
MIT© Amaiko
