Azure DevOps MCP 服务器
项目简介
本项目 'azure-devops-mcp-server' 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 应用提供与 Azure DevOps 工作项进行交互的能力。通过此服务器,LLM 可以获取 Azure DevOps 中的工作项信息,并执行创建、更新、删除工作项等操作,从而实现智能化的项目管理和任务协同。
主要功能点
- 资源 (Resources):
- 获取最近的工作项列表
- 根据ID获取单个工作项的详细信息
- 根据ID列表批量获取工作项信息
- 工具 (Tools):
- 创建新的工作项(例如:用户故事、任务)
- 根据ID删除工作项
- 更新工作项的字段(例如:标题、描述、状态等)
- Prompt 模板 (Prompts):
- 生成用于分析工作项的 Prompt,帮助 LLM 理解工作项内容和状态
- 生成用于建议更新工作项的 Prompt,辅助用户进行工作项的修改
安装步骤
- 克隆仓库:
git clone https://github.com/munishm/azure-devops-mcp-server.git cd azure-devops-mcp-server - 安装依赖:
确保已安装 Python 和 pip,然后运行以下命令安装项目依赖:
pip install fastmcp python-dotenv requests - 配置环境变量:
在项目根目录下创建 '.env' 文件,并填入以下 Azure DevOps 相关的环境变量:
请将 '<您的Azure DevOps组织名称>'、'<您的Azure DevOps项目名称>'、'<您的Azure DevOps个人访问令牌>' 替换为您的实际信息。 个人访问令牌 (PAT) 需要在 Azure DevOps 中生成,并赋予足够的操作工作项的权限。ORGANIZATION=<您的Azure DevOps组织名称> PROJECT=<您的Azure DevOps项目名称> AZURE_DEVOPS_PAT=<您的Azure DevOps个人访问令牌> # BASE_URL=https://dev.azure.com (可选,默认为 dev.azure.com,如果使用Azure DevOps Server,请修改此项)
服务器配置
MCP 客户端需要以下 JSON 配置信息来启动和连接 'azure-devops-mcp-server':
{ "serverName": "azure-devops-work-items-manager", "command": "python", "args": ["azure_devops_work_items_mcp.py"] }
- 'serverName': 自定义的服务名称,用于在 MCP 客户端中标识该服务器。
- 'command': 启动服务器的命令,这里使用 'python' 解释器。
- 'args': 命令参数,指定了服务器脚本的路径 'azure_devops_work_items_mcp.py'。请确保在 MCP 客户端启动时,当前工作目录是 'azure_devops-mcp-server' 仓库的根目录,或者提供脚本的完整路径。
基本使用方法
-
启动 MCP 服务器: 在配置好 MCP 客户端后,启动名为 'azure-devops-work-items-manager' 的服务器。服务器将通过标准输入/输出 (stdio) 与 MCP 客户端进行通信。
-
通过 MCP 客户端与 Azure DevOps 交互: 使用 MCP 客户端,你可以向 'azure-devops-work-items-manager' 服务器发送符合 MCP 协议的 JSON-RPC 请求,以访问资源、调用工具或获取 Prompt。
- 资源示例: 例如,使用资源 URI 'workitems://recent' 可以获取最近的工作项列表。
- 工具示例: 调用工具 'create_work_item' 并提供 'type'、'title' 和 'description' 参数,可以在 Azure DevOps 中创建一个新的工作项。
- Prompt 示例: 调用 Prompt 'analyze_work_item' 并提供 'work_item_id' 参数,可以生成一个用于分析指定工作项的 Prompt。
具体的资源、工具和 Prompt 的 URI 和参数定义,请参考 'azure_devops_work_items_mcp.py' 文件中的代码注释和 '@mcp.resource', '@mcp.tool', '@mcp.prompt' 装饰器的使用方式。
信息
分类
开发者工具