Azure DevOps MCP 交互工具

通过Azure DevOps MCP服务器与Azure DevOps进行交互的演示工具,支持项目管理、工作项操作、仓库和Wiki管理等功能。

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

使用说明

Azure DevOps♾️ Azure DevOps MCP演示💬

通过Azure DevOps MCP服务器(项目、工作项、仓库、维基)与Azure DevOps交互的最小演示。

快速开始

  1. 紫外同步
  2. 设置环境变量(请参阅 .env.examples):AZURE_DEVOPS_ORG(例如contoso)、AZURE_DEVOPS_PAT(AZURE DEVOPS个人访问令牌)

[!注意] 该示例显示了如何使用Azure DevOps个人访问令牌(PAT)进行身份验证。要改用Azure CLI,只需省略 ADO_MCP_AUTH_TOKEN 环境变量。

令牌优化

此演示包括 优化版本 (main_optimized.py)通过渐进式工具披露,代币使用率降低了80-95%。它没有预先加载所有77个工具,而是根据用户意图智能地过滤工具,大大降低了成本和延迟。

主要优势:

  • 📉 每次请求平均减少92%的令牌
  • 💰 ~$每月节省420个成本(每天100个请求)
  • ⚡ 更快的响应时间
  • 🎯 基于智能意图的工具过滤

基于以下内容的最佳实践 Anthropic的MCP优化指南.

用法

示例:

  • “列出项目”
  • “在DemoProject中获取工作项10001”
  • “创建任务(预览)以更新DemoProject中的文档”
  • “在DemoProject中列出打开的拉取请求”
Sample MCP Interaction Outputs

1.列出项目

提示:

Get list of all projects in my Azure DevOps organization

答复:

以下是Azure DevOps组织中的所有项目:

  • DemoProject (ID:proj-001)--状态:良好形成--可见性:私人--最后更新时间:2025-01-15T10:30:00Z
  • 网络应用程序 (ID:proj-002)--状态:良好--可见性:公开--最后更新时间:2025-01-10T14:20:00Z
  • 移动应用程序 (ID:proj-003)--状态:良好形成--可见性:私有--最后更新时间:2024-12-20T08:15:00Z

2.获取我的工作项目

提示:

Get my work items for project DemoProject

答复:

我在DemoProject项目中找到了分配给你的15个工作项。它们是(ID--URL):

  • 10001 — https://dev.azure.com/[ORG]/_apis/wit/work项目/10001
  • 10002 — https://dev.azure.com/[ORG]/_apis/wit/work项目/10002
  • 10003 — https://dev.azure.com/[ORG]/_apis/wit/work项目/10003
  • 10004 — https://dev.azure.com/[ORG]/_apis/wit/workItems/10004
  • 10005 — https://dev.azure.com/[ORG]/_apis/wit/workItems/10005

您是否希望打开其中任何一个以获取完整详细信息(标题、州、受让人、描述)、过滤(按州/类型)、导出(CSV)或对其进行其他操作?


3.列出团队

提示:

Get list of teams for project DemoProject

答复:

我在“DemoProject”项目中找到了8个团队:

  1. 核心团队 --team-001
  2. DevOps团队 --team-002
  3. 前端团队 --team-003
  4. 后端团队 --team-004
  5. QA团队 --team-005
  6. 安全团队 --team-006
  7. 设计团队 --team-007
  8. 平台团队 --team-008

您想用描述、URL或团队成员身份来扩展这些内容吗?


4.获取工作项详细信息

提示:

Get work item 10001 and show me the fields: ID, Type, State, Title, Assigned To, and Priority

答复:

工作项10001

  • 类型: 任务
  • 国家: 活跃的
  • 标题: 更新API文档
  • 分配给: [编辑]
  • 优先: 2

5.创建工作项

提示:

Create a new Task in project DemoProject with title 'Update documentation' and description 'Need to update API documentation with latest changes'

答复:

✓ 在项目DemoProject中成功创建任务10015

细节:

  • 身份证件: 10015
  • 类型: 任务
  • 标题: 更新文档
  • 说明: 需要使用最新更改更新API文档
  • 国家: 新
  • 网址: https://dev.azure.com/[ORG]/DemoProject/_工作项/编辑/10015

6.更新工作项

提示:

Update work item 10001: set State to 'Active', Priority to 2, and add a comment 'Working on this now'

答复:

✓ 已成功更新工作项10001

已应用的更改:

  • 状态:新→ 活跃的
  • 优先级:3→ 2
  • 添加评论:“正在处理此问题”

当前版本:5


7.列出拉取请求

提示:

List all active pull requests for project DemoProject and repository webapp-frontend

答复:

在存储库中找到2个活动拉取请求 webapp前端:

  1. 产品编号301 -添加用户身份验证功能

    • 状态:活动
    • 来源:feature/auth→ main
    • 创建者:[已编辑]
  2. 产品编号302 -修复导航错误

    • 状态:活动
    • 来源:bugfix/nav→ 开发
    • 创建者:[已编辑]

8.列出维基

提示:

Get list of wikis in project DemoProject

答复:

在项目DemoProject中找到2个Wiki:

  1. 姓名: 演示项目.wiki

    • ID:wiki-001
    • 类型:项目wiki(类型=0)
    • 网址:https://dev.azure.com/[ORG]/[项目]/_wiki/wikis/wiki-001
  2. 姓名: 团队文档

    • ID:wiki-002
    • 类型:代码维基(类型=1)
    • 网址:https://dev.azure.com/[ORG]/[项目]/_wiki/wikis/wiki-002

您想要wiki的页面还是特定页面的内容?


9.复杂查询-分类错误

提示:

For project DemoProject and team Core Team:
1. Get the current iteration
2. List all unassigned bugs with priority 1 or 2
3. Show me the top 5 by creation date

答复:

当前迭代: Sprint 12

发现了12个优先级为1或2的未分配错误。以下是按创建日期排列的前5名:

  1. 漏洞10101 -严重:数据库连接超时

    • 优先级:1
    • 状态:新
    • 创建时间:2025-01-15T09:23:00Z
  2. Bug 10099 -后台服务内存泄漏

    • 优先级:1
    • 状态:活动
    • 创建时间:2025-01-14T16:45:00Z
  3. Bug 10087 -移动设备上的UI渲染问题

    • 优先级:2
    • 状态:新
    • 创建时间:2025-01-13T11:30:00Z
  4. Bug 10085 -大型请求上的API超时

    • 优先级:2
    • 状态:新
    • 创建时间:2025-01-12T14:20:00Z
  5. Bug 10082 -登录重定向间歇性失败

    • 优先级:1
    • 状态:活动
    • 创建时间:2025-01-11T10:15:00Z

您想分配其中任何一个还是查看更多详细信息?

资源📚