使用说明
Azure DevOps MCP服务器
一个模型上下文协议(MCP)服务器,将Azure DevOps与VS Code/GitHub Copilot和其他MCP兼容客户端集成在一起。此服务器允许您直接从AI助手获取工作项详细信息并更新工作项状态。
特性
-
获取工作项详细信息:获取有关任何工作项的全面信息,包括:
- 标题、类型、状态和分配的用户
- 描述和复制步骤(针对错误)
- 所有带有作者和时间戳的评论
- 元数据(创建日期、上次修改时间、区域路径、迭代、标签)
-
更新工作项状态:更改工作项的状态/状态(例如,从“新建”到“活动”,从“已解决”到“已关闭”)
先决条件
- Python 3.10或更高版本
- 具有项目访问权限的Azure DevOps帐户
- 具有工作项读写权限的个人访问令牌(PAT)
安装
选项1:从GitHub安装(对用户来说最容易)
pip install git+https://github.com/Akshay-Quorum2145/ADO-MCP.git
MCP配置(无venv):
{
"servers": {
"ado": {
"type": "stdio",
"command": "python",
"args": ["-m", "ado_mcp.server"],
"env": {
"ADO_ORGANIZATION": "your-org",
"ADO_PROJECT": "your-project",
"ADO_PAT": "your-pat"
}
}
}
}
MCP配置(带venv):
{
"servers": {
"ado": {
"type": "stdio",
"command": "C:\\path\\to\\venv\\Scripts\\python.exe",
"args": ["-m", "ado_mcp.server"],
"env": {
"ADO_ORGANIZATION": "your-org",
"ADO_PROJECT": "your-project",
"ADO_PAT": "your-pat"
}
}
}
}
选项2:克隆用于开发
-
克隆或下载此存储库
-
安装该软件包:
pip install -e .或者用于具有可选依赖关系的开发:
pip install -e ".[dev]"
配置
步骤1:创建个人访问令牌(PAT)
- 转到您的Azure DevOps组织:
https://dev.azure.com/[your-organization] - 点击您的个人资料图标(右上角)→ 个人访问令牌
- 点击 +新令牌
- 配置令牌:
- 名字:给它一个描述性的名称(例如“MCP服务器访问”)
- 组织:选择您的组织
- 过期:设置适当的到期日期
- 范围:选择 自定义 并检查:
- 工作项目: 读、写
- 点击 创建
- 重要:立即复制令牌(您将无法再次看到它)
步骤2:配置VS代码/GitHub副本
在工作区或全局设置中创建MCP配置文件:
创建 .vscode/mcp.json 或您的MCP配置位置:
没有venv:
{
"servers": {
"ado": {
"type": "stdio",
"command": "python",
"args": ["-m", "ado_mcp.server"],
"env": {
"ADO_ORGANIZATION": "your-organization-name",
"ADO_PROJECT": "your-project-name",
"ADO_PAT": "your-personal-access-token"
}
}
}
}
使用venv(使用完整的Python路径):
{
"servers": {
"ado": {
"type": "stdio",
"command": "C:\\path\\to\\venv\\Scripts\\python.exe",
"args": ["-m", "ado_mcp.server"],
"env": {
"ADO_ORGANIZATION": "your-organization-name",
"ADO_PROJECT": "your-project-name",
"ADO_PAT": "your-personal-access-token"
}
}
}
}
重新启动VS代码。
用法
配置后,您可以通过GitHub Copilot Chat或任何兼容MCP的客户端与Azure DevOps进行交互:
获取工作项详细信息
Get details for work item 12345
或
Show me information about ADO work item 12345
更新工作项状态
Change work item 12345 status to Active
或
Update the state of work item 12345 to Resolved
可用工具
get_work_item
检索有关工作项的详细信息。
参数:
work_item_id(整数,必填):工作项的ID
退货:
- 完整的工作项详细信息,包括描述、注释、状态和元数据
update_work_item_status
更新工作项的状态。
参数:
work_item_id(整数,必填):工作项的IDnew_state(字符串,必填):新状态(例如,“活动”、“已解决”、“关闭”)
退货:
- 使用更新的工作项详细信息进行确认
备注:可用状态取决于您的工作项类型和过程模板(敏捷、Scrum、CMMI等)。常见状态包括:
- 新建、活动、已解决、已关闭、已删除(针对Bug)
- 新建、活动、关闭、删除(用于任务)
- 新建、活动、已解决、已关闭、已删除(适用于用户故事)
故障排除
身份验证问题
-
错误:“缺少必需的环境变量”
- 确保您的
.env文件存在并包含所有三个必需变量 - 检查MCP设置是否正确引用了环境变量或
.env文件位置
- 确保您的
-
错误:“初始化Azure DevOps客户端失败”
- 验证您的PAT是否有效且未过期
- 确保您的PAT具有工作项读写权限
- 检查您的组织和项目名称是否正确
工作项问题
-
错误:“获取工作项失败”
- 验证项目中是否存在工作项ID
- 确保您有权查看该工作项
- 检查您是否连接到正确的项目
-
错误:“更新工作项状态失败”
- 验证新状态对于工作项类型是否有效
- 确保允许状态转换(某些转换可能受到工作流规则的限制)
- 检查您是否有权编辑该工作项
发展
要贡献或修改服务器,请执行以下操作:
-
安装开发依赖项:
pip install -e ".[dev]" -
运行测试(如果可用):
pytest -
格式代码:
black src/
安全说明
- 永远不要承诺你的
.env归档或公开您的PAT - 这
.gitignore文件已配置为排除.env文件 - 考虑使用短期PAT并定期轮换
- 使用PAT(工作项的读写)所需的最小范围
许可证
麻省理工学院
贡献
欢迎投稿!请随时提交拉取请求。