Mcp Server Azure Devops

Mcp Server Azure Devops

🚀 Azure DevOps MCP 服务器

Azure DevOps MCP(模型上下文协议)服务器是用于与 Azure DevOps 服务交互的工具。它功能丰富,涵盖用户管理、项目管理、代码存储库访问、工作项操作、搜索、管道管理、Wiki 操作及拉取请求管理等多个方面。

🚀 快速开始

先决条件

  1. 安装 Node.js 和 npm:确保已安装 Node.js 和 npm,可从 Node.js 官方网站 下载安装。
  2. 克隆仓库
git clone https://github.com/tiberriver256/mcp-server-azure-devops.git
cd mcp-server-azure-devops
  1. 安装依赖项
npm install
  1. 配置环境变量:根据文档要求,设置必要的环境变量(如 AZURE_DEVOPS_TOKEN 等)。
  2. 运行服务器
node index.js

✨ 主要特性

Azure DevOps MCP 服务器提供了丰富的功能,涵盖多个方面,以下是其主要特性:

  • 用户管理:可获取已认证用户的详细信息。
  • 组织与项目管理:能列出可访问的组织、项目,并获取项目详细信息。
  • 代码存储库操作:支持列出存储库、获取存储库详细信息以及文件内容。
  • 工作项管理:可创建、更新、搜索工作项,并管理工作项之间的链接。
  • 搜索功能:能在代码、Wiki 和工作项中进行搜索。
  • 管道管理:可列出管道、获取管道详细信息并触发管道运行。
  • Wiki 操作:可列出 Wiki 并获取 Wiki 页面内容。
  • 拉取请求管理:支持创建、列出和筛选拉取请求,并管理评论。

📦 安装指南

克隆仓库

git clone https://github.com/tiberriver256/mcp-server-azure-devops.git
cd mcp-server-azure-devops

安装依赖项

npm install

配置环境变量

根据文档要求,设置必要的环境变量,如 AZURE_DEVOPS_TOKENNODE_ENVPORT 等。

运行服务器

node index.js

💻 使用示例

基础用法

创建一个新的工作项

const mcp = require('mcp-server-azure-devops');
mcp.createWorkItem({
title: '新功能需求',
description: '开发新的用户故事功能。'
}, (error, workItem) => {
if (error) {
console.error('创建工作项时出错:', error);
} else {
console.log('工作项已创建,ID:', workItem.id);
}
});

搜索代码

mcp.searchCode('Feature:X', (error, results) => {
if (error) {
console.error('搜索代码时出错:', error);
} else {
console.log('找到的文件:', results.files);
}
});

触发管道运行

mcp.triggerPipeline('main', 'master', (error, pipelineRun) => {
if (error) {
console.error('触发管道时出错:', error);
} else {
console.log('管道已触发,运行 ID:', pipelineRun.id);
}
});

📚 详细文档

服务器结构

核心组件

  • 用户工具
    • get_me:获取已认证用户的详细信息(ID、显示名称、电子邮件)
  • 组织工具
    • list_organizations:列出所有可访问的组织
  • 项目工具
    • list_projects:在一个组织中列出所有项目
    • get_project:获取特定项目的详细信息
    • get_project_details:获取项目的全面详细信息,包括流程、工作项类型和团队
  • 存储库工具
    • list_repositories:列出项目中的所有存储库
    • get_repository:获取特定存储库的详细信息
    • get_repository_details:获取存储库的详细信息,包括统计信息和引用
    • get_file_content:获取存储库中文件或目录的内容
  • 工作项工具
    • get_work_item:按 ID 获取工作项
    • create_work_item:创建新的工作项
    • update_work_item:更新现有工作项
    • list_work_items:在项目中列出工作项
    • manage_work_item_link:添加、删除或更新工作项之间的链接
  • 搜索工具
    • search_code:在项目的存储库中搜索代码
    • search_wiki:在项目中搜索 Wiki 内容
    • search_work_items:在 Azure DevOps 中的所有项目中搜索工作项
  • 管道工具
    • list_pipelines:列出项目中的所有管道
    • get_pipeline:获取特定管道的详细信息
    • trigger_pipeline:触发管道运行,并可自定义参数
  • Wiki 工具
    • get_wikis:在项目中列出所有 Wiki
    • get_wiki_page:获取特定 Wiki 页面的内容(纯文本格式)
  • 拉取请求工具
    • create_pull_request:在存储库之间创建新的拉取请求
    • list_pull_requests:列出和筛选项目或存储库中的拉取请求
    • get_pull_request_comments:获取特定拉取请求的评论及其讨论线程
    • add_pull_request_comment:向拉取请求添加评论(回复现有评论或创建新线程)

认证方式

实现细节

认证模块位于项目的 src/auth 目录中,支持多种认证方法:

  • 基于令牌的认证
    • 使用 Azure DevOps 个人访问令牌进行认证。
    • 配置文件示例:
{
"auth": {
"method": "token",
"token": "your_azure_devops_token"
}
}
  • 基于 OAuth 的认证
    • 使用 OAuth 2.0 进行认证。
    • 配置文件示例:
{
"auth": {
"method": "oauth",
"clientId": "your_client_id",
"clientSecret": "your_client_secret"
}
}

环境变量

属性 详情
AZURE_DEVOPS_TOKEN Azure DevOps 个人访问令牌。
NODE_ENV 环境模式(development, production)。
PORT 应用程序运行的端口号。

错误处理

常见错误及解决方法

  1. 未认证错误:确保已设置并使用有效的 Azure DevOps 令牌或 OAuth 令牌。
  2. 权限不足错误:检查令牌是否有足够的权限执行所需操作,若需要更高权限,请生成新的令牌并授予适当权限。
  3. 网络连接问题:确保有稳定的互联网连接,且未被防火墙或代理阻止访问 Azure DevOps 服务。
  4. 解析错误:检查 API 请求的 URL 是否正确,并确保返回的数据格式与预期一致。

故障排除

调试步骤

  1. 检查日志输出:运行服务器时,注意控制台输出的任何错误或警告信息。
node index.js --debug
  1. 验证配置文件:确保 config.json 文件中的所有参数都正确无误。
  2. 重新安装依赖项:若遇到意外问题,尝试删除 node_modules 目录并重新安装依赖项。
rm -rf node_modules && npm install

🔧 技术细节

认证模块

认证模块位于 src/auth 目录,支持基于令牌和基于 OAuth 的认证方式。基于令牌的认证使用 Azure DevOps 个人访问令牌,基于 OAuth 的认证使用 OAuth 2.0 协议。通过配置文件可以灵活选择认证方式。

核心组件

服务器的核心组件包括用户工具、组织工具、项目工具、存储库工具、工作项工具、搜索工具、管道工具、Wiki 工具和拉取请求工具。每个工具都提供了一系列的方法,用于与 Azure DevOps 服务进行交互。

📄 许可证

本项目遵循 MIT License 协议。

❓ 问题反馈

提交问题

如果你在使用过程中遇到任何问题或需要帮助,请通过以下方式提交问题:

  1. GitHub Issues:访问 项目仓库,在 Issues 部分提交问题。
  2. 邮件联系:发送邮件至 support@yourdomain.com 联系开发团队。

📝 更新日志

最新版本

  • v1.0.0:初始版本,包含基本功能。
  • v1.1.0:新增 OAuth 支持,修复若干已知错误。
  • v1.2.0:改进性能和稳定性,支持更多 Azure DevOps 功能。
  • 0 关注
  • 0 收藏,12 浏览
  • system 提出于 2025-09-27 16:15

相似服务问题