@slorenzot/mcp-azure
@slorenzot/mcp-azure
MCP-сервер (Model Context Protocol) для Azure DevOps. Позволяет взаимодействовать с рабочими элементами (Work Items), Git-репозиториями, Pull Request'ами, спринтами, областями, комментариями и вложениями из любого совместимого MCP-клиента.
Установка
npm install -g @slorenzot/mcp-azureИли используйте напрямую через npx:
npx @slorenzot/mcp-azureНастройка
Переменные окружения
Сервер автоматически настраивается с использованием следующих переменных окружения:
Переменная | Альтернатива | Описание | Обязательно |
|
| URL организации (например: | Да |
|
| Personal Access Token | Да |
|
| Имя проекта | Нет |
Настройка в Claude Desktop
Добавьте следующую конфигурацию в ваш файл claude_desktop_config.json:
{
"mcpServers": {
"azure-devops": {
"command": "npx",
"args": ["-y", "@slorenzot/mcp-azure"],
"env": {
"AZURE_DEVOPS_ORG": "https://dev.azure.com/tu-organizacion",
"AZURE_DEVOPS_PAT": "tu-pat-aqui",
"AZURE_DEVOPS_PROJECT": "tu-proyecto"
}
}
}
}Настройка в OpenCode
OpenCode использует тот же MCP, но настройку можно выполнить двумя способами:
Вариант 1: Начальная настройка с переменными окружения
Настройте переменные окружения в вашей системе или в конфигурации OpenCode:
export AZURE_DEVOPS_ORG="https://dev.azure.com/tu-organizacion" export AZURE_DEVOPS_PAT="tu-pat-aqui" export AZURE_DEVOPS_PROJECT="tu-proyecto"Или добавьте MCP-сервер в вашу конфигурацию OpenCode:
{ "mcpServers": { "azure-devops": { "command": "npx", "args": ["-y", "@slorenzot/mcp-azure"], "env": { "AZURE_DEVOPS_ORG": "https://dev.azure.com/tu-organizacion", "AZURE_DEVOPS_PAT": "tu-pat-aqui", "AZURE_DEVOPS_PROJECT": "tu-proyecto" } } } }
Вариант 2: Динамическая настройка с помощью ado_configure
OpenCode позволяет настроить подключение непосредственно во время сессии с помощью команды ado_configure:
{
"organization": "https://dev.azure.com/tu-organizacion",
"project": "tu-proyecto",
"pat": "tu-pat-aqui"
}Этот вариант полезен для переключения между различными организациями или проектами без изменения файла конфигурации.
Примечание: При использовании ado_configure подключение сохраняется в течение текущей сессии OpenCode.
Получение Personal Access Token (PAT)
Перейдите в свою организацию Azure DevOps
Нажмите на свой аватар (в правом верхнем углу)
Выберите Personal Access Tokens
Создайте новый токен со следующими разрешениями:
Work Items: Read & Write
Code: Read & Write (для операций с репозиториями и Pull Request'ами)
Project and Team: Read (опционально)
Доступные инструменты
Аутентификация
Инструмент | Описание |
| Настраивает подключение к организации, проекту и PAT |
Work Items
Инструмент | Описание |
| Получает Work Item по его ID |
| Создает новый Work Item (User Story, Bug, Task и т.д.) |
| Обновляет существующий Work Item |
| Получает доступные/обязательные поля для типа элемента |
Запросы
Инструмент | Описание |
| Запрашивает Work Items конкретного спринта |
| Запрашивает Work Items конкретной области |
| Выполняет пользовательский запрос WIQL |
Структура проекта
Инструмент | Описание |
| Выводит список итераций/спринтов проекта |
| Выводит список областей проекта |
Git-репозитории
Инструмент | Описание |
| Выводит список всех Git-репозиториев проекта |
| Получает детали конкретного репозитория по имени или ID |
| Выводит список веток (branches) репозитория |
Pull Requests
Инструмент | Описание |
| Выводит список Pull Request'ов с опциональными фильтрами (статус, ветки, автор, рецензент) |
| Получает полные детали Pull Request'а |
| Создает новый Pull Request |
| Обновляет свойства Pull Request'а (заголовок, описание, черновик) |
| Завершает (merge) Pull Request с настраиваемой стратегией |
| Отменяет Pull Request |
Рецензирование Pull Request'ов
Инструмент | Описание |
| Одобряет Pull Request (голос: 10) |
| Отклоняет Pull Request (голос: -10) |
| Получает всех рецензентов и их голоса для Pull Request'а |
| Добавляет рецензента в Pull Request |
Комментарии к Pull Request'ам
Инструмент | Описание |
| Получает все ветки комментариев Pull Request'а |
| Создает новую ветку комментариев (общую или к коду) |
| Отвечает на существующую ветку комментариев |
Информация о Pull Request'ах
Инструмент | Описание |
| Получает все коммиты Pull Request'а |
| Получает Work Items, связанные с Pull Request'ом |
| Обновляет статус ветки комментариев (Fixed, WontFix и т.д.) |
Комментарии и обсуждения
Инструмент | Описание |
| Добавляет комментарий к Work Item (поддерживает Markdown) |
| Получает комментарии Work Item'а |
Вложения
Инструмент | Описание |
| Загружает файл и возвращает URL вложения |
| Добавляет вложение к Work Item'у |
| Выводит список вложений Work Item'а |
Примеры использования
Создание User Story
{
"title": "Implementar login con OAuth",
"type": "User Story",
"description": "Como usuario quiero poder iniciar sesión con mi cuenta de Google",
"areaPath": "MiProyecto\\Backend",
"iterationPath": "MiProyecto\\Sprint 5",
"fields": {
"Custom.OKR": "Seguridad",
"Custom.Prioridad": "Alta"
}
}Пользовательский запрос WIQL
{
"wiql": "SELECT [System.Id], [System.Title] FROM WorkItems WHERE [System.State] = 'Active' AND [System.AssignedTo] = @Me ORDER BY [System.CreatedDate] DESC",
"getDetails": true
}Добавление комментария с Markdown
{
"id": 12345,
"comment": "## Análisis completado\n\n- Revisado el código\n- Identificados 3 issues\n\n**Próximo paso:** Corregir validaciones"
}Загрузка и прикрепление файла
{
"workItemId": 12345,
"filePath": "/ruta/al/archivo.pdf",
"comment": "Documento de especificaciones",
"name": "Especificaciones Funcionales v2.0"
}Привязка существующего вложения
{
"workItemId": 12345,
"attachmentUrl": "https://dev.azure.com/org/proj/_apis/wit/attachments/abc123",
"comment": "Diseño de arquitectura",
"name": "Arquitectura del Sistema"
}Список репозиториев
{
"includeHidden": false,
"top": 50
}Список активных Pull Request'ов
{
"status": "Active",
"top": 20
}Создание Pull Request'а
{
"repositoryId": "mi-repo",
"sourceRefName": "refs/heads/feature-login",
"targetRefName": "refs/heads/main",
"title": "Implementar login con OAuth",
"description": "Esta PR agrega soporte para login con Google OAuth",
"reviewerIds": ["12345678-1234-1234-1234-1234567890ab"],
"isDraft": false
}Одобрение Pull Request'а
{
"pullRequestId": 12345,
"repositoryId": "mi-repo"
}Завершение (Merge) Pull Request'а
{
"pullRequestId": 12345,
"repositoryId": "mi-repo",
"mergeStrategy": "Squash",
"deleteSourceBranch": true,
"mergeCommitMessage": "Merge de feature-login"
}Создание комментария к коду
{
"pullRequestId": 12345,
"repositoryId": "mi-repo",
"content": "Por favor extraer esto en una función separada",
"filePath": "/src/components/Login.tsx",
"startLine": 45,
"endLine": 52
}Доступные промпты
Сервер включает предопределенные промпты для упрощения типичных задач:
Промпт | Описание |
| Руководство по подключению к Azure DevOps |
| Анализирует состояние спринта |
| Создает структурированную User Story |
| Генерирует отчет для ежедневного стендапа |
| Помогает спланировать спринт |
| Обновляет несколько Work Items одновременно |
| Генерирует отчет по проекту |
| Создает структурированный отчет об ошибке (Bug report) |
Ресурсы
Ресурс | URI | Описание |
Статус подключения |
| Информация о текущем статусе подключения |
Разработка
Требования
Node.js 18+
npm или yarn
Локальная установка
git clone https://github.com/slorenzot/mcp-azure.git
cd mcp-azure
npm install
npm run buildДоступные скрипты
npm run build # Compila TypeScript
npm run start # Inicia el servidor
npm run dev # Modo desarrollo con watchЛицензия
MIT
Автор
Soulberto Lorenzo - @slorenzot
Версия
2.4.1 - 34 инструмента доступны для Azure DevOps (Work Items, Git-репозитории, Pull Request'ы и т.д.)
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/soulberto/mcp-azure'
If you have feedback or need assistance with the MCP directory API, please join our Discord server