API VEGA

🏢 Dev Box MCP Server

Это сервер Model Context Protocol (MCP) для Microsoft Dev Box, обеспечивающий бесшовную интеграцию между AI-агентами и сервисами Microsoft Dev Box. Этот сервер позволяет естественные языковые взаимодействия для операций, ориентированных на разработчиков, таких как управление Dev Boxes, конфигурациями и пулами.

🔌 Getting Started

Пререквизиты

  • Node.js 18 or newer
  • Azure Resources
    Azure подписка
    • Dev Center развернут
    • Как минимум один проект Dev Center создан
    • Соответствующие разрешения RBAC на ресурсы Dev Center
  • MCP Client

Установка

Dev Box MCP Server можно установить на любом MCP-клиенте, таком как Visual Studio или Visual Studio Code (VS Code). Ниже приведены подробные шаги по установке на Visual Studio Code.

Для шагов установки на Visual Studio смотрите здесь: здесь

✨ Однокликовая установка в VS Code

Нажмите одну из кнопок ниже, чтобы установить Dev Box MCP Server для VS Code или VS Code Insiders.

Всего один клик — и вы готовы к работе! 🎉

🔧 Ручная установка в VS Code

Для пошаговой установки выполните одну из следующих инструкций:

  • Добавьте .vscode/mcp.json в ваше рабочее пространство:
{
    "servers": {
        "DevBox": {
            "command": "npx",
            "args": ["-y", "@microsoft/devbox-mcp@latest"]
        }
    }
}
{
    "mcp": {
        "servers": {
            "DevBox": {
                "command": "npx",
                "args": ["-y", "@microsoft/devbox-mcp@latest"]
            }
        }
    }
}
  • Также можно добавить Dev Box MCP программно через VS Code CLI:
# Для VS Code
code --add-mcp '{"name":"DevBox","command":"npx","args":["-y","@microsoft/devbox-mcp@latest"]}'

Подробные шаги установки MCP в VS Code см. здесь: здесь.

VSCode Installation Demo

❓ FAQ

Tool call failed with 'Tool xxx does not have an implementation registered' or 'I apologize for the technical issue'

Если вы сталкиваетесь с этой ошибкой, вероятно, проблема связана с некорректным кэшом инструментов в режиме GitHub Copilot Agent. Чтобы устранить проблему:

  • Нажмите Ctrl+Shift+P, чтобы открыть палитру команд
  • Выполните MCP: Reset cached tools
  • Перезагрузите MCP сервер

Для более подробной информации см. GitHub issue #177

Ошибка: Cannot find module '../build/Release/keytar.node'

Если вы столкнулись с этой ошибкой, попробуйте выполнить npx clear-npx-cache.

Если при запуске MCP сервера возникают другие ошибки, можете также попробовать приведённую выше команду.

🛠️ На данный момент поддерживаемые инструменты

Dev Box MCP предоставляет инструменты для взаимодействия с следующими ресурсами Microsoft Dev Box:

💻 Жизненный цикл Dev Box

  • DevBox Resource: унифицированный инструмент для управления DevBox с использованием паттернов области

Перечень всех DevBox-ов во всех проектах: /projects/*/users/me/devboxes/* (операция: read)

  • Перечень DevBox-ов в конкретном проекте: /projects/ProjectName/users/me/devboxes/* (операция: read)

  • Получение деталей конкретного DevBox: /projects/ProjectName/users/me/devboxes/DevBoxName (операция: read)

  • Поиск DevBox по имени в рамках проектов: /projects/*/users/me/devboxes/DevBoxName (операция: read)

  • Создание нового DevBox: /projects/ProjectName/users/me/devboxes/NewDevBoxName (операция: create)

  • Удаление существующего DevBox: /projects/ProjectName/users/me/devboxes/DevBoxName (операция: delete)

📂 Проекты

  • Project Resource: унифицированный инструмент для управления проектами с использованием паттернов области

Список всех проектов: /projects/* (операция: read)

  • Получение деталей конкретного проекта: /projects/projectName (операция: read)

🏊 Пулы Dev Box

  • Список пулов по проекту: просмотр всех доступных пулов Dev Box в проекте

🎯 Действия и расписания

  • DevBox Action: унифицированный инструмент для управления мощностью DevBox с использованием паттернов области

Запуск DevBox: /projects/ProjectName/users/userId/devboxes/DevBoxName (действие: start)

  • Остановка DevBox: /projects/ProjectName/users/userId/devboxes/DevBoxName (действие: stop)

  • Перезапуск DevBox: /projects/ProjectName/users/userId/devboxes/DevBoxName (действие: restart)

  • Ремонт DevBox: /projects/ProjectName/users/userId/devboxes/DevBoxName (действие: repair)

  • Получение удалённого соединения: /projects/ProjectName/users/userId/devboxes/DevBoxName (действие: getRemoteConnection)

  • Schedule Resource: унифицированный инструмент для управления расписанием DevBox с использованием паттернов области

Список всех расписаний: /projects/ProjectName/users/userId/devboxes/DevBoxName (действие: listAll)

  • Задержка всех запланированных действий: /projects/ProjectName/users/userId/devboxes/DevBoxName (действие: delayAll)

  • Пропуск всех запланированных действий: /projects/ProjectName/users/userId/devboxes/DevBoxName (действие: skipAll)

📦 Настройка

  • List Customization Task Definitions By Project: Просмотр доступных задач настройки в проекте

  • Get Customization Task Definitions: Получение сведений о конкретной задаче настройки

  • Validate Customization Tasks: Проверка списка задач настройки

  • List Customization Groups: Просмотр всех групп настройки для Dev Box

  • Get Customization Group: Получение сведений о конкретной группе настройки

  • Create Customization Group: Применение настроек к Dev Box

  • Get Imaging Task Log: Просмотр журналов задачи imaging

  • Run Tasks On Dev Box: Установка пакетов или выполнение команд на Dev Box

  • Get Customization Task Log: Просмотр журналов задачи настройки

  • Set Dev Box Theme: Изменение визуальной темы (dark/light) для Dev Box

🔄 Операции

  • Get Operation Status: Проверка статуса долгосрочных операций

🤔 Thinking

  • DevBox Think: Предоставляет контекст для понимания и выполнения операций Dev Box

🔑 Аутентификация

Сервер Dev Box MCP использует DefaultAzureCredential и WAM (Web Account Manager) на базе брокерской аутентификации для бесшовной интеграции с Azure.

Цепочка аутентификации следует в следующем порядке:

  • Переменные окружения (EnvironmentCredential)

  • Управляемая идентиность (ManagedIdentityCredential)

  • Visual Studio Code (VisualStudioCredential)

  • Azure CLI (AzureCliCredential)

  • Azure PowerShell (AzurePowerShellCredential)

  • Azure Developer CLI (AzureDeveloperCliCredential)

  • Windows SSO (Single Sign-On) (WAM - Web Account Manager)

Цепочка пытается каждый метод по порядку, пока не достигнет успешной аутентификации. WAM обеспечивает бесшовный вход в систему на платформах Windows, автоматически используя ваши существующие учетные данные Windows, когда они доступны.

Если возникают ошибки аутентификации, попробуйте:

  • Убедитесь, что вы вошли в Windows SSO (Single Sign-On) или в Azure CLI

  • Проверьте, что у вас есть необходимые разрешения в вашей подписке Azure

  • Проверьте, нужно ли указать конкретный tenant с помощью az login --tenant <tenant-id>

🛡️ Лицензия

Copyright (c) Microsoft Corporation. All rights reserved.