Skip to main content
Glama
mmruesch12
by mmruesch12

Сервер Azure DevOps MCP

Сервер MCP (Model Context Protocol), обеспечивающий интеграцию с Azure DevOps, позволяющий помощникам на основе ИИ взаимодействовать с рабочими элементами Azure DevOps, запросами на извлечение и вики-ресурсами.

Функции

  • Управление рабочими элементами (создание, список, получение)

  • Операции запроса на извлечение (создание, список, получение, комментарий, сравнение)

  • Управление вики-страницами (создание, редактирование)

Related MCP server: github-manager MCP Server

Настраивать

  1. Установить зависимости:

npm install
  1. Настройте переменные среды (создайте файл .env):

AZURE_DEVOPS_ORG_URL=https://dev.azure.com/your-org
AZURE_DEVOPS_PAT=your-personal-access-token
AZURE_DEVOPS_PROJECT=default-project
AZURE_DEVOPS_REPOSITORY=default-repo
  1. Сборка сервера:

npm run build

Установка

Добавьте конфигурацию сервера в настройки MCP:

Для VSCode

На macOS/Linux

Добавьте в ~/.vscode/cline_mcp_settings.json или эквивалент Cursor/Roo:

{
  "mcpServers": {
    "azure-devops": {
      "command": "node",
      "args": ["/path/to/azure-devops-mcp/build/index.js"],
      "env": {
        "AZURE_DEVOPS_ORG_URL": "your-org-url",
        "AZURE_DEVOPS_PAT": "your-pat",
        "AZURE_DEVOPS_PROJECT": "your-project",
        "AZURE_DEVOPS_REPOSITORY": "your-repo"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

В Windows

Добавьте в %USERPROFILE%\.vscode\cline_mcp_settings.json или эквивалент Cursor/Roo:

{
  "mcpServers": {
    "azure-devops": {
      "command": "node",
      "args": ["C:/path/to/azure-devops-mcp/build/index.js"],
      "env": {
        "AZURE_DEVOPS_ORG_URL": "your-org-url",
        "AZURE_DEVOPS_PAT": "your-pat",
        "AZURE_DEVOPS_PROJECT": "your-project",
        "AZURE_DEVOPS_REPOSITORY": "your-repo"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

Доступные инструменты

Рабочие элементы

список_рабочих_элементов

Перечисляет элементы работы в проекте.

{
  "project": string,        // Required
  "types"?: string[],      // Optional: Filter by work item types
  "states"?: string[],     // Optional: Filter by states
  "assignedTo"?: string    // Optional: Filter by assigned user
}

получить_рабочий_элемент

Получите подробную информацию о конкретном рабочем элементе.

{
  "project": string,       // Required
  "id": number            // Required: Work item ID
}

создать_рабочий_элемент

Создайте новый рабочий элемент.

{
  "project": string,       // Required
  "type": string,         // Required: e.g., "Task", "Bug"
  "title": string,        // Required
  "description"?: string, // Optional
  "assignedTo"?: string  // Optional
}

Запросы на извлечение

список_pull_requests

Перечисление запросов на извлечение в репозитории.

{
  "status"?: "active" | "completed" | "abandoned"  // Optional
}

get_pull_request

Получите подробную информацию о конкретном запросе на включение изменений.

{
  "pullRequestId": number  // Required
}

создать_pull_request

Создайте новый запрос на извлечение.

{
  "title": string,         // Required
  "description": string,   // Required
  "sourceBranch": string, // Required
  "targetBranch": string, // Required
  "reviewers"?: string[]  // Optional: Array of reviewer email addresses
}

создать_pull_request_comment

Добавьте комментарий к запросу на извлечение.

{
  "pullRequestId": number,                                      // Required
  "content": string,                                           // Required
  "threadId"?: number,                                         // Optional: For replies
  "filePath"?: string,                                         // Optional: For file comments
  "lineNumber"?: number,                                       // Optional: For line comments
  "status"?: "active"|"fixed"|"pending"|"wontfix"|"closed"    // Optional: Thread status
}

get_pull_request_diff

Получите разницу для запроса на извлечение.

{
  "pullRequestId": number,  // Required
  "filePath"?: string,     // Optional: Specific file to get diff for
  "iterationId"?: number   // Optional: Specific iteration to get diff for
}

Вики

создать_вики_страницу

Создайте новую вики-страницу.

{
  "project": string,    // Required
  "wiki": string,      // Required
  "path": string,      // Required
  "content": string    // Required
}

редактировать_wiki_страницу

Редактировать существующую вики-страницу.

{
  "project": string,    // Required
  "wiki": string,      // Required
  "path": string,      // Required
  "content": string,   // Required
  "etag": string       // Required: For concurrency control
}

Разработка

Запустить в режиме разработки с переменными среды:

npm run dev

Примечание

Если в аргументах инструмента явно не указано иное, параметры project и repository будут использовать значения по умолчанию из конфигурации вашей среды.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mmruesch12/azdo-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server