项目管理协议服务器

Plane MCP Server是一个模型上下文协议服务器,将Plane项目管理工具暴露给Claude Code和其他MCP兼容的AI助手使用。

  • by hieunguyenzzz
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 hieunguyenzzz/mcp-plane-ticket

使用说明

平面MCP服务器

一个模型上下文协议(MCP)服务器,它公开 飞机 Claude Code和其他兼容MCP的人工智能助手的项目管理工具。

特性

  • 9工具 用于完整的票务管理
  • 用户友好的标识符 -使用 SBS-123 而不是UUID
  • 州名称解析 -通行证 "In Progress" 而不是状态UUID
  • 多项目支持 -SBS、暴民、DE、OMNI、MWP、QUELL
  • 带有有用错误的验证 -当输入无效时显示有效选项

工具

工具 说明
plane_list_issues 列出过滤器的问题(项目、状态、优先级)
plane_get_issue 通过票ID获取单次发行(例如SBS-123)
plane_create_issue 创建新问题
plane_update_issue 更新问题(状态、优先级、标题等)
plane_delete_issue 删除问题
plane_list_comments 列出对某个问题的所有评论
plane_add_comment 向问题添加评论
plane_list_links 列出问题的外部链接
plane_add_link 添加外部链接(例如Monday.com)

安装

先决条件

  • Node.js 18+
  • npm

设置

# Clone the repository
git clone git@github.com:hieunguyenzzz/mcp-plane-ticket.git
cd mcp-plane-ticket

# Install dependencies
npm install

# Build
npm run build

使用克劳德代码注册

添加到您的 ~/.claude.json:

{
  "mcpServers": {
    "plane": {
      "command": "node",
      "args": ["/path/to/mcp-plane-ticket/dist/index.js"],
      "env": {
        "PLANE_API_KEY": "your-plane-api-key"
      }
    }
  }
}

重新启动Claude Code以加载MCP服务器。

用法示例

列出问题

mcp__plane__plane_list_issues(project: "SBS", state: "In Progress", limit: 10)

获取问题

mcp__plane__plane_get_issue(ticket_id: "SBS-123")

创建问题

mcp__plane__plane_create_issue(
  project: "MOB",
  name: "Fix login bug",
  description_html: "<p>Description here</p>",
  priority: "high",
  state: "Todo"
)

更新问题

mcp__plane__plane_update_issue(
  ticket_id: "SBS-123",
  state: "Done"
)

添加评论

mcp__plane__plane_add_comment(
  ticket_id: "SBS-123",
  comment_html: "<p>This is fixed now</p>"
)

添加外部链接

mcp__plane__plane_add_link(
  ticket_id: "SBS-123",
  title: "Monday: Task #12345",
  url: "https://monday.com/boards/123/pulses/12345"
)

配置

环境变量

变量 必填 描述
PLANE_API_KEY 是 您的飞机API密钥

支持的项目

项目 标识符 状态
soundboxstore.com SBS 积压→ Todo → 进行中→ PR已提交→ 现场测试→ 完成
mobelaris.com MOB 待办事项列表→ Todo → 进行中→ PR已提交→ 分期测试→ 现场测试→ 完成
designereditions.com DE 待办事项→ Todo → 进行中→ PR已提交→ PR审查→ 分期测试→ 现场测试→ 完成
omni.com omni 待办事项→ Todo → 进行中→ PR已提交→ 完成
merakiwedingplanner.com MWP 待办事项→ Todo → 进行中→ PR已提交→ 完成
queldesign.com 排队 积压→ Todo → 进行中→ PR已提交→ 代码审查→ 现场测试→ 完成

优先级值

  • none -无优先级
  • low -低优先级
  • medium -中等优先级
  • high -高优先级
  • urgent -紧急优先事项

发展

项目结构

src/
├── index.ts              # Main MCP server entry point
├── config/
│   └── projects.ts       # Project IDs, state mappings, helpers
├── common/
│   ├── errors.ts         # Custom error classes
│   └── utils.ts          # HTTP request utilities
└── operations/
    ├── issues.ts         # Issue CRUD operations
    ├── comments.ts       # Comment operations
    └── links.ts          # External link operations

建筑

npm run build

测试

# Test tools/list
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | \
  PLANE_API_KEY="your-key" node dist/index.js

# Test a tool call
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"plane_list_issues","arguments":{"project":"SBS","limit":5}}}' | \
  PLANE_API_KEY="your-key" node dist/index.js

建筑

此MCP服务器遵循官方 模型上下文协议 规范:

  • 运输:stdio(标准输入/输出)
  • 软件开发工具包: @modelcontextprotocol/sdk
  • 验证:Zod模式 zod-to-json-schema

关键设计决策

  1. 用户友好的标识符:接受 SBS-123 格式化,内部解析为UUID
  2. 州名称解析:接受 "In Progress",映射到每个项目的状态UUID
  3. 有用的验证错误:输入不匹配时显示有效选项
  4. 格式化响应:返回可读的状态名以及UUID

许可证

麻省理工学院