Azure DevOps MCP 服务器

一个通过 FastAPI 提供与 Azure DevOps 服务无缝集成的 MCP 服务器,将 Azure DevOps 操作暴露为 MCP 工具,使 AI 助手和其他 MCP 客户端能够与 Azure DevOps 项目、存储库、Wiki 和文件内容进行交互。

  • by evetsydrah
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 evetsydrah/azdo-mcp

使用说明

Azure DevOps MCP服务器

模型上下文协议(MCP)服务器,通过FastAPI提供与Azure DevOps服务的无缝集成。此服务器将Azure DevOps操作作为MCP工具公开,使AI助手和其他MCP客户端能够与Azure DevOps项目、存储库、wiki和文件内容进行交互。

特性

  • 项目管理:列出并检索有关Azure DevOps项目的信息
  • 存储库操作:浏览存储库、列出文件和文件夹以及检索文件内容
  • Wiki集成:访问和检索Azure DevOps wiki页面和内容
  • SSE 运输:支持服务器发送事件进行实时通信

可用的MCP工具

1. get_azure_devops_projects

从Azure DevOps组织中检索所有项目。

参数:

  • organization_url (可选):Azure DevOps组织URL

退货: JSON,包含项目详细信息,包括ID、名称、描述、URL和状态。

2. get_repositories

列出特定Azure DevOps项目中的所有存储库。

参数:

  • project_name (必填):Azure DevOps项目的名称
  • organization_url (可选):Azure DevOps组织URL

退货: JSON,包含存储库信息,包括ID、名称、URL、默认分支和状态。

3. get_repository_items

浏览Git存储库中的文件和文件夹。

参数:

  • project_name (必填):Azure DevOps项目的名称
  • repository_id (必填):存储库ID
  • path (可选):要浏览的特定路径(默认为root)
  • recursive (可选):是否递归列出项目(默认值:False)
  • organization_url (可选):Azure DevOps组织URL

退货: JSON,包含文件/文件夹列表,包括路径、类型、大小和URL。

4. get_file_content

从Git存储库中检索特定文件的内容。

参数:

  • project_name (必填):Azure DevOps项目的名称
  • repository_id (必填):存储库ID
  • file_path (必填):文件路径
  • organization_url (可选):Azure DevOps组织URL

退货: JSON,具有文件内容、元数据和二进制文件检测功能。

5. get_wiki_pages

访问Azure DevOps维基页面及其内容。

参数:

  • project_name (必填):Azure DevOps项目的名称
  • wiki_id_or_name (必填):Wiki标识符或名称
  • path (可选):特定wiki页面路径(默认为root)
  • organization_url (可选):Azure DevOps组织URL

退货: JSON,包含wiki页面内容、元数据和URL。

先决条件

  • Python 3.13或更高版本
  • Azure DevOps个人访问令牌(PAT),参考https://github.com/microsoft/azure-devops-python-api
  • 访问Azure DevOps组织

安装

  1. 克隆此存储库:
git clone <repository-url>
cd azdo-mcp
  1. 使用uv安装依赖项:
pip install uv
uv lock
uv sync

配置

环境变量

创建一个 .env 项目根目录中的文件,包含以下变量:

AZURE_DEVOPS_PAT=your_personal_access_token_here
AZURE_DEVOPS_ORG_URL=https://dev.azure.com/your-organization

Azure DevOps设置

  1. 在Azure DevOps中生成个人访问令牌(PAT):

    • 转到Azure DevOps→ 用户设置→ 个人访问令牌
    • 创建具有适当作用域的新令牌(代码:读取,Wiki:读取,项目和团队:读取)
  2. 记下您的组织URL(通常 https://dev.azure.com/your-organization)

用法

运行服务器

启动MCP服务器:

python main.py

服务器将使用服务器发送事件(SSE)传输在端口8080上启动。

发展

项目结构

azdo-mcp/
├── main.py              # Main MCP server implementation
├── pyproject.toml       # Project configuration
├── .env                 # Environment variables (create this)
├── README.md            # This file

备注:此服务器提供对Azure DevOps资源的只读访问。确保您已经查看了个人访问令牌(PAT)访问所需资源的必要权限和范围。

另请参阅 Azure DevOps Python API文档 有关可用操作和配置的更多详细信息。