mcpField
C
Cursor Azure DevOps MCP Server

Cursor Azure DevOps MCP Server

本地服务
github.com/maximtitovich云与基础设施1281 周前更新

关于 Cursor Azure DevOps MCP Server

Cursor Azure DevOps MCP Server 将 Azure DevOps 项目数据接入 Cursor 中的 AI 工作流,提供工作项、仓库、拉取请求和测试管理能力,并会截断过大的响应。

主要功能

  1. 01获取项目和工作项
  2. 02浏览仓库和拉取请求
  3. 03查看拉取请求变更和评论
  4. 04访问测试计划、套件和用例
  5. 05截断大型响应并保留关键字段
  6. 06使用已配置的默认项目

适用场景

  1. 01在 Cursor 中查看工作项
  2. 02检查拉取请求差异和讨论串
  3. 03为拉取请求添加评论
  4. 04浏览测试计划和用例

MCP 相关

此 MCP 服务将 Azure DevOps 项目、工作项、仓库、拉取请求和测试管理数据作为工具提供。它可通过命令模式或 SSE 模式连接 Cursor。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cursor-azure-devops": {
"command": "npx",
"args": [
"-y",
"cursor-azure-devops-mcp"
]
}
}
}
启动命令npx -y cursor-azure-devops-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmcursor-azure-devops-mcp

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Cursor Azure DevOps MCP 服务

CI Publish Version Bump npm version License: MIT

用于将 Azure DevOps 与 Cursor IDE 集成的模型上下文协议(MCP)服务。此工具可让 Cursor 中的 Claude AI 与 Azure DevOps 交互,访问项目、工作项、代码库和拉取请求。

功能

  • 获取 Azure DevOps 项目
  • 按 ID 获取工作项
  • 获取多个工作项
  • 列出项目中的代码库
  • 获取代码库的拉取请求
  • 查看拉取请求详情和讨论串
  • 获取工作项附件(图片、PDF 和其他文件)
  • 获取包含元数据的工作项评论(包括提及和回应)
  • 获取拉取请求的详细代码更改(查看更改前后的文件内容)
  • 在拉取请求上创建评论(支持回复现有评论)
  • 测试计划管理:
    • 列出项目中的所有测试计划
    • 按 ID 获取测试计划详情
    • 列出测试计划中的测试套件
    • 按 ID 获取测试套件详情
    • 列出测试套件中的测试用例
  • 智能响应处理:
    • 自动截断大型响应,以符合 AI 模型的限制
    • 截断响应时保留关键字段
    • 提供截断状态和原始大小的元数据
  • 项目配置:
    • 支持从配置中指定默认项目
    • 未指定项目时回退到配置中的项目
    • 妥善处理缺少项目信息的情况

更新日志

版本 1.0.3
新增
  • 支持测试计划管理:
    • 新工具:azure_devops_test_plans - 列出项目中的所有测试计划
    • 新工具:azure_devops_test_plan - 按 ID 获取测试计划
    • 新工具:azure_devops_test_suites - 列出测试计划中的所有测试套件
    • 新工具:azure_devops_test_suite - 按 ID 获取测试套件
    • 新工具:azure_devops_test_cases - 列出测试套件中的所有测试用例
增强
  • 响应大小管理:
    • 新增智能响应截断功能(默认最大 50KB)
    • 截断响应时保留关键字段
    • 在响应中添加截断元数据
  • 项目配置:
    • 新增从配置中指定默认项目的支持
    • 改进所有测试相关方法中的项目参数处理
    • 妥善处理缺少项目信息的情况
修复
  • 调整测试套件方法中的参数顺序,以符合 TypeScript 要求
  • 改进测试相关 API 调用中的错误处理
  • 优化大型测试套件响应的格式

安装

全局安装
npm install -g cursor-azure-devops-mcp
本地安装
npm install cursor-azure-devops-mcp

配置

服务可通过多种来源进行配置,优先级如下:

  1. 命令行参数
  2. VSCode/Cursor IDE 设置
  3. 环境变量 / .env 文件
  4. 默认值
命令行参数

你可以使用命令行参数配置服务器:

npx cursor-azure-devops-mcp --azure-org-url=https://dev.azure.com/your-organization --azure-token=your-token --azure-project=YourProject

可用选项:

选项别名描述
--azure-org-url--orgAzure DevOps 组织 URL
--azure-token--tokenAzure DevOps 个人访问令牌
--azure-project--project默认 Azure DevOps 项目名称
--port-p服务器端口(HTTP 模式)
--host-h服务器主机名(HTTP 模式)
--log-level--log日志级别(error、warn、info、debug)
--help-?显示帮助
VSCode/Cursor IDE 设置

你可以在 VSCode 或 Cursor IDE 设置中配置服务器:

  1. 全局设置:~/.vscode/settings.json 或 ~/.cursor/settings.json
  2. 工作区设置:.vscode/settings.json 或 .cursor/settings.json

设置示例:

{
  "azureDevOps.organization": "your-organization",
  "azureDevOps.token": "your-personal-access-token",
  "azureDevOps.project": "YourProject",
  "cursor-azure-devops-mcp": {
    "port": 3000,
    "logLevel": "info"
  }
}
环境变量

在项目根目录中创建 .env 文件,并添加以下变量:

AZURE_DEVOPS_ORG_URL=https://dev.azure.com/your-organization
AZURE_DEVOPS_TOKEN=your-personal-access-token
AZURE_DEVOPS_PROJECT=YourProject
PORT=3000
LOG_LEVEL=info

你也可以复制提供的 .env.example 文件:

cp .env.example .env

然后编辑该文件,填写你的 Azure DevOps 凭据。

使用方法

使用 npx 运行

使用此 MCP 服务最简单的方法是通过 npx:

npx cursor-azure-devops-mcp
在 Cursor IDE 中设置(版本 0.46.9+)

Cursor IDE 支持通过两种方式连接到 MCP 服务:Command 模式和 SSE 模式。

选项 1:Command 模式(推荐)

Command 模式会直接在 Cursor 中以进程的形式运行 MCP 服务。这是最可靠的方法,应作为首选:

  1. 打开 Cursor IDE

  2. 前往 Settings > Features > MCP Servers

  3. 点击“Add New MCP Server”

  4. 输入服务名称(例如,“Azure DevOps”)

  5. 从下拉菜单中选择“command”

  6. 输入运行服务的命令:

    cursor-azure-devops-mcp
    

    如果尚未全局安装,可以使用 npx:

    npx cursor-azure-devops-mcp
    
  7. 点击“Add”

重要提示:使用 Command 模式时,服务会自动使用系统环境变量,或使用当前工作目录中的 .env 文件。请确保 .env 文件已正确配置 Azure DevOps 凭据。

Command 模式故障排除:

如果遇到“server.setRequestHandler is not a function”或类似错误:

  1. 确保已安装最新版本的软件包
  2. 尝试重新安装软件包:npm install -g cursor-azure-devops-mcp
  3. 检查 .env 文件是否已正确配置 Azure DevOps 凭据
选项 2:SSE 模式(备选)

注意:SSE 模式更容易出现连接问题。如果遇到问题,请改用 Command 模式。

SSE 模式通过 Server-Sent Events 连接到 HTTP 服务:

  1. 首先,启动支持 SSE 的 HTTP 服务:

    npm run sse-server
    

    或

    npx cursor-azure-devops-mcp-sse
    

    默认情况下,这会在端口 3000 上启动服务。

  2. 打开 Cursor IDE

  3. 前往 Settings > Features > MCP Servers

  4. 点击“Add New MCP Server”

  5. 输入服务名称(例如,“Azure DevOps SSE”)

  6. 从下拉菜单中选择“sse”

  7. 输入 SSE 端点 URL:

    http://localhost:3000/sse
    
  8. 点击“Add”

Windows 用户

如果你使用 Windows 且遇到命令模式问题,请尝试使用以下格式:

cmd /k npx cursor-azure-devops-mcp
mcp.json 安装
{
    "azure-devops": {
      "command": "cmd",
      "args": [
        "/c",
        "npx",
        "cursor-azure-devops-mcp",
        "--azure-org-url",
        "https://your-organization.visualstudio.com",
        "--azure-token",
        "your-personal-access-token",
        "--azure-project",
        "your-project"
      ]
    }
}
在代码中使用
const { McpServer } = require('@modelcontextprotocol/sdk/server/mcp.js');
const { registerTools } = require('cursor-azure-devops-mcp');
const azureDevOpsService = require('cursor-azure-devops-mcp/lib/azure-devops-service');

// Create MCP server
const server = new McpServer({
  name: 'cursor-azure-devops-mcp',
  version: '1.0.0'
});

// Register Azure DevOps tools with the server
registerTools(server, azureDevOpsService);

// Connect to your transport of choice
// ...

可用工具

工具名称描述必需参数
azure_devops_projects获取所有项目无
azure_devops_work_item获取特定工作项id(数字)
azure_devops_work_items获取多个工作项ids(数字数组)
azure_devops_repositories获取项目的存储库project(字符串)
azure_devops_pull_requests获取存储库中的拉取请求repositoryId(字符串)、project(字符串)
azure_devops_pull_request_by_id获取特定拉取请求repositoryId(字符串)、pullRequestId(数字)、project(字符串)
azure_devops_pull_request_threads获取拉取请求中的讨论串repositoryId(字符串)、pullRequestId(数字)、project(字符串)
azure_devops_work_item_attachments获取工作项的附件id(数字)
azure_devops_work_item_comments获取工作项的评论id(数字)
azure_devops_pull_request_changes获取 PR 代码更改的详细信息repositoryId(字符串)、pullRequestId(数字)、project(字符串)
azure_devops_pull_request_file_content获取拉取请求中特定文件的内容repositoryId(字符串)、pullRequestId(数字)、filePath(字符串)、objectId(字符串)、project(字符串)、可选:returnPlainText(布尔值)、startPosition(数字)、length(数字)
azure_devops_branch_file_content直接从分支获取文件内容repositoryId(字符串)、branchName(字符串)、filePath(字符串)、project(字符串)、可选:returnPlainText(布尔值)、startPosition(数字)、length(数字)
azure_devops_create_pr_comment在拉取请求中创建评论repositoryId(字符串)、pullRequestId(数字)、project(字符串)、content(字符串)以及其他可选参数
azure_devops_test_plans列出项目的所有测试计划project(字符串)
azure_devops_test_plan根据 ID 获取测试计划project(字符串)、testPlanId(数字)
azure_devops_test_suites列出测试计划的所有测试套件project(字符串)、testPlanId(数字)
azure_devops_test_suite根据 ID 获取测试套件project(字符串)、testPlanId(数字)、testSuiteId(数字)
azure_devops_test_cases列出测试套件的所有测试用例project(字符串)、testPlanId(数字)、testSuiteId(数字)
测试管理工具

测试管理工具可全面访问 Azure DevOps 测试计划、测试套件和测试用例:

  • 自动处理项目:所有测试工具都支持使用配置中的默认项目
  • 智能截断响应:大型响应会自动截断,以适配 AI 模型限制,同时保留必要信息
  • 保留元数据:即使响应经过截断,重要元数据(如 ID、名称和关联关系)仍会保留
  • 错误处理:提供全面的错误处理,并附带详细的错误消息
使用示例:

列出项目中的所有测试计划:

{
  "project": "YourProject"
}

获取特定测试套件:

{
  "project": "YourProject",
  "testPlanId": 185735,
  "testSuiteId": 186771
}

列出测试套件中的测试用例:

{
  "project": "YourProject",
  "testPlanId": 185735,
  "testSuiteId": 186771
}

使用测试管理工具时,应当:

  1. 首先使用 azure_devops_test_plans 获取项目的测试计划
  2. 使用特定测试计划 ID,通过 azure_devops_test_suites 获取测试套件
  3. 最后,使用 azure_devops_test_cases 获取特定测试套件的测试用例

必要时,响应格式会包含截断元数据:

{
  "items": [...],
  "totalCount": 100,
  "isTruncated": true,
  "truncatedCount": 80,
  "message": "Response was truncated. Showing 20 of 100 items."
}

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。