平面MCP服务器(SSE)
Plane MCP服务器使用服务器发送事件(SSE)传输将模型上下文协议(MCP)的功能带到Plane,允许AI代理和开发人员工具通过HTTP与您的Plane工作区进行编程交互。
无论您是在构建智能助手、自动化脚本还是工作流驱动的工具,该服务器都为Plane的API提供了一个无缝的基于HTTP-因此,您可以创建项目、管理问题、分配任务,并使您的工作与AI驱动的工具保持同步。
你能用它做什么?
此服务器为使用Plane的任何人解锁了各种有用的功能:
- 直接从AI或应用程序界面启动项目和工作项。
- 更新进度、分配团队成员、设置属性或添加注释——所有这些都是通过编程实现的。
- 通过工作流移动问题并动态更新其状态。
- 使用标签、模块和周期组织工作。
- 分析团队跨项目工作的数据。
- 构建与Plane自然交互的智能应用程序——无论是AI代理记录工作,还是保持项目整洁的机器人。
快速开始
安装
npm install -g @makeplane/plane-mcp-server启动SSE服务器
选项1:使用.env文件(推荐)
# Copy the example environment file
cp .env.example .env
# Edit .env with your Plane credentials
# PLANE_API_KEY=your-plane-api-key
# PLANE_WORKSPACE_SLUG=your-workspace-slug
# PORT=3000
# Start the server
plane-mcp-sse-server选项2:使用环境变量
# Set your environment variables
export PLANE_API_KEY="your-plane-api-key"
export PLANE_WORKSPACE_SLUG="your-workspace-slug"
export PORT=3000 # optional, defaults to 3000
# Start the server
plane-mcp-sse-server服务器将启动并显示:
==============================================
PLANE MCP SERVER - SSE TRANSPORT
==============================================
Endpoints:
- Health check: GET http://localhost:3000/health
- SSE stream: GET http://localhost:3000/sse
- Messages: POST http://localhost:3000/messages?sessionId=环境配置
PLANE_API_KEY-您的飞机API令牌。您可以从工作区设置>API令牌页面生成一个(/settings/api-tokens/)在Plane应用程序中。PLANE_WORKSPACE_SLUG-Plane实例的工作空间段塞。工作空间段符表示Plane中工作空间的唯一工作空间标识符。它可以在URL中找到。PLANE_API_HOST_URL(可选)-平面API服务器的主机URL。默认为https://api.plane.so/PORT(可选)-SSE服务器的端口。默认值为3000。
如何使用
基本客户端流
- 建立SSE连接:向发送GET请求
/sse建立服务器发送事件流 - 获取会话ID:服务器将在响应标头中提供会话ID
- 发送MCP请求:使用POST请求
/messages?sessionId=带有JSON-RPC有效载荷 - 接收响应:收听SSE流以获取响应和服务器事件
健康检查
curl http://localhost:3000/health答复:
{
"status": "ok",
"transport": "sse"
}MCP请求示例
一旦您建立了SSE连接并获得了会话ID:
curl -X POST "http://localhost:3000/messages?sessionId=YOUR_SESSION_ID" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_projects",
"arguments": {}
}
}'可用工具
用户
get_user-获取当前用户的信息
项目
get_projects-获取当前用户的所有项目create_project-创建新项目
问题类型
list_issue_types-获取特定项目的所有问题类型get_issue_type-获取特定问题类型的详细信息create_issue_type-在项目中创建新的问题类型update_issue_type-更新现有问题类型delete_issue_type-删除问题类型
州
list_states-获取特定项目的所有州get_state-获取特定州的详细信息create_state-在项目中创建新状态update_state-更新现有状态delete_state-删除状态
标签
list_labels-获取特定项目的所有标签get_label-获取特定标签的详细信息create_label-在项目中创建新标签update_label-更新现有标签delete_label-删除标签
问题
get_issue_using_readable_identifier-使用可读标识符(例如PROJ-123)获取问题详细信息get_issue_comments-获取特定问题的所有评论add_issue_comment-向问题添加评论create_issue-创建新问题update_issue-更新现有问题
模块
list_modules-获取特定项目的所有模块get_module-获取特定模块的详细信息create_module-在项目中创建新模块update_module-更新现有模块delete_module-删除模块
模块问题
list_module_issues-获取特定模块的所有问题add_module_issues-向模块添加问题delete_module_issue-从模块中删除问题
循环
list_cycles-获取特定项目的所有周期get_cycle-获取特定周期的详细信息create_cycle-在项目中创建新循环update_cycle-更新现有周期delete_cycle-删除循环
循环问题
list_cycle_issues-获取特定周期的所有问题add_cycle_issues-将问题添加到循环中delete_cycle_issue-从循环中删除问题
工作日志
get_issue_worklogs-获取特定问题的所有工作日志get_total_worklogs-获取项目的总记录时间create_worklog-为问题创建新的工作日志update_worklog-更新现有工作日志delete_worklog-删除工作日志
发展
从源头构建
git clone https://github.com/makeplane/plane-mcp-server.git
cd plane-mcp-server
npm install
npm run build开发命令
npm run build-构建项目npm run start:sse-构建并启动SSE服务器npm run dev:sse-快速开发构建和启动npm run test-startup-sse-测试SSE服务器启动npm run lint-运行门楣npm run format-格式代码
运输选项
此服务器支持两种传输方法:
- SSE 运输 (
plane-mcp-sse-server)-HTTP服务器,具有用于流式传输的服务器发送事件和用于客户端消息的POST - 标准运输 (
plane-mcp-server)-使用stdin/stdout进行通信的传统MCP服务器
集成示例
自定义MCP客户端
// Establish SSE connection
const eventSource = new EventSource('http://localhost:3000/sse');
let sessionId;
eventSource.addEventListener('message', (event) => {
const data = JSON.parse(event.data);
// Handle MCP responses
console.log('Received:', data);
});
// Get session ID from headers after connection
fetch('http://localhost:3000/sse', { method: 'HEAD' })
.then(response => {
sessionId = response.headers.get('mcp-session-id');
});
// Send MCP request
async function callTool(name, args) {
const response = await fetch(`http://localhost:3000/messages?sessionId=${sessionId}`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
jsonrpc: '2.0',
id: Date.now(),
method: 'tools/call',
params: { name, arguments: args }
})
});
}与MCP兼容的框架一起使用
SSE服务器与支持HTTP+SSE传输的任何MCP客户端兼容。将您的客户端配置为:
- 连接到SSE端点以接收消息
- 向消息端点发送POST请求以进行传出通信
许可证
此MCP服务器根据MIT许可证获得许可。这意味着您可以根据MIT许可证的条款和条件自由使用、修改和分发软件。有关更多详细信息,请参阅项目存储库中的LICENSE文件。
