Integrations
The server provides tools for interacting with Git repositories in Azure DevOps, including listing repositories, branches, commits, creating pull requests, and more.
Node.js is listed as a prerequisite for running the server, but it's not what the server integrates with.
The MCP server is built with TypeScript, but it doesn't integrate with TypeScript as a service.
Интеграция Azure DevOps MCP
История Звезды
Мощная интеграция для Azure DevOps, которая обеспечивает бесперебойный доступ к рабочим элементам, репозиториям, проектам, доскам и спринтам через сервер Model Context Protocol (MCP).
Обзор
Этот сервер предоставляет удобный API для взаимодействия со службами Azure DevOps, позволяя помощникам ИИ и другим инструментам управлять рабочими элементами, репозиториями кода, досками, спринтами и т. д. Созданный с использованием Model Context Protocol, он предоставляет стандартизированный интерфейс для взаимодействия с Azure DevOps.
Демо
Функции
Интеграция организована по восьми основным категориям инструментов:
Инструменты рабочего элемента
- Список рабочих элементов с использованием запросов WIQL
- Получить сведения о рабочем элементе по идентификатору
- Поиск рабочих элементов
- Получить недавно обновленные рабочие элементы
- Получите назначенные вам рабочие элементы
- Создать новые рабочие элементы
- Обновите существующие рабочие элементы
- Добавить комментарии к рабочим элементам
- Обновить состояние рабочего элемента
- Назначить рабочие элементы
- Создавайте связи между рабочими элементами
- Массовое создание/обновление рабочих элементов
Инструменты для досок и спринтов
- Получить доски команд
- Получить колонки доски
- Получить предметы доски
- Перемещайте карты на игровых полях.
- Получить спринты
- Получить текущий спринт
- Получить элементы работы спринта
- Получить пропускную способность спринта
- Получить членов команды
Инструменты проекта
- Список проектов
- Получить детали проекта
- Создавайте новые проекты
- Получить области
- Получить итерации
- Создать области
- Создать итерации
- Получить шаблоны процессов
- Получить типы рабочих элементов
- Получить поля типа рабочего элемента
Git-инструменты
- Список репозиториев
- Получить данные репозитория
- Создать репозитории
- Список филиалов
- Поиск кода
- Просмотреть репозитории
- Получить содержимое файла
- Получить историю коммитов
- Список запросов на извлечение
- Создание запросов на извлечение
- Получить детали запроса на включение
- Получить комментарии по запросу на извлечение
- Утверждение запросов на извлечение
- Объединение запросов на извлечение
Тестирование Возможностей Инструментов
- Запуск автоматизированных тестов
- Получить статус автоматизации тестирования
- Настройте тестовые агенты
- Создание генераторов тестовых данных
- Управление тестовыми средами
- Получите тестовый анализ лещадности
- Получите анализ пробелов в тестировании
- Анализ воздействия теста запуска
- Получить панель мониторинга работоспособности теста
- Оптимизация запуска теста
- Создавайте исследовательские сессии
- Запись результатов исследовательских испытаний
- Преобразуйте выводы в рабочие элементы
- Получить статистику исследовательского теста
Инструменты DevSecOps
- Запустите сканирование безопасности
- Получите результаты сканирования безопасности
- Отслеживайте уязвимости безопасности
- Создание отчетов о соответствии требованиям безопасности
- Интеграция результатов SARIF
- Проведение проверок соответствия
- Получить статус соответствия
- Создавайте отчеты о соответствии
- Управление политиками безопасности
- Отслеживание осведомленности о безопасности
- Повернуть секреты
- Аудит секретного использования
- Настроить интеграцию хранилища
Инструменты управления артефактами
- Список артефактных каналов
- Получить версии пакета
- Опубликовать пакеты
- Продвигать пакеты
- Удалить версии пакета
- Список изображений контейнеров
- Получить теги изображения контейнера
- Сканирование изображений контейнеров
- Управление политиками контейнеров
- Управление универсальными пакетами
- Создание отчетов о загрузке пакетов
- Проверьте зависимости пакетов
Инструменты разработки с использованием искусственного интеллекта
- Получите обзоры кода с использованием искусственного интеллекта
- Предложить оптимизацию кода
- Определите запахи кода
- Получите прогнозный анализ ошибок
- Получите показатели производительности разработчиков
- Получите прогнозные оценки усилий
- Получите тенденции качества кода
- Предложить уточнения рабочего элемента
- Предложить возможности автоматизации
- Создавайте интеллектуальные оповещения
- Прогнозирование сбоев сборки
- Оптимизировать выбор теста
Установка
Установка через Smithery
Чтобы автоматически установить azuredevops-mcp для Claude Desktop через Smithery :
Предпосылки
- Node.js (v16 или более поздняя версия)
- TypeScript (v4 или более поздняя версия)
- Учетная запись Azure DevOps с персональным токеном доступа (PAT) или соответствующие локальные учетные данные
Настраивать
- Клонируйте репозиторий:Copy
- Установить зависимости:Copy
- Настройте переменные среды (создайте файл
.env
или задайте их напрямую):Для служб Azure DevOps (облако):Для Azure DevOps Server (локально):CopyCopy - Создайте проект:Если вы столкнулись с ошибками TypeScript, но все равно хотите продолжить:CopyCopy
- Запустите сервер:Copy
Конфигурация
Персональный токен доступа (PAT)
Для Azure DevOps Services (облако) вам потребуется создать персональный токен доступа с соответствующими разрешениями:
- Перейдите в свою организацию Azure DevOps.
- Нажмите на значок вашего профиля в правом верхнем углу.
- Выберите «Персональные токены доступа»
- Нажмите «Новый токен».
- Дайте ему имя и выберите соответствующие области действия:
- Рабочие элементы: чтение и письмо
- Код: Чтение и запись
- Проект и команда: чтение и письмо
- Сборка: Читать
- Выпуск: Читать
Для Azure DevOps Server (локально) доступны три варианта аутентификации:
- Персональный токен доступа (PAT):
- Аналогично настройке в облаке, но создайте PAT в локальном экземпляре
- Установить
AZURE_DEVOPS_AUTH_TYPE=pat
- Аутентификация NTLM:
- Используйте учетные данные вашего домена Windows
- Установить
AZURE_DEVOPS_AUTH_TYPE=ntlm
- Укажите имя пользователя, пароль и домен
- Базовая аутентификация:
- Используйте ваши местные учетные данные
- Установить
AZURE_DEVOPS_AUTH_TYPE=basic
- Введите имя пользователя и пароль
Azure DevOps Services и Azure DevOps Server
Эта интеграция поддерживает как размещенные в облаке службы Azure DevOps, так и локальный сервер Azure DevOps:
Службы Azure DevOps (облако)
- Простая настройка с URL-адресом организации и PAT
- Конфигурация по умолчанию предполагает формат:
https://dev.azure.com/your-organization
- Всегда использует аутентификацию PAT
- Примеры файлов конфигурации приведены в
.env.cloud.example
Сервер Azure DevOps (локальный)
- Требуется дополнительная настройка URL-адреса сервера, сбора данных и аутентификации.
- Формат URL-адреса зависит от настроек вашего сервера:
https://your-server/tfs
- Требуется указать название коллекции
- Поддерживает несколько методов аутентификации (PAT, NTLM, Basic)
- Для старых версий сервера может потребоваться спецификация версии API
- Примеры файлов конфигурации приведены в
.env.on-premises.example
Ключевые различия
Особенность | Службы Azure DevOps | Azure DevOps-сервер |
---|---|---|
Формат URL-адреса | https://dev.azure.com/org | https://сервер/tfs |
Коллекция | Не требуется | Необходимый |
Методы аутентификации | PAT, идентификатор Entra (DefaultAzureCredential) | PAT, NTLM, Базовый |
Версия API | Последняя (автоматическая) | Может потребоваться спецификация |
Связь | Всегда интернет | Может быть с воздушным зазором |
Entra Аутентификация
Убедитесь, что у вас установлен az cli и он аутентифицирован. Модули azd и AZ Powershell также должны работать, если вы аутентифицированы.
Пример конфигурации
Скопируйте .env.cloud.example
или .env.on-premises.example
в .env
и обновите значения по мере необходимости.
Переменные среды
Сервер можно настроить с помощью следующих переменных среды:
Переменная | Описание | Необходимый | По умолчанию |
---|---|---|---|
AZURE_DEVOPS_ORG_URL | URL вашей организации или сервера Azure DevOps | Да | - |
AZURE_DEVOPS_PROJECT | Проект по умолчанию для использования | Да | - |
AZURE_DEVOPS_IS_ON_PREMISES | Используете ли вы Azure DevOps Server | Нет | ЛОЖЬ |
AZURE_DEVOPS_COLLECTION | Название коллекции для локального использования | Нет* | - |
AZURE_DEVOPS_API_VERSION | Версия API для локальной установки | Нет | - |
AZURE_DEVOPS_AUTH_TYPE | Тип аутентификации (pat/ntlm/basic/entra) | Нет | похлопать |
AZURE_DEVOPS_ПЕРСОНАЛЬНЫЙ_АККЕСС_ТОКЕН | Персональный токен доступа (для аутентификации «pat») | Нет** | - |
AZURE_DEVOPS_ИМЯ_ПОЛЬЗОВАТЕЛЯ | Имя пользователя для NTLM/Basic аутентификации | Нет** | - |
AZURE_DEVOPS_ПАРОЛЬ | Пароль для NTLM/Basic аутентификации | Нет** | - |
AZURE_DEVOPS_ДОМЕН | Домен для аутентификации NTLM | Нет | - |
РАЗРЕШЕННЫЕ_ИНСТРУМЕНТЫ | Список методов инструмента, разделенных запятыми, для включения | Нет | Все инструменты |
* Требуется, если AZURE_DEVOPS_IS_ON_PREMISES=true
** Требуется в зависимости от выбранного типа аутентификации
Фильтрация инструментов с помощью ALLOWED_TOOLS
Переменная среды ALLOWED_TOOLS
позволяет вам ограничить доступные методы инструментов. Это совершенно необязательно — если не указано, будут включены все инструменты.
Формат: список имен методов, разделенных запятыми, без пробелов.
Пример:
Это позволит включить только указанные методы рабочего элемента, отключив все остальные.
Использование
После запуска сервера вы можете взаимодействовать с ним с помощью протокола MCP. Сервер предоставляет несколько инструментов для различных функций Azure DevOps.
Доступные инструменты
Примечание: По умолчанию в файле
index.ts
регистрируется только подмножество инструментов, чтобы упростить начальную реализацию. Информацию о регистрации дополнительных инструментов см. в разделе Регистрация инструментов .
Пример: список рабочих элементов
Пример: создание рабочего элемента
Пример: Список репозиториев
Пример: создание запроса на извлечение
Архитектура
Проект структурирован следующим образом:
src/
Interfaces/
: Определения типов для параметров и ответовServices/
: Классы служб для взаимодействия с API Azure DevOpsTools/
: Реализации инструментов, которые предоставляют функциональность клиентамindex.ts
: Основная точка входа, которая регистрирует инструменты и запускает сервер.config.ts
: Обработка конфигурации
Уровень обслуживания
Уровень сервиса обеспечивает прямую связь с API Azure DevOps:
WorkItemService
: Операции с рабочими элементамиBoardsSprintsService
: Операции с досками и спринтамиProjectService
: Операции по управлению проектамиGitService
: Операции с репозиторием GitTestingCapabilitiesService
: Тестирование возможностей операцийDevSecOpsService
: Операции DevSecOpsArtifactManagementService
: Операции по управлению артефактамиAIAssistedDevelopmentService
: операции по развитию с использованием искусственного интеллекта
Слой инструментов
Уровень инструментов охватывает службы и обеспечивает согласованный интерфейс для протокола MCP:
WorkItemTools
: Инструменты для операций с рабочими элементамиBoardsSprintsTools
: Инструменты для работы досок и спринтовProjectTools
: Инструменты для операций по управлению проектамиGitTools
: инструменты для операций GitTestingCapabilitiesTools
: Инструменты для тестирования возможностей операцийDevSecOpsTools
: Инструменты для операций DevSecOpsArtifactManagementTools
: Инструменты для операций по управлению артефактамиAIAssistedDevelopmentTools
: Инструменты для операций по разработке с использованием ИИ
Регистрация инструмента
Сервер MCP требует, чтобы инструменты были явно зарегистрированы в файле index.ts
. По умолчанию регистрируется только подмножество всех возможных инструментов, чтобы сохранить начальную реализацию управляемой.
Чтобы зарегистрировать больше инструментов:
- Откройте файл
src/index.ts
- Добавляйте новые регистрации инструментов по образцу существующих инструментов.
- Соберите и перезапустите сервер.
Подробное руководство по регистрации инструментов доступно в файле TOOL_REGISTRATION.md
в репозитории.
Примечание: При регистрации инструментов будьте осторожны и используйте правильные типы параметров, особенно для значений enum. Определения типов в каталоге
Interfaces
определяют ожидаемые типы для каждого параметра. Использование неправильного типа (например, использованиеz.string()
вместоz.enum()
для перечисляемых значений) приведет к ошибкам TypeScript во время сборки.
Пример регистрации нового инструмента:
Поиск неисправностей
Общие проблемы
Ошибки аутентификации
- Убедитесь, что ваш персональный токен доступа действителен и имеет необходимые разрешения.
- Проверьте правильность URL-адреса организации.
Ошибки TypeScript во время сборки
- Используйте
npm run build:ignore-errors
для обхода ошибок TypeScript - Проверьте наличие отсутствующих или неверных определений типов.
Ошибки во время выполнения
- Убедитесь, что указанный проект Azure DevOps существует и доступен.
Внося вклад
Вклады приветствуются! Вот как вы можете внести свой вклад:
- Форк репозитория
- Создайте ветку функций (
git checkout -b feature/amazing-feature
) - Зафиксируйте свои изменения (
git commit -m 'Add some amazing feature'
) - Отправить в ветку (
git push origin feature/amazing-feature
) - Открыть запрос на извлечение
Убедитесь, что ваш код проходит линтинг и включает соответствующие тесты.
You must be authenticated.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
Этот сервер предоставляет удобный API для взаимодействия со службами Azure DevOps, позволяя помощникам ИИ и другим инструментам управлять рабочими элементами, репозиториями кода, досками, спринтами и т. д. Созданный с использованием Model Context Protocol, он предоставляет стандартизированный интерфейс для взаимодействия с Azure DevOps.
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol server that enables AI assistants to interact with Azure DevOps resources including projects, work items, repositories, pull requests, branches, and pipelines through a standardized protocol.Last updated -15602131TypeScriptMIT License
- -securityAlicense-qualityEnables connections to Azure AI Agents within any MCP client, allowing users to leverage Azure AI Foundry's models and knowledge tools like Azure AI Search and Bing Web Grounding through a conversational interface.Last updated -111JavaScriptMIT License
- -securityFlicense-qualityA reference server implementation for the Model Context Protocol that enables AI assistants to interact with Azure DevOps resources and perform operations such as project management, work item tracking, repository operations, and code search programmatically.Last updated -3TypeScript
- AsecurityAlicenseAqualityA Model Context Protocol server that enables AI assistants to interact with Azure DevOps services, allowing users to query work items with plans to support creating/updating items, managing pipelines, handling pull requests, and administering sprints and branch policies.Last updated -916PythonMIT License