La herramienta oficial de código abierto de Microsoft que convierte Azure SQL, Cosmos DB, Postgres o MySQL en endpoints REST + GraphQL + MCP — un archivo de configuración, sin código.
Data API Builder (DAB) es la forma respaldada por Azure para poner tu almacén relacional o NoSQL detrás de protocolos bien conocidos, incluido MCP. Escribes un archivo de configuración JSON que lista entidades, relaciones y políticas; DAB arranca un proceso que las expone como REST, GraphQL y (desde 2026) herramientas MCP. Soporta Azure SQL, SQL Server, Cosmos DB (NoSQL + PostgreSQL), Postgres, MySQL y Azure Data Lake. Autenticación mediante Static Web Apps, Easy Auth o JWT.
Añádelo a context_servers. Zed recarga en caliente al guardar.
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
Un solo comando. Verifica con claude mcp list. Quita con claude mcp remove.
Casos de uso
Usos del mundo real: Azure Data API Builder (MCP)
Exponer una base de datos Azure SQL a Claude con acceso basado en roles
👤 Equipos en el ecosistema Azure; analistas que necesitan consultar, no solo volcar datos⏱ ~30 minintermediate
Cuándo usarlo: Tienes una Azure SQL interna y quieres que el agente de IA la lea con permisos estrictos por tabla, sin acceso de administrador total.
Requisitos previos
Cadena de conexión de Azure SQL — Desde Azure Portal → SQL DB → Cadenas de conexión
Docker instalado localmente — Docker Desktop o cualquier runtime OCI
Flujo
Generar dab-config.json
Crea una configuración DAB que exponga las tablas Customers y Orders solo lectura mediante MCP. Conéctate a mi Azure SQL mediante la variable de entorno DAB_CONN.✓ Copiado
→ dab-config.json escrito con ambas entidades y actions: ["read"]
Ejecutar localmente
Levanta DAB localmente mediante Docker en el puerto 5000 y verifica que el endpoint MCP responde.✓ Copiado
→ GET /api/Customers devuelve filas; la lista de herramientas MCP muestra las entidades
Conectar a Claude
Añade el DAB MCP local a mi configuración de Claude y pregunta: 'Los 10 mejores clientes por pedidos en 2026.'✓ Copiado
→ Claude devuelve el resultado componiendo llamadas de lectura
Resultado: Claude puede consultar la base de datos dentro de límites estrictos configurados, no mediante SQL directo.
Errores comunes
El firewall de Azure SQL bloquea la IP local de Docker — Permite tu IP en Azure Portal → SQL Server → Redes, o ejecuta DAB dentro de Azure
Envolver Cosmos DB NoSQL detrás de una capa GraphQL+MCP
👤 Equipos ya en Cosmos que quieren acceso LLM sin una API personalizada⏱ ~40 minadvanced
Cuándo usarlo: Tienes un contenedor Cosmos NoSQL y necesitas acceso de lectura/escritura desde Claude con políticas a nivel de campo.
Requisitos previos
Cuenta Cosmos DB + contenedor — Desde Azure Portal — anota la cadena de conexión y los nombres de base de datos/contenedor
Flujo
Configurar la entidad
Añade una entidad para el contenedor Cosmos products con un esquema JSON mapeado desde los documentos reales. Permite lectura+actualización; requiere rol 'editor' para actualizaciones.✓ Copiado
→ dab-config.json actualizado con bloque de permisos
Configurar Easy Auth
Añade una configuración de proveedor JWT con el emisor de mi tenant de Entra.✓ Copiado
→ Bloque de autenticación añadido; DAB lo aplica
Verificar políticas
Prueba una escritura como anónimo (debe fallar), luego con token de editor (debe funcionar).✓ Copiado
→ 401 y luego 200 — confirma que las políticas se aplican
Resultado: Una superficie Cosmos segura para Claude — lecturas abiertas, escrituras controladas.
Errores comunes
El esquema de Cosmos es dinámico pero DAB requiere tipos GraphQL — Proporciona un archivo de esquema GraphQL; DAB cae de vuelta a REST si no
Exponer un procedimiento almacenado como herramienta MCP
👤 DBAs con lógica de negocio consolidada en TSQL⏱ ~25 minadvanced
Cuándo usarlo: Los procedimientos almacenados existentes encapsulan reglas de negocio y prefieres exponerlos a Claude antes que dar acceso directo a las tablas.
Flujo
Definir la entidad
En dab-config, añade la entidad GetSalesByRegion de tipo stored-procedure apuntando a dbo.usp_GetSalesByRegion. Mapea los parámetros como inputs de herramienta MCP.✓ Copiado
→ El procedimiento almacenado aparece como herramienta MCP invocable
Probar
Llama a GetSalesByRegion para region='APAC', period='2026Q1'.✓ Copiado
→ Filas de resultado devueltas
Resultado: La lógica de negocio permanece en la base de datos; la IA simplemente la invoca.
Errores comunes
El procedimiento almacenado devuelve múltiples conjuntos de resultados — DAB devuelve el primero; refactoriza a un único conjunto o divide en múltiples procedimientos