DevOps协议服务器

一个支持标准输入输出和HTTP模式的Azure DevOps协议服务器,用于集成开发环境和Web应用。

  • by HirenVanpariaTR
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 HirenVanpariaTR/Azure-devops-mcp-python

使用说明

IDE DevOps MCP-Python版本

这是IDE DevOps MCP(模型上下文协议)服务器的Python实现。

安装

pip install azure-devops-mcp

用法

服务器支持两种模式:

  • stdio模式:用于MCP客户端连接(默认)
  • http模式:用于web服务端点
python -m azure_devops_mcp [organization] [options]

组织配置

组织名称可以通过两种方式提供:

  1. 命令行参数: python -m azure_devops_mcp myorg
  2. 环境变量:设置 AZURE_DEVOPS_ORG=myorg (适用于Azure Web App部署)

如果两者都提供,则命令行参数优先。

选项

  • organization:Azure DevOps组织名称(如果是可选的 AZURE_DEVOPS_ORG 设置环境变量)
  • --domains, -d:域启用:“all”代表一切,或特定域,如“repositories build work”。默认为“全部”。
  • --authentication, -a:要使用的身份验证类型。支持的值是“interactive”、“azcli”和“env”(默认值:“interactive“)
  • --tenant, -t:Azure租户ID(可选,在使用“交互式”和“azcli”类型的身份验证时应用)
  • --mode, -m:服务器模式:“stdio”用于MCP客户端连接,“http”用于web服务(默认值:“stdio”)
  • --host:HTTP服务器主机(当模式=HTTP时,默认值:'127.0.0.1')
  • --port, -p:HTTP服务器端口(当模式=HTTP时,默认值:8000)

例子

# Basic usage with stdio mode (for MCP clients)
python -m azure_devops_mcp myorg

# Using environment variable (great for Azure Web Apps)
export AZURE_DEVOPS_ORG=myorg  # Linux/Mac
# or
set AZURE_DEVOPS_ORG=myorg     # Windows CMD
# or  
$env:AZURE_DEVOPS_ORG="myorg"  # PowerShell
python -m azure_devops_mcp

# HTTP server mode for web service
python -m azure_devops_mcp myorg --mode http --port 8080

# Use specific domains only
python -m azure_devops_mcp myorg --domains repositories pipelines

# Use Azure CLI authentication
python -m azure_devops_mcp myorg --authentication azcli

# Environment variable authentication with HTTP mode (ideal for cloud deployments)
export AZURE_DEVOPS_ORG=myorg
python -m azure_devops_mcp --authentication env --mode http --host 0.0.0.0 --port 8000

HTTP服务器模式

在HTTP模式下运行时,服务器为MCP工具提供web API。这有助于:

  • 需要Azure DevOps集成的Web应用程序
  • 没有MCP客户端的测试工具
  • 构建自定义集成
  • Azure Web应用程序部署

传统HTTP模式(环境变量)

python -m azure_devops_mcp myorg --mode http

PAT标头身份验证(建议用于API)

# Start server with PAT authentication mode
python -m azure_devops_mcp myorg --mode http --authentication pat

# Client requests must include PAT in header
curl -X POST "http://127.0.0.1:8000/mcp" \
  -H "Content-Type: application/json" \
  -H "X-Azure-DevOps-PAT: your-personal-access-token" \
  -d '{"method": "tools/call", "params": {"name": "test_connection", "arguments": {}}}'

访问 http://127.0.0.1:8000/ 获取服务器信息和可用端点。

备注:PAT身份验证(--authentication pat)仅在HTTP模式下可用,并要求客户端在 X-Azure-DevOps-PAT 每个请求的标题。

发展

设置

git clone https://github.com/microsoft/azure-devops-mcp.git
cd azure-devops-mcp/python-version
pip install -e ".[dev]"

测试

pytest

代码格式化

black .
ruff check .

许可证

MIT许可证-有关详细信息,请参阅License.md。