Azure DevOps工单管理服务器

一个实现模型上下文协议(MCP)的服务器,使AI助手能够通过标准化接口与Azure DevOps交互,实现工单的创建、更新和查询功能。

  • by langkurt
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 langkurt/azure-devops-mcp-server

使用说明

Azure DevOps MCP服务器

该项目实现了一个模型上下文协议(MCP)服务器,使AI助手能够与Azure DevOps交互,以创建和更新工单(工作项)。该服务器充当LLM和Azure DevOps REST API之间的桥梁,为AI代理管理工作项提供了一种标准化的方法。

概述

模型上下文协议(MCP)是一个开放标准,它规范了应用程序如何向大型语言模型(LLM)提供上下文。它为LLM创建了一个与外部工具和服务交互的通用接口,消除了在不同AI模型和工具之间进行自定义集成的需要。

此MCP服务器专门专注于Azure DevOps中的票证管理,使AI助手能够:

  • 创建新的工作项(工单)
  • 更新现有工作项
  • 向工作项添加注释
  • 检索工作项详细信息

先决条件

  • Python 3.10+
  • 具有适当权限的Azure DevOps帐户
  • 具有Azure DevOps API访问所需作用域的个人访问令牌(PAT)

安装

  1. 克隆此存储库:

    git clone https://github.com/langkurt/azure-devops-mcp-server.git
    cd azure-devops-mcp-server
    
  2. 安装所需的依赖项:

    pip install -r requirements.txt
    
  3. 创建一个 .env 项目根目录中的文件,包含以下变量:

    AZURE_DEVOPS_PAT=your_personal_access_token
    AZURE_DEVOPS_ORGANIZATION_URL=https://dev.azure.com/your-organization
    AZURE_DEVOPS_DEFAULT_PROJECT=your-default-project
    

    注意:请确保提供Azure DevOps组织的完整URL。

用法

运行MCP服务器

您可以通过不同的方式运行MCP服务器:

  1. MCP检查员的开发模式:

    mcp dev main.py
    
  2. 在Claude Desktop中安装:

    mcp install main.py --name "Azure DevOps Ticket Manager"
    
  3. 直接运行:

    python main.py
    

使用Claude或其他AI助手进行配置

要使用Claude Desktop配置此MCP服务器,请将以下内容添加到Claude Desktop的配置文件中:

{
  "mcpServers": {
    "azureDevOpsTickets": {
      "command": "python",
      "args": ["path/to/main.py"],
      "env": {
        "AZURE_DEVOPS_PAT": "your_personal_access_token",
        "AZURE_DEVOPS_ORGANIZATION_URL": "https://dev.azure.com/your-organization",
        "AZURE_DEVOPS_DEFAULT_PROJECT": "your-default-project"
      }
    }
  }
}

AI助手提示示例

一旦MCP服务器运行并连接到您的AI助手,您可以使用以下提示:

  • “在ProjectX中创建一个标题为“登录按钮在Safari中不起作用”的错误,并将其分配给jane@example.com"
  • “更新工作项#1234,将其状态更改为“已解决”,并添加解释修复的注释”
  • “获取工作项#5678的详细信息”
  • “创建新的用户故事以实现双因素身份验证”

可用工具

创建工作项

在Azure DevOps中创建新的工作项。

参数:

  • project:在其中创建工作项的项目(默认为.env中的值)
  • work_item_type:要创建的工作项类型(例如,“Bug”、“任务”、“用户故事”)
  • title:工作项的标题
  • description (可选):工作项的描述
  • assigned_to (可选):分配工作项的人员的电子邮件
  • state (可选):工作项的初始状态
  • priority (可选):工作项的优先级
  • area_path (可选):工作项的区域路径
  • iteration_path (可选):工作项的迭代路径
  • tags (可选):逗号分隔的标签列表

update_work_item

更新Azure DevOps中的现有工作项。

参数:

  • work_item_id:要更新的工作项的ID
  • title (可选):工作项的新标题
  • description (可选):工作项的新描述
  • assigned_to (可选):分配工作项的人员的电子邮件
  • state (可选):工作项的新状态
  • priority (可选):工作项的新优先级
  • area_path (可选):工作项的新区域路径
  • iteration_path (可选):工作项的新迭代路径
  • tags (可选):逗号分隔的标签列表

添加工作项

向Azure DevOps中的现有工作项添加注释。

参数:

  • work_item_id:要添加注释的工作项的ID
  • comment:要添加到工作项的注释文本

get_work_item

获取Azure DevOps中现有工作项的详细信息。

参数:

  • work_item_id:要检索的工作项的ID

安全考虑

  • 此MCP服务器需要一个对Azure DevOps组织具有适当权限的个人访问令牌(PAT)。
  • 安全地存储您的PAT,永远不要将其提交给版本控制。
  • 服务器应在安全的环境中运行,以防止未经授权访问Azure DevOps资源。

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

致谢