🏢 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
- Установите ваш MCP host/client на выбор
- Рекомендуемые клиенты MCP включают:
Visual Studio Code с расширением GitHub Copilot- Visual Studio 2022 версия 17.14 или выше
Установка
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"]
}
}
}
- Либо добавьте в ваш user settings.json:
{
"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.