JAJ Dataverse Dev MCP
Лёгкий MCP-сервер для повседневной разработки с Dataverse и Power Platform.
Подключайте агентов к нескольким средам Dataverse, используя имеющуюся учётную запись Azure CLI.
Сервер предоставляет простой и удобный для агентов интерфейс к Web API для работы с данными, метаданными, решениями и компонентами, а также для устранения неполадок и выполнения задач разработки.
Агент → MCP → учётная запись Azure CLI → Dataverse Web API
Быстрый старт: VS Code и GitHub Copilot
Добавьте сервер в .vscode/mcp.json:
{
"servers": {
"dataverse-dev": {
"command": "npx",
"args": [ "-y", "jaj-dataverse-dev-mcp" ]
}
}
}
Сохраните файл и нажмите Start. При первом запуске может потребоваться некоторое время, пока npx загружает пакет.
Войдите с помощью Azure CLI:
az login
Создайте в корне проекта файл environments.json и укажите в нём нужные среды:
{
"environments": {
"dev": {
"url": "https://org8ffb6d07.crm.dynamics.com/",
"allowWrite": true
}
}
}
Откройте Copilot и попробуйте выполнить следующие запросы:
-
Перечисли доступные среды Dataverse
-
Выполни whoami для среды dev
-
Покажи имена и идентификаторы пяти недавно созданных учётных записей
-
Перечисли неуправляемые решения
Готово!
Другие агенты, совместимые с MCP, настраиваются так же: запустите jaj-dataverse-dev-mcp с транспортом stdio и предоставьте доступ к локальному сеансу Azure CLI и конфигурации подключений.
Быстрый старт: Claude Desktop
Добавьте сервер в claude_desktop_config.json:
-
Windows:
%APPDATA%\Claude\claude_desktop_config.json -
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"dataverse-dev": {
"command": "npx",
"args": ["-y", "jaj-dataverse-dev-mcp"],
"env": { "DATAVERSE_ENVIRONMENTS_PATH": "C:/Users/you/project/environments.json" }
}
}
}
Сохраните файл, полностью закройте Claude Desktop и запустите его снова. Изменения конфигурации не применяются, если просто закрыть окно.
Продолжите с раздела «Войдите с помощью Azure CLI…» в разделе «Быстрый старт: VS Code и GitHub Copilot».
Зачем нужен этот проект?
Уже существует несколько реализаций MCP для Dataverse, в том числе собственные инструменты Microsoft.
Проект появился в ходе повседневной разработки: агентам часто требовались возможности, выходящие за рамки доступных специализированных инструментов.
Во многих случаях агент мог успешно выполнить задачу, самостоятельно сформировав запросы к Dataverse Web API.
Этот MCP использует именно такой подход.
Вместо того чтобы скрывать Dataverse за крупным уровнем абстракции, он предоставляет широкий доступ к Web API через простой промежуточный слой.
Сервер также рассчитан на разработчиков и консультантов, которые регулярно переключаются между проектами, заказчиками и средами Dataverse.
Один MCP-сервер может работать с несколькими средами Dataverse, используя имеющуюся учётную запись Azure CLI.
Отдельная регистрация приложения, идентификатор клиента и секрет клиента не требуются.
Предварительные требования
-
Node.js 20+
-
Доступ к URL одной или нескольких сред Dataverse
Аутентификация
# Specific tenant, if your tenant is not the default
az login --allow-no-subscriptions # Tenant without subscriptions az login --use-device-code # Remote/headless environments
To inspect the currently active Azure CLI account:
az account show">
# Authentication is based on your current Azure CLI identity:
az login
# Useful variants:
az login --tenant <tenant-id> # Specific tenant, if your tenant is not the default
az login --allow-no-subscriptions # Tenant without subscriptions
az login --use-device-code # Remote/headless environments
# To inspect the currently active Azure CLI account:
az account show
Среды Dataverse
Среды задаются в файле environments.json в корне проекта и обозначаются понятными именами, например dev, test и prod.
Агенты используют эти имена, чтобы выбрать среду Dataverse для работы.
Если среда находится в тенанте, отличном от тенанта Azure CLI по умолчанию, укажите для неё tenantId.
Путь к файлу конфигурации можно переопределить во время выполнения с помощью DATAVERSE_ENVIRONMENTS_PATH.
Пример:
{
"environments": {
"dev": {
"url": "https://YOUR-DEV.crm.dynamics.com/",
"allowWrite": true
},
"test": {
"url": "https://YOUR-TEST.crm4.dynamics.com",
"allowWrite": false
},
"prod": {
"url": "https://YOUR-PROD.crm4.dynamics.com",
"allowWrite": false,
"tenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
}
}
Добавление инструкций Copilot для проекта
Чтобы агент работал эффективнее, добавьте инструкции по Dataverse в проект, где используется MCP.
Скопируйте docs/examples/copilot-instructions.md в файл .github/copilot-instructions.md в рабочей области, где используется MCP-сервер, а затем адаптируйте его для своего проекта:
-
замените
YOUR-dev,YOUR-testиYOUR-prodименами сред изenvironments.json -
замените
YOUR_DEFAULT_SOLUTIONуникальным именем основного решения Dataverse -
настройте среду по умолчанию и правила безопасности с учётом проекта
Зафиксируйте настроенный файл в репозитории проекта, чтобы все участники команды пользовались одинаковыми рекомендациями.
Запуск напрямую через npx
Пакет можно запустить вручную; по умолчанию используется транспорт stdio:
npx -y jaj-dataverse-dev-mcp
Для разработки или клиентов, использующих Streamable HTTP, добавьте --http.
Для каких задач подходит сервер?
Хотя MCP намеренно представляет собой простой промежуточный слой для Dataverse Web API, он поддерживает широкий круг задач разработки и устранения неполадок. Например, с его помощью можно:
-
выполнять запросы к записям Dataverse и обновлять их
-
изучать таблицы, столбцы, метаданные, издателей и решения
-
создавать и настраивать неуправляемые решения
-
добавлять существующие компоненты в решения
-
работать с действиями и функциями Dataverse
-
экспортировать решения для развертывания в других средах
Сервер подходит как для непосредственного выполнения задач разработки, так и для сценариев с участием агента: агент изучает Dataverse, выбирает дальнейшее действие и выполняет его через MCP.