Azure DevOps 的 Model Context Protocol (MCP) 服务器实现,允许AI助手通过标准化协议与Azure DevOps API进行交互。
此服务器实现了Azure DevOps的Model Context Protocol (MCP),使像Claude这样的AI助手能够安全地与Azure DevOps资源进行交互。该服务器作为AI模型与Azure DevOps API之间的桥梁,提供了一种标准化的方式:
服务器围绕Model Context Protocol (MCP)构建,用于与AI助手通信。它提供了与Azure DevOps资源交互的工具,包括:
服务器采用基于特性的架构,每个特性区域(如工作项、项目、仓库)都封装在自己的模块中。这使得代码库更易于维护,并且更容易扩展新功能。
构建项目后使用npm run build,可以直接运行服务器:
npx @tiberriver256/mcp-server-azure-devops
要与Claude Desktop或Cursor AI集成,请在配置文件中添加以下配置之一。
确保您已使用az login登录到Azure CLI,然后添加以下内容:
{
"mcpServers": {
"azureDevOps": {
"command": "npx",
"args": ["-y", "@tiberriver256/mcp-server-azure-devops"],
"env": {
"AZURE_DEVOPS_ORG_URL": "https://dev.azure.com/your-organization",
"AZURE_DEVOPS_AUTH_METHOD": "azure-identity",
"AZURE_DEVOPS_DEFAULT_PROJECT": "your-project-name"
}
}
}
}
{
"mcpServers": {
"azureDevOps": {
"command": "npx",
"args": ["-y", "@tiberriver256/mcp-server-azure-devops"],
"env": {
"AZURE_DEVOPS_ORG_URL": "https://dev.azure.com/your-organization",
"AZURE_DEVOPS_AUTH_METHOD": "pat",
"AZURE_DEVOPS_PAT": "<YOUR_PAT>",
"AZURE_DEVOPS_DEFAULT_PROJECT": "your-project-name"
}
}
}
}
有关详细配置说明和其他认证选项,请参阅认证指南。
此服务器支持多种连接到Azure DevOps API的认证方法。对于详细的设置说明、配置示例和故障排除提示,请参阅认证指南。
每种认证方法的配置文件示例可在示例目录中找到。
完整的环境变量列表及其描述,请参阅认证指南。
关键环境变量包括:
| 变量 | 描述 | 是否必需 | 默认值 |
|---|---|---|---|
AZURE_DEVOPS_AUTH_METHOD | 认证方法 (pat, azure-identity, 或 azure-cli) - 不区分大小写 | 否 | azure-identity |
AZURE_DEVOPS_ORG_URL | 您的Azure DevOps组织的完整URL | 是 | - |
AZURE_DEVOPS_PAT | 个人访问令牌(仅适用于PAT认证) | 仅适用于PAT认证 | - |
AZURE_DEVOPS_DEFAULT_PROJECT | 如果未指定,默认项目 | 否 | - |
AZURE_DEVOPS_API_VERSION | 要使用的API版本 | 否 | 最新 |
AZURE_TENANT_ID | Azure AD租户ID(适用于服务主体) | 仅适用于服务主体 | - |
AZURE_CLIENT_ID | Azure AD应用程序ID(适用于服务主体) | 仅适用于服务主体 | - |
AZURE_CLIENT_SECRET | Azure AD客户端密钥(适用于服务主体) | 仅适用于服务主体 | - |
LOG_LEVEL | 日志级别(debug, info, warn, error) | 否 | info |
对于每种认证方法的详细故障排除信息,请参阅认证指南。
常见问题包括:
关于Azure DevOps MCP服务器如何实现认证的技术细节,请参阅认证指南和src/auth目录中的源代码。
Azure DevOps MCP服务器提供了多种工具来与Azure DevOps资源进行交互。关于每个工具的详细文档,请参考相应的文档。
get_me:获取已认证用户的详细信息(id, displayName, email)list_organizations:列出所有可访问的组织list_projects:列出组织中的所有项目get_project:获取特定项目的详细信息get_project_details:获取项目的全面详细信息,包括流程、工作项类型和团队list_repositories:列出项目中的所有仓库get_repository:获取特定仓库的详细信息get_repository_details:获取仓库的详细信息,包括统计信息和引用get_file_content:从仓库中获取文件或目录的内容get_repository_tree:列出仓库的文件树,从任何路径和深度create_branch:从现有分支创建新的分支create_commit:使用统一差异或搜索/替换指令将多个文件更改提交到分支get_work_item:根据ID检索工作项create_work_item:创建新的工作项update_work_item:更新现有的工作项list_work_items:列出项目中的工作项manage_work_item_link:添加、删除或更新工作项之间的链接search_code:跨项目中的仓库搜索代码search_wiki:跨项目中的维基页面搜索内容search_work_items:跨Azure DevOps中的项目搜索工作项list_pipelines:列出项目中的管道get_pipeline:获取特定管道的详细信息list_pipeline_runs:列出带有可选过滤器的管道最近运行情况get_pipeline_run:获取详细的运行信息和工件摘要download_pipeline_artifact:下载单个工件文件作为文本pipeline_timeline:检索运行的阶段和作业时间线get_pipeline_log:检索原始或JSON格式的日志内容trigger_pipeline:触发带有可自定义参数的管道运行get_wikis:列出项目中的所有维基get_wiki_page:以纯文本形式获取特定维基页面的内容create_pull_request - 创建新的拉取请求list_pull_requests - 列出仓库中的拉取请求add_pull_request_comment - 在拉取请求上添加评论get_pull_request_comments - 获取拉取请求的评论update_pull_request - 更新现有的拉取请求(标题、描述、状态、草稿状态、审查者、工作项)get_pull_request_changes - 列出拉取请求中的更改和策略评估状态get_pull_request_checks - 汇总状态检查、策略评估及其相关管道的状态有关所有工具的综合文档,请参阅工具文档。
欢迎贡献!请参阅CONTRIBUTING.md了解贡献指南。
MIT