项目简介
'mcp-for-azure-devops-boards' 是一个基于 Model Context Protocol (MCP) 的服务器端应用,它允许大语言模型(LLM)客户端安全、高效地访问和操作 Azure DevOps Boards 中的项目、团队、工作项和看板信息。它通过提供一系列标准化的工具,将复杂的Azure DevOps API操作抽象化,便于LLM理解和调用,同时优化了输出格式以减少LLM的令牌消耗。
主要功能点
- 工作项管理: 创建、更新、获取单个或多个工作项,支持按ID或复杂筛选条件进行查询(包括WIQL语言)。
- 看板与团队集成: 列出Azure DevOps组织、项目、团队、看板及其详细信息。
- 迭代/冲刺管理: 获取团队当前或所有迭代的详细信息。
- 元数据查询: 列出项目中的所有工作项类型和标签。
- 任务自动化: 支持为工作项添加评论,以及在工作项之间创建父子、相关、依赖等链接关系。
- LLM优化输出: 对API返回数据进行简化和格式化,例如将HTML内容转换为纯文本,并以紧凑的JSON或CSV格式呈现,从而降低LLM处理的复杂度和成本。
安装步骤
- 安装Azure CLI: 该服务器依赖Azure CLI进行认证。如果您尚未安装,请通过以下命令安装:
- macOS用户: 'brew install azure-cli'
- Windows用户 (使用Chocolatey): 'choco install azure-cli'
- 其他系统请参考 Azure CLI 官方安装指南。
- 登录Azure CLI: 在终端中运行 'az login' 并按照提示完成认证,以便服务器能够获取您的Azure DevOps凭据。
- 安装MCP服务器:
- macOS (使用Homebrew):
安装后,二进制文件通常位于 '/opt/homebrew/bin/mcp-for-azure-devops-boards'。brew tap danielealbano/mcp-tools brew install mcp-for-azure-devops-boards - 从源代码构建:
- 确保已安装 Rust (最新稳定版)。
- 克隆仓库: 'git clone https://github.com/danielealbano/mcp-for-azure-devops-boards.git && cd mcp-for-azure-devops-boards'
- 构建项目: 'cargo build --release' 构建完成后,可执行文件位于 'target/release/mcp-for-azure-devops-boards'。
- macOS (使用Homebrew):
服务器配置 (供MCP客户端使用)
MCP服务器支持两种运行模式:标准输入/输出 (stdio) 模式(默认且推荐,更安全)和HTTP服务器模式(支持SSE)。MCP客户端需要知道如何启动此服务器并与其通信。
以下是针对常见MCP客户端的配置示例。请将 'path/to/mcp-for-azure-devops-boards' 替换为实际的二进制文件路径。
- Claude Desktop 客户端配置示例 (推荐使用 stdio 模式):
将以下JSON配置添加到您的 'claude_desktop_config.json' 文件中:
{ "mcpServers": { "azure-devops-boards": { "command": "path/to/mcp-for-azure-devops-boards", "args": [], // stdio 模式下无需额外参数 "description": "连接到Azure DevOps Boards,管理工作项和看板。" } } } - 如果需要运行为HTTP服务器模式 (不推荐用于共享凭据):
在HTTP服务器模式下,服务器会监听 '0.0.0.0' (所有网络接口)。{ "mcpServers": { "azure-devops-boards": { "command": "path/to/mcp-for-azure-devops-boards", "args": ["--server", "--port", "3000"], // --server 启用HTTP模式,--port 指定端口 "description": "连接到Azure DevOps Boards,管理工作项和看板,通过HTTP服务器模式运行在端口3000。" } } }
基本使用方法
- 启动服务器: MCP客户端会自动根据配置启动服务器。您无需手动运行服务器命令。
- 在LLM中调用工具: 一旦MCP客户端与服务器连接成功,LLM就可以通过调用暴露的工具(例如 'azdo_list_organizations', 'azdo_create_work_item', 'azdo_query_work_items' 等)来与Azure DevOps进行交互。LLM将根据您的指令和上下文自动选择合适的工具和参数。
- 示例交互 (LLM视角):
- LLM用户: "列出我所有有权访问的Azure DevOps组织。"
- LLM (内部调用): 'azdo_list_organizations()'
- 服务器响应 (简化后): '['MyOrg1', 'MyOrg2']'
- LLM用户: "在'MyOrg1'组织的'ProjectA'项目中,创建一个标题为'Fix login bug'的Bug,并指派给'John Doe'。"
- LLM (内部调用): 'azdo_create_work_item(organization='MyOrg1', project='ProjectA', work_item_type='Bug', title='Fix login bug', assigned_to='John Doe')'
- 服务器响应 (简化后): '{id:1234,Type:B,Title:Fix login bug,AssignedTo:John Doe}'
信息
分类
开发者工具