工程经理工具MCP服务器
一个模型上下文协议(MCP)服务器,用于集成Jira、Google Calendar和Notion等工程管理器工具,旨在为LLM提供上下文。
特性
- Jira集成:管理任务、项目和问题
- 谷歌日历集成:安排和管理会议
- 概念整合:访问和管理文件和数据库
先决条件
- Node.js(v14或更高版本)
- npm或纱线
- 具有API访问权限的Jira帐户
- 启用日历API的Google云平台帐户
- 具有API访问权限的通知帐户
安装
- 克隆存储库:
git clone
cd em-tools-mcp-server- 安装依赖项:
npm install- 创建一个
.env文件基于.env.example文件:
cp .env.example .env- 更新
.env带有API凭证和配置的文件(可选,用于本地测试)。
用法
启动MCP服务器
要启动MCP服务器,请运行:
npm startMCP服务器通过MCP协议进行通信,并设计为由MCP客户端或主机应用程序(例如,LLM应用程序、Claude Desktop或具有MCP客户端功能的IDE)连接。
______________________________________________________________________
连接到MCP服务器
您可以使用官方MCP客户端(如 npx mcp-remote)或者通过发出原始JSON-RPC请求(例如 curl).
1.使用npx mcp遥控器(推荐)
这是连接、列出工具和与服务器交互的最简单方法:
npx mcp-remote http://localhost:3000/mcp- 这将自动初始化会话,列出可用工具,并允许您与它们进行交互。
- 你做 不 需要手动管理会话ID;客户为您处理。
2.使用JSON-RPC(卷曲/手动)
如果你想直接交互(用于脚本编写或调试),请按照以下步骤操作:
a.初始化会话
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'- 复制
mcp-session-id从响应头(如果存在)或响应体(如果您的客户端支持)中获取。
b.列出可用工具
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-H "mcp-session-id: " \
-d '{"jsonrpc":"2.0","id":2,"method":"list_tools"}'c.使用集成工具前进行身份验证(登录)
- 使用登录工具进行所需的集成(例如Jira、Calendar、Notion)。
- 示例(Jira登录):
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-H "mcp-session-id: " \
-d '{"jsonrpc":"2.0","id":3,"method":"get_login_jira","params":{"username":"","apiToken":"","host":""}}'- 登录后,您可以在同一会话中使用Jira工具。
注: 如果您在未登录的情况下调用集成工具/资源,您将收到一条友好的错误消息,提示您先登录。
______________________________________________________________________
基于会话的流(重要)
- 所有请求(包括工具列表)都需要会话初始化。
- MCP客户端(如
npx mcp-remote或Claude Desktop)将自动初始化会话并为您处理会话ID。 - 如果使用curl或自定义客户端,则必须首先初始化会话,然后对所有后续请求使用返回的会话ID。
集成登录流程
- 吉拉: 使用
get_login_jira以进行身份验证。所有Jira工具/资源都需要登录。 - 谷歌日历: 使用
get_login_calendar以进行身份验证。所有日历工具/资源都需要登录。 - 概念: 使用
get_login_notion以进行身份验证。所有Notion工具/资源都需要登录。 - 如果您在未登录的情况下调用集成工具/资源,您将收到一条友好的错误消息,提示您先登录。
项目结构
├── src/
│ ├── index.js # Main entry point for the MCP server
│ ├── services/ # Service implementations for external APIs
│ │ ├── jiraService.js
│ │ ├── calendarService.js
│ │ └── notionService.js
│ └── utils/ # Utility functions (e.g., logger)
├── .env # Environment variables
├── .env.example # Example environment variables
└── package.json # Project dependencies许可证
麻省理工学院
