项目简介
Release Manager MCP 服务是一个基于 Model Context Protocol (MCP) 构建的后端应用,旨在模拟 Jira 和 Azure DevOps 的项目管理功能。它能够向大型语言模型 (LLM) 客户端提供标准化接口,使其能够通过 JSON-RPC 协议访问和操作与项目管理相关的“工具”。该服务支持多种传输协议,并且可以配置为使用合成数据进行快速测试和开发。
主要功能点
- Jira 工具集: 提供搜索、创建、更新 Jira 问题,以及获取 Jira 字段信息和 JQL (Jira Query Language) 指令等功能。
- Azure DevOps 工具集: 提供列出项目、发布版本、获取和更新工作项,以及创建新工作项和按日期筛选工作项等功能。
- 标准 MCP 接口: 通过 JSON-RPC 协议提供统一的 API 接口,实现与 LLM 客户端的无缝集成。
- 合成数据支持: 默认使用本地 CSV 文件作为数据源,方便开发和测试,无需连接真实的 Jira 或 Azure DevOps 实例。
安装步骤
- 克隆仓库: 打开你的终端或命令行工具,运行以下命令将项目仓库克隆到本地:
git clone https://github.com/microsoft/release-manager-assistant.git - 进入项目目录: 导航到刚刚克隆的 'release-manager-assistant' 目录:
cd release-manager-assistant - 安装 Python 依赖: 确保你的系统已安装 Python (推荐 3.12 版本)。然后,安装 MCP 服务器所需的 Python 库:
# 安装MCP服务器模块依赖 pip install -e src/backend/mcp_server # 安装fastmcp库 (MCP服务器的核心实现框架) pip install fastmcp - 准备数据: MCP 服务器默认会读取 'src/backend/mcp_server/static/issues.csv' 和 'src/backend/mcp_server/static/devops.csv' 作为模拟数据源。你可以根据需要修改这些 CSV 文件来模拟不同的 Jira 问题和 Azure DevOps 工作项数据。
服务器配置
MCP 服务器通常通过环境变量进行配置。对于 MCP 客户端,你需要配置连接到此 MCP 服务器的详细信息。以下是一个 MCP 客户端可能需要的配置示例,它将帮助你的客户端连接到本服务器:
{ "server_name": "ReleaseManagerMcpServer", "command": "python", "args": [ "src/backend/mcp_server/app.py" ], "env": { "MCP_TRANSPORT": "http", "MCP_HOST": "0.0.0.0", "MCP_PORT": "12321", "MCP_SERVER_NAME": "ReleaseManagerMcpServer", "MCP_DEBUG": "false", "USE_JIRA_MCP_SERVER": "true", "USE_AZURE_DEVOPS_MCP_SERVER": "true" }, "description": "连接到 Release Manager 项目的 MCP 服务器,提供 Jira 和 Azure DevOps 的模拟功能,支持 LLM 调用相关工具。" }
参数注释:
- 'server_name': MCP 服务器的唯一标识名称,例如 "ReleaseManagerMcpServer"。
- 'command': 启动 MCP 服务器进程所需的可执行命令,例如 "python"。
- 'args': 传递给启动命令的参数列表,通常包括 MCP 服务器的启动脚本路径。
- 'env': 一组环境变量,用于配置 MCP 服务器的具体行为和功能:
- 'MCP_TRANSPORT': 指定 MCP 服务器使用的传输协议,支持 "http", "stdio", "streamable-http", "sse" 等。HTTP 是最常见的选择。
- 'MCP_HOST': MCP 服务器监听的 IP 地址,"0.0.0.0" 表示监听所有可用的网络接口。
- 'MCP_PORT': MCP 服务器监听的端口号。
- 'MCP_SERVER_NAME': MCP 服务器在运行时显示的名称。
- 'MCP_DEBUG': 是否启用调试模式。"true" 或 "false"。
- 'USE_JIRA_MCP_SERVER': 配置是否启用内置的 Jira 模拟 MCP 服务。"true" 或 "false"。
- 'USE_AZURE_DEVOPS_MCP_SERVER': 配置是否启用内置的 Azure DevOps 模拟 MCP 服务。"true" 或 "false"。
- 'description': 对该 MCP 服务器功能和用途的简要说明。
基本使用方法
- 启动 MCP 服务器: 在 'release-manager-assistant' 仓库的根目录下,运行以下命令启动 MCP 服务器:
服务器将默认在 'http://0.0.0.0:12321/mcp/' 地址监听 HTTP 请求。你可以在日志中看到服务器启动信息。python src/backend/mcp_server/app.py - 与 LLM 客户端集成: 配置你的 LLM 客户端(例如,使用支持 MCP 协议的 'agent_framework' 或其他自定义客户端)连接到上述服务器地址。客户端可以通过 JSON-RPC 协议调用 MCP 服务器暴露的工具,例如 'jira_search_issues' 或 'azure_devops_list_projects'。
- 示例调用 (概念性):
假设你的 MCP 客户端想要搜索所有状态为“Active”的 Jira 问题,它会构造一个类似以下的 JSON-RPC 请求并发送给 MCP 服务器:
MCP 服务器在接收到此请求后,将处理该请求并返回匹配的 Jira 问题列表。{ "jsonrpc": "2.0", "method": "jira_search_issues", "params": { "jql": "status = Active" }, "id": 1 }
信息
分类
开发者工具