这是一个用于集成Azure DevOps与Cursor IDE的Model Context Protocol (MCP)服务器。此工具允许Cursor中的Claude AI与Azure DevOps进行交互,提供对项目、工作项、仓库和拉取请求的访问。
azure_devops_test_plans - 列出项目的全部测试计划azure_devops_test_plan - 根据ID获取测试计划azure_devops_test_suites - 列出测试计划中的全部测试套件azure_devops_test_suite - 根据ID获取测试套件azure_devops_test_cases - 列出测试套件中的全部测试用例npm install -g cursor-azure-devops-mcp
npm install cursor-azure-devops-mcp
服务器可以通过多种来源进行配置,优先级如下:
.env 文件你可以使用命令行参数来配置服务器:
npx cursor-azure-devops-mcp --azure-org-url=https://dev.azure.com/your-organization --azure-token=your-token --azure-project=YourProject
可用选项:
| 选项 | 别名 | 描述 |
|---|---|---|
--azure-org-url | --org | Azure DevOps 组织 URL |
--azure-token | --token | Azure DevOps 个人访问令牌 |
--azure-project | --project | 默认 Azure DevOps 项目名称 |
--port | -p | 服务器端口(HTTP模式) |
--host | -h | 服务器主机名(HTTP模式) |
--log-level | --log | 日志级别(error, warn, info, debug) |
--help | -? | 显示帮助 |
你可以在你的VSCode或Cursor IDE设置中配置服务器:
~/.vscode/settings.json 或 ~/.cursor/settings.json.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 cursor-azure-devops-mcp
Cursor IDE支持两种连接到MCP服务器的方法:命令模式和SSE模式。
命令模式直接从Cursor运行MCP服务器作为进程。这是最可靠的方法,应该作为首选:
打开Cursor IDE
转到设置 > 功能 > MCP服务器
点击“添加新MCP服务器”
输入服务器名称(例如,“Azure DevOps”)
从下拉菜单中选择“command”
输入运行服务器的命令:
cursor-azure-devops-mcp
如果你没有全局安装它,可以使用npx:
npx cursor-azure-devops-mcp
点击“添加”
重要提示:当使用命令模式时,服务器会自动使用系统环境变量或当前工作目录下的.env文件中的Azure DevOps凭证。确保你的.env文件已正确设置。
命令模式故障排除:
如果你遇到“server.setRequestHandler不是函数”或其他类似错误:
npm install -g cursor-azure-devops-mcp.env文件是否正确设置了Azure DevOps凭证注意:SSE模式更容易出现连接问题。如果遇到问题,请改用命令模式。
SSE模式通过Server-Sent Events连接到HTTP服务器:
首先,启动具有SSE支持的HTTP服务器:
npm run sse-server
或
npx cursor-azure-devops-mcp-sse
这将默认在3000端口启动服务器。
打开Cursor IDE
转到设置 > 功能 > MCP服务器
点击“添加新MCP服务器”
输入服务器名称(例如,“Azure DevOps SSE”)
从下拉菜单中选择“sse”
输入SSE端点URL:
http://localhost:3000/sse
点击“添加”
如果你在Windows上使用命令模式并遇到问题,尝试使用以下格式:
cmd /k npx cursor-azure-devops-mcp
{
"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');
// 创建MCP服务器
const server = new McpServer({
name: 'cursor-azure-devops-mcp',
version: '1.0.0'
});
// 注册Azure DevOps工具到服务器
registerTools(server, azureDevOpsService);
// 连接到你选择的传输方式
// ...
| 工具名称 | 描述 | 必需参数 |
|---|---|---|
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测试计划、套件和用例的全面访问:
列出项目中的所有测试计划:
{
"project": "YourProject"
}
获取特定测试套件:
{
"project": "YourProject",
"testPlanId": 185735,
"testSuiteId": 186771
}
列出套件中的测试用例:
{
"project": "YourProject",
"testPlanId": 185735,
"testSuiteId": 186771
}
在使用测试管理工具时,你应该:
azure_devops_test_plans检索项目的测试计划azure_devops_test_suitesazure_devops_test_cases获取特定套件中的测试用例响应格式在必要时包括截断元数据:
{
"items": [...],
"totalCount": 100,
"isTruncated": true,
"truncatedCount": 80,
"message": "响应已被截断。显示100项中的20项。"
}