工程管理工具集成服务

一个用于集成Jira、Google Calendar和Notion等工程管理工具的MCP服务器,旨在为LLMs提供上下文。

  • by logsv
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 logsv/em-tools-mcp-server

使用说明

工程经理工具MCP服务器

一个模型上下文协议(MCP)服务器,用于集成Jira、Google Calendar和Notion等工程管理器工具,旨在为LLM提供上下文。

特性

  • Jira集成:管理任务、项目和问题
  • 谷歌日历集成:安排和管理会议
  • 概念整合:访问和管理文件和数据库

先决条件

  • Node.js(v14或更高版本)
  • npm或纱线
  • 具有API访问权限的Jira帐户
  • 启用日历API的Google云平台帐户
  • 具有API访问权限的通知帐户

安装

  1. 克隆存储库:

    git clone <repository-url>
    cd em-tools-mcp-server
    
  2. 安装依赖项:

    npm install
    
  3. 创建一个 .env 文件基于 .env.example 文件:

    cp .env.example .env
    
  4. 更新 .env 带有API凭证和配置的文件(可选,用于本地测试)。

用法

启动MCP服务器

要启动MCP服务器,请运行:

npm start

MCP服务器通过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: <YOUR_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: <YOUR_SESSION_ID>" \
  -d '{"jsonrpc":"2.0","id":3,"method":"get_login_jira","params":{"username":"<your-email>","apiToken":"<your-token>","host":"<your-jira-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

许可证

麻省理工学院