Официальный open-source инструмент Microsoft, который превращает Azure SQL, Cosmos DB, Postgres или MySQL в REST + GraphQL + MCP-эндпоинты — один конфиг-файл, без кода.
Data API Builder (DAB) — это поддерживаемый Azure способ разместить реляционное или NoSQL-хранилище за хорошо известными протоколами, включая MCP. Вы пишете JSON-конфиг, перечисляя сущности, связи и политики; DAB запускает процесс, который открывает их как REST, GraphQL и (с 2026 года) MCP-инструменты. Поддерживаются Azure SQL, SQL Server, Cosmos DB (NoSQL + PostgreSQL), Postgres, MySQL и Azure Data Lake. Аутентификация через Static Web Apps, Easy Auth или JWT.
Добавьте в context_servers. Zed перезагружается автоматически.
claude mcp add azure-data-api-builder-mcp -- docker run --rm -i -v ${PWD}/dab-config.json:/App/dab-config.json:ro -e DAB_ENVIRONMENT=Production mcr.microsoft.com/azure-databases/data-api-builder:latest --ConfigFileName /App/dab-config.json
Однострочная команда. Проверить: claude mcp list. Удалить: claude mcp remove.
Сценарии использования
Реальные сценарии: Azure Data API Builder (MCP)
Открыть Azure SQL для Claude с контролем доступа по ролям
👤 Azure-команды; аналитики, которым нужны запросы, а не дамп данных⏱ ~30 minintermediate
Когда использовать: У вас есть внутренняя Azure SQL БД и вы хотите, чтобы AI-агент читал её со строгими правами по таблицам, а не с правами администратора.
Docker установлен локально — Docker Desktop или любая OCI-среда выполнения
Поток
Сгенерировать dab-config.json
Create a DAB config that exposes the Customers and Orders tables read-only over MCP. Connect to my Azure SQL via env var DAB_CONN.✓ Скопировано
→ dab-config.json записан с обеими сущностями и actions: ["read"]
Запустить локально
Spin up DAB locally via Docker on port 5000 and verify the MCP endpoint responds.✓ Скопировано
→ GET /api/Customers возвращает строки; список MCP-инструментов показывает сущности
Подключить к Claude
Add the local DAB MCP to my Claude config and ask: 'Top 10 customers by orders in 2026.'✓ Скопировано
→ Claude возвращает результат, составляя read-вызовы
Итог: Claude может запрашивать базу данных в строго заданных границах, а не через прямой SQL.
Подводные камни
Брандмауэр Azure SQL блокирует локальный IP Docker — Разрешите свой IP в Azure Portal → SQL Server → Networking, или запустите DAB внутри Azure
Обернуть Cosmos DB NoSQL в слой GraphQL+MCP
👤 Команды на Cosmos, которым нужен доступ LLM без написания отдельного API⏱ ~40 minadvanced
Когда использовать: У вас есть контейнер Cosmos NoSQL и нужен доступ на чтение/запись из Claude с политиками на уровне полей.
Предварительные требования
Аккаунт и контейнер Cosmos DB — Azure Portal — запишите строку подключения и имена базы/контейнера
Поток
Настроить сущность
Add an entity for Cosmos container products with a JSON schema mapped from the actual docs. Allow read+update; require role 'editor' for updates.✓ Скопировано
→ Обновлённый dab-config.json с блоком permissions
Настроить Easy Auth
Add a JWT auth provider config with the issuer of my Entra tenant.✓ Скопировано
→ Добавлен блок аутентификации; DAB его применяет
Проверить политики
Try a write as anonymous (should fail), then with editor token (should succeed).✓ Скопировано
→ 401, затем 200 — политики работают
Итог: Безопасная поверхность Cosmos для Claude — чтение открыто, запись ограничена.
Подводные камни
Схема Cosmos динамическая, но DAB требует типов GraphQL — Предоставьте файл схемы GraphQL; DAB переключится на REST, если схемы нет
Открыть хранимую процедуру как MCP-инструмент
👤 DBA с закалённой бизнес-логикой в TSQL⏱ ~25 minadvanced
Когда использовать: Существующие хранимые процедуры инкапсулируют бизнес-правила, и лучше открыть их для Claude, чем давать прямой доступ к таблицам.
Поток
Определить сущность
In dab-config, add entity GetSalesByRegion of type stored-procedure pointing to dbo.usp_GetSalesByRegion. Map parameters to MCP tool inputs.✓ Скопировано
→ Хранимая процедура отображается как вызываемый MCP-инструмент
Проверить
Call GetSalesByRegion for region='APAC', period='2026Q1'.✓ Скопировано
→ Возвращены строки результата
Итог: Бизнес-логика остаётся в БД, AI просто вызывает её.
Подводные камни
Хранимая процедура возвращает несколько наборов результатов — DAB возвращает первый; рефакторьте до одного набора или разбейте на несколько процедур