Azure DevOps MCP服务器

一个部署在Cloudflare上的Azure DevOps模型上下文协议(MCP)服务器,提供与Azure DevOps工作项、Git仓库、拉取请求和Harvest时间跟踪交互的工具。

  • by AlexTrotchenko
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 AlexTrotchenko/azuredevops-mcp

使用说明

Azure DevOps MCP 服务器部署在 Cloudflare 上

一个针对Azure DevOps的模型上下文协议(MCP)服务器,以Cloudflare持久对象工作程序的形式部署。它提供了用于与Azure DevOps工作项、Git仓库、拉取请求以及Harvest时间跟踪进行交互的MCP工具。

快速入门

1. 克隆并安装

git clone <repository-url>
cd AzureDevOps-MCP
npm install

2. 配置环境变量

⚠️ 安全提示:切勿将机密信息提交到Git中!

创建一个 .env 项目根目录下的文件(此文件被 Git 忽略):

# Copy the example file
cp .dev.vars.example .env

编辑 .env 使用您的实际凭据:

# Azure DevOps Configuration
AZURE_DEVOPS_ORG_URL=https://dev.azure.com/your-organization
AZURE_DEVOPS_PROJECT=Your Project Name
AZURE_DEVOPS_AUTH_TYPE=pat
AZURE_DEVOPS_IS_ON_PREMISES=false
AZURE_DEVOPS_PERSONAL_ACCESS_TOKEN=your-personal-access-token

# Harvest Configuration
HARVESTER_ACCOUNT_ID=your-account-id
HARVESTER_API_KEY=your-harvest-api-key

# Optional: Uncomment to limit allowed tools
# ALLOWED_TOOLS=listWorkItems,getWorkItemById,searchWorkItems,listRepositories

3. 本地开发

# Start local development server with hot reload
npm run dev

您的MCP服务器将在 http://localhost:8787/sse

4. 部署到Cloudflare

重要提示: 对于生产,请使用 Cloudflare 秘密(或密钥) 存储敏感值:

# Set secrets (one-time setup)
wrangler secret put AZURE_DEVOPS_PERSONAL_ACCESS_TOKEN
wrangler secret put HARVESTER_API_KEY

# Deploy
npm run deploy

您部署的MCP服务器将可通过以下地址访问: https://azure-devops-mcp-worker.<your-account>.workers.dev/sse

配置详情

环境变量

变量 必填 描述
AZURE_DEVOPS_ORG_URL 是 您的 Azure DevOps 组织 URL(例如。, https://dev.azure.com/org-name)
AZURE_DEVOPS_PROJECT 是 Azure DevOps中的项目名称
AZURE_DEVOPS_AUTH_TYPE 是 认证类型: pat, basic,或 ntlm
AZURE_DEVOPS_IS_ON_PREMISES 是 true 对于 Azure DevOps Server, false 适用于 Azure DevOps Services
AZURE_DEVOPS_PERSONAL_ACCESS_TOKEN 是* 用于身份验证的个人访问令牌
HARVESTER_ACCOUNT_ID 是 Harvest 账户ID
HARVESTER_API_KEY 是 获取API密钥
ALLOWED_TOOLS 序号 允许的工具名称列表,以逗号分隔。如果未设置,则启用所有工具

*当……时必需 AZURE_DEVOPS_AUTH_TYPE=pat

安全最佳实践

  1. 本地开发: 使用 .env 文件(已在 .gitignore)
  2. 制作: 使用 wrangler secret put 设置敏感值
  3. 永远不要 提交(代码/更改) .env 或任何包含机密信息的文件
  4. 永远 在代码中硬编码秘密信息 wrangler.jsonc 或源代码
  5. 评论 wrangler.jsonc 在提交之前,确保没有包含任何机密信息

定制您的MCP服务器

添加您自己的 工具 向MCP服务器,定义每个工具在内部 init() 方法;……的方式 src/index.ts 使用 this.server.tool(...).

连接到Cloudflare AI Playground

您可以从Cloudflare AI Playground连接到您的MCP服务器,它是一个远程MCP客户端:

  1. 访问 https://playground.ai.cloudflare.com/
  2. 输入您已部署的MCP服务器URL(remote-mcp-server-authless.<your-account>.workers.dev/sse)
  3. 现在,您可以直接在游乐场中使用您的MCP工具!

将 Claude Desktop 连接到您的 MCP 服务器

您也可以通过本地MCP客户端连接到您的远程MCP服务器,方法是使用 mcp-remote 代理.

要在Claude Desktop上连接到您的MCP服务器,请按照以下步骤操作 Anthropic的快速入门指南 在 Claude Desktop 中,进入设置 > 开发者 > 编辑配置。

使用此配置进行更新:

{
  "mcpServers": {
    "calculator": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "http://localhost:8787/sse"  // or remote-mcp-server-authless.your-account.workers.dev/sse
      ]
    }
  }
}

重启Claude后,你应该能看到工具已可用。