Azure DevOps MCP 服务器

一个实现模型上下文协议(MCP)的服务器,将Azure DevOps与GitHub Copilot Chat集成,允许通过自然语言对话查询工作项。

  • by LinhDangOpti
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 LinhDangOpti/mcpserver

使用说明

Azure DevOps MCP服务器

A. 模型上下文协议(MCP) 将Azure DevOps与GitHub Copilot Chat集成的服务器,允许您通过对话自然地查询工作项

🚀 什么是MCP?

模型上下文协议(MCP) 是一个开放标准,将GitHub Copilot等人工智能助手连接到外部数据源。此工具实现了一个MCP服务器,该服务器:

  • 🔌 连接GitHub Copilot 到您的Azure DevOps项目
  • 💬 启用自然语言查询 -问问Copilot你的票吧
  • ⚡ 提供即时响应 来自缓存数据
  • 🔒 将数据保存在本地 -不涉及第三方服务

您可以直接询问Copilot,而不是在VS Code和Azure DevOps门户之间切换:

  • “显示我的冲刺票”
  • “总结票13080”
  • “ACC有什么票?”

🎯 这有什么作用

此工具可帮助您:

  • 即时查看 所有分配了验证任务的用户故事
  • 查询缓存数据 没有API费率限制或权限提示
  • 总结门票 包括评论和描述在内的完整细节
  • 追踪你的冲刺工作 高效地
  • 留在IDE中 -不需要上下文切换

✨ 主要特点

  • 🔌 MCP协议实现 -通过模型上下文协议与GitHub Copilot进行本地集成
  • 🚀 基于缓存的查询 -来自本地缓存的即时响应
  • 🔍 智能过滤 -使用您的查询自动查找用户故事
  • 💬 完整门票详情 -描述、评论、状态、受让人、标签
  • 📊 Sprint跟踪 -仅关注当前冲刺项目
  • 🤖 自然语言接口 -用简单的英语问Copilot,不需要特殊的语法

🛠️ 设置

1.先决条件

  • 已安装Node.js
  • Azure DevOps个人访问令牌

2.配置

创建一个 .env 使用您的凭据文件:

AZURE_DEVOPS_ORG_URL=https://your-org.visualstudio.com
AZURE_DEVOPS_TOKEN=your-personal-access-token
AZURE_DEVOPS_PROJECT=your-project-name
AZURE_DEVOPS_USER_EMAIL=your.email@company.com

3.安装依赖项

npm install
npm run build

📖 如何使用

步骤1:刷新缓存(每天一次或需要时)

npm run refresh

这将从当前sprint中获取所有用户故事,在那里您分配了“验证”任务。根据故事的数量,大约需要10-30秒。

输出示例:

Found 12 user stories with your verify tasks
✓ Cache updated successfully!
  Work items: 12
  Last updated: 2025-11-17T07:33:36.435Z

第二步:查询您的门票(即时,无提示!)

缓存后,您可以在VS Code中使用GitHub Copilot Chat立即查询:

在Copilot聊天中,问:

  • show all my sprint user stories
  • summarize ticket 13080
  • show all tickets in status "In ACC"
  • show tickets with tag "HIGHPRIO"

或者使用CLI:

# List all your verify stories
node cli.js my-verify

# Get details of a specific ticket
node cli.js item 13080

# Query cached data
npm run query

查询缓存命令

npm run query

可用命令:

  • list -列出所有缓存的用户故事
  • item <id> -显示特定票证的详细信息
  • by-state <state> -按状态筛选(活动、“ACC中”、新等)
  • info -显示缓存信息

🎨 MCP服务器与GitHub Copilot的集成

是什么让这个特别?

此工具实现 模型上下文协议(MCP),这意味着:

  1. 🔌 直接积分法 -Copilot可以访问您的Azure DevOps数据,就像它是本机功能一样
  2. 💬 自然对话 -无需特殊命令或语法
  3. ⚡ 实时上下文 -当你编码时,副驾驶知道你的票
  4. 🔒 安全和本地 -您的数据保留在您的计算机上,可通过您的个人令牌访问

运作原理

┌─────────────────┐
│  GitHub Copilot │  "Show my sprint tickets"
│   in VS Code    │
└────────┬────────┘
         │ MCP Protocol
         ▼
┌─────────────────┐
│   MCP Server    │  Queries local cache
│   (This Tool)   │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│  Cached Data    │  Your sprint tickets
│  work-items.json│  (refreshed from Azure DevOps)
└─────────────────┘

### MCP Configuration

The MCP server is configured in `.vscode/settings.json`:

```json
{
  "github.copilot.chat.codeGeneration.instructions": [
    {
      "file": "azure-devops-mcp-server"
    }
  ],
  "mcp.servers": {
    "azure-devops": {
      "command": "node",
      "args": ["dist/index.js"],
      "cwd": "${workspaceFolder}/azure-devops-mcp-server"
    }
  }
}

当Copilot需要Azure DevOps数据时,此命令会告诉VS Code运行MCP服务器。

📁 项目结构

azure-devops-mcp-server/
├── src/
│   ├── azure-devops-client.ts    # Azure DevOps API client
│   └── index.ts                  # MCP server implementation
├── cache/
│   └── work-items.json           # Cached sprint data
├── cli.js                        # Command-line interface
├── refresh-cache.js              # Cache refresh script
├── query-cache.js               # Cache query script
├── .env                          # Your credentials (gitignored)
└── package.json                  # Project configuration

🔄 典型工作流程

  1. 早晨: 跑 npm run refresh 获取今天的sprint数据
  2. 工作期间: 向Copilot询问门票-缓存的即时响应
  3. 需要更新吗? 跑 npm run refresh 再次

🎯 为什么这很重要

在此工具之前:

  • 每个查询都需要点击“允许”按钮
  • 打断你的心流
  • 反应缓慢

使用此工具:

  • 缓存一次,查询次数不限
  • 无权限提示
  • Copilot聊天中的即时响应

🚀 团队成员快速入门

  1. 克隆/复制此文件夹 到你的机器
  2. 创建 .env 文件 使用您的Azure DevOps凭据
  3. 安装依赖项: npm install && npm run build
  4. 刷新缓存: npm run refresh
  5. 配置VS代码 启用MCP服务器(请参阅上面的MCP配置)
  6. 开始和Copilot聊天 关于你的票!

💡 专业提示: MCP服务器运行后,Copilot将成为您的Azure DevOps助手。自然地提问!

💡 提示

  • 在工作日开始时刷新缓存
  • 缓存包括所有注释和描述
  • 缓存后脱机工作
  • 缓存文件是人类可读的JSON(检查 cache/work-items.json)

🔧 故障排除

“错误:azureClient.getUserStoriesWithMyVerifyTasks不是函数”

  • 跑 npm run build 重新编译TypeScript

“找到0个用户故事”

  • 检查您的电子邮件 .env 匹配Azure DevOps
  • 验证您在当前冲刺中分配了“验证”任务

缓存已过时

  • 跑 npm run refresh 更新

📝 许可证

国际协调委员会