使用说明
Azure DevOps MCP服务器
用于Azure DevOps与wiki、测试计划和工作项集成的模块化模型上下文协议(MCP)服务器。此服务器使Claude Desktop和其他MCP客户端能够与Azure DevOps资源进行交互。
✨ 主要特点
- 🚀 FAST Wiki操作:两阶段方法-首先列出页面,按需获取内容
- 📚 全面的Wiki支持:按名称、内容搜索,或获取特定页面/部分
- 🧪 测试计划管理:搜索测试计划,获取详细信息,查找测试用例
- 📝 工作项查询:使用WIQL支持搜索和检索工作项
- 🔗 交叉引用搜索:在Wiki、测试计划和工作项中查找相关项目
- ⚡ 智能缓存:内置缓存以提高性能
- 🔧 可配置超时:处理大型Azure DevOps项目
- 🏗️ 模块化架构:可维护性关注点的清晰分离
🛠️ 安装
来自npm(推荐)
npm install -g azure-devops-mcp-server
来源
git clone https://github.com/yourusername/azure-devops-mcp-server
cd azure-devops-mcp-server
npm install
⚙️ 配置
Azure DevOps设置
-
个人访问令牌:在Azure DevOps中创建PAT
- 转到用户设置→ 个人访问令牌
- 创建具有所需作用域的新令牌,例如:
- 工作项目:阅读
- Wiki:阅读
- 测试管理:阅读
-
组织URL:获取您的组织URL
- 格式:
https://dev.azure.com/yourorganization
- 格式:
环境变量
创建一个 .env 文件(可选)或设置环境变量:
AZDO_ORG_URL=https://dev.azure.com/yourorganization
AZDO_PAT=your-personal-access-token
AZDO_DEFAULT_PROJECT=YourProject
AZDO_MAX_CONTENT_LENGTH=2000
AZDO_CACHE_TIMEOUT=300000
AZDO_HTTP_TIMEOUT=120000
Claude桌面配置
添加到您的Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
视窗: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"azure-devops": {
"command": "azure-devops-mcp-server",
"env": {
"AZDO_ORG_URL": "https://dev.azure.com/yourorganization",
"AZDO_PAT": "your-personal-access-token",
"AZDO_HTTP_TIMEOUT": "300000"
}
}
}
}
🔧 可用工具
📚 Wiki工具(新增-优化!)
list_wiki_pages -
按名称列出所有维基页面-非常适合探索
- 用例:“我们有什么维基页面?”
- 速度:非常快(仅元数据)
search_wiki_pages -
按名称/路径搜索wiki页面-不获取内容
- 用例:“查找有关身份验证的页面”
- 速度:非常快(仅搜索姓名)
get_wiki_page -
当你知道你想要什么时,获取特定的维基页面内容
- 用例:“获取API文档页面”
- 速度:中等(取一页)
get_wiki_section -
从wiki页面中提取特定部分
- 用例:“从安装文档中获取安装部分”
- 速度:中等(取一页,摘录部分)
search_wiki_content -
搜索实际页面内容-谨慎使用
- 用例:“查找内容中所有提及‘数据库连接’的内容”
- 速度:速度较慢(获取和搜索所有内容)
🧪 测试计划工具
search_test_plans:按名称或描述查找测试计划get_test_plan_details:获取详细的测试计划信息find_test_cases:在计划或套件中搜索测试用例
📝 工作项工具
search_work_items:使用文本查询搜索工作项
🔗 交叉引用工具
find_related_items:查找某个主题的所有相关工件search_by_feature:按功能搜索所有工件类型
💡 使用示例和最佳实践
🎯 高效的Wiki搜索策略
步骤1:从快速页面搜索开始
"List all wiki pages in the codeless project"
→ Uses list_wiki_pages (very fast)
步骤2:先按页面名称搜索
"Find wiki pages about API or authentication in codeless project"
→ Uses search_wiki_pages (fast - searches page names only)
步骤3:需要时获取特定内容
"Get the content of the API Setup page"
→ Uses get_wiki_page (fetches specific page content)
步骤4:仅在必要时搜索内容
"Search for 'database connection string' in all wiki content"
→ Uses search_wiki_content (slower - searches all page content)
💬 自然语言示例
快速操作:
- “acme”项目中有哪些wiki页面?”
- 查找名称中包含“setup”或“install”的页面
- “列出用户身份验证的所有测试计划”
中等操作:
- “显示API文档页面内容”
- “从安装指南中获取故障排除部分”
- “在登录测试计划中查找测试用例”
较慢的操作(需要时使用):
- “在所有wiki内容中搜索数据库配置的提及”
- “查找与支付处理功能相关的所有工件”
🏗️ 建筑
src/
├── config/ # Configuration management
├── core/ # Shared utilities (cache, content processing, HTTP)
├── domains/ # Domain-specific clients
│ ├── wiki/ # Wiki operations (UPDATED with 2-stage approach)
│ ├── testPlan/ # Test plan operations
│ ├── workItem/ # Work item operations
│ ├── projects/ # Project operations
│ └── crossReference/ # Cross-reference operations
├── client/ # Main Azure DevOps client
└── mcp/ # MCP protocol implementation
├── handlers/ # Request handlers
└── server.js # Main server
⚡ 性能优化
Wiki性能策略
- 元数据优先:始终在获取内容之前获取页面列表
- 智能缓存:默认情况下,页面缓存时间为5分钟
- 批处理:批量处理的内容搜索
- 重试逻辑:使用指数回退自动重试
- 可配置超时:调整
AZDO_HTTP_TIMEOUT对于大型项目
对于大型项目
# Increase timeout for projects with many wiki pages
AZDO_HTTP_TIMEOUT=600000 # 10 minutes
# Adjust cache timeout if needed
AZDO_CACHE_TIMEOUT=900000 # 15 minutes
🚨 故障排除
常见问题
-
未找到Wiki页面:
- 验证项目名称是否正确
- 检查PAT权限是否包括Wiki读取权限
- 尝试:“列出[确切项目名称]中的所有wiki页面”
-
超时错误:
- 增加
AZDO_HTTP_TIMEOUT环境变量 - 对于非常大的项目:设置为600000(10分钟)
- 增加
-
空搜索结果:
- 尝试
list_wiki_pages首先查看可用页面 - 使用
search_wiki_pages用于基于名称的搜索 - 仅限使用
search_wiki_content用于内容搜索
- 尝试
调试命令
测试您的连接:
# Test basic connectivity
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | node index.js
# Test wiki listing
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"list_wiki_pages","arguments":{"project":"YourProject"}}}' | node index.js
🤝 贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
📄 许可证
MIT许可证-有关详细信息,请参阅许可证文件
🆘 支持
- GitHub上的文件问题
- 检查现有问题是否存在常见问题
- 有关终结点详细信息,请参阅Azure DevOps API文档
🎉 版本中的新功能
✨ Wiki的主要改进
- 两阶段方法:快速发现页面,按需获取内容
- 正确使用API:修复了带有正确参数的Azure DevOps REST API调用
- 更好的性能:智能缓存和批处理
- 更多工具:针对不同用例的5个专用wiki工具
- 超时处理:大型项目的可配置超时
🔧 增强工具
list_wiki_pages:快速浏览所有可用页面search_wiki_pages:基于名称的快速搜索get_wiki_page:获取特定页面内容get_wiki_section:提取特定章节search_wiki_content:全面的内容搜索