Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Importante
SQL MCP Server está en versión preliminar y esta documentación y la implementación del motor está sujeta a cambios durante este período de evaluación.
SQL MCP Server proporciona a los desarrolladores una manera sencilla, predecible y segura de incorporar agentes de inteligencia artificial a sus flujos de trabajo de datos. Esto se logra sin exponer la base de datos ni confiar en el análisis de lenguaje natural frágil. Al aprovechar la abstracción de entidades, RBAC, el almacenamiento en caché y la telemetría del Data API builder, SQL MCP Server proporciona una plataforma lista para producción que funciona de la misma manera en REST, GraphQL y MCP. Se configura una sola vez y el motor se encarga del resto.
Protocolo de contexto de modelo (MCP)
El Protocolo de contexto de modelo (MCP) es un estándar que define cómo los agentes de IA detectan y llaman a herramientas externas. Una herramienta es una sola operación, como crear un registro o leer datos. Cada herramienta describe sus entradas, salidas y comportamiento. MCP proporciona una manera predecible de que los agentes detecten y usen funcionalidades.
Servidor MCP para SQL
SQL MCP Server es el motor dinámico y de código abierto de Microsoft para aplicaciones agente. Se configura con un archivo JSON que define:
- Conexión a la base de datos
- Qué tablas, vistas o procedimientos almacenados se van a exponer
- Permisos que se aplican a cada objeto
SQL MCP Server se incluye como parte de Data API Builder (DAB) a partir de la versión 1.7. Expone las operaciones SQL como una pequeña familia de herramientas de MCP para que los agentes puedan interactuar con las entidades de base de datos a través de un contrato controlado. El servidor es autohospedado, pero, para los desarrolladores, también se puede ejecutar localmente a través de la línea de comandos DAB.
Sugerencia
Data API Builder es de código abierto y es gratuito.
Casos de uso
Estos son algunos casos de uso típicos para SQL MCP Server:
- Permitir que los copilotos o bots de chat realicen operaciones CRUD seguras
- Compilación de automatizaciones internas sin escribir SQL
- Adición de funcionalidades de agente sin exponer la base de datos directamente
Protección del esquema
Data API Builder usa una capa de abstracción de entidades bien definida que enumera todas las tablas, vistas y procedimientos almacenados expuestos a través de la API en la configuración. Esta capa le permite asignar alias a nombres y columnas, describir objetos y parámetros, y limitar los campos que están disponibles para distintos roles.
Importante
Data API Builder (DAB) es consciente de roles y solo expone las entidades y operaciones a las que el rol actual tiene permitido acceder.
Dado que SQL MCP Server es una característica de Data API Builder, también usa esta capa de abstracción. Este enfoque impide que el esquema interno se exponga a los consumidores externos y le permite definir un origen de datos complejo e incluso entre orígenes de datos, familias de objetos y relaciones en el nivel de API.
Resolución de NL2SQL
SQL MCP Server adopta un enfoque diferente de muchos de los servidores MCP de base de datos a corto plazo disponibles en la actualidad. Un ejemplo destacado es que no admitimos intencionadamente NL2SQL.
¿Por qué? Los modelos no son deterministas y las consultas complejas son las más probables para producir errores sutiles. Estas consultas complejas suelen ser las que los usuarios esperan que la inteligencia artificial pueda generar, pero también son las que requieren el mayor examen cuando se producen de forma no determinista.
Nota:
Determinista significa que la misma entrada siempre genera la misma salida. No hay aleatoriedad ni variación entre llamadas, lo que hace que los resultados sean predecibles, comprobables y seguros para automatizar.
En su lugar, SQL MCP Server admite lo que podría denominarse modelo NL2DAB. Este enfoque usa la capa segura de abstracción de entidades del Generador de api de datos y el Generador de consultas DAB integrado. Juntos, producen Transact-SQL preciso y bien formado (T-SQL) de forma totalmente determinista. Este enfoque elimina el riesgo, la sobrecarga y la molestia asociados a NL2SQL, a la vez que conserva la seguridad y la confiabilidad de las consultas generadas por el agente.
Compatibilidad con DDL
DDL (lenguaje de definición de datos) es el lenguaje de base de datos que se usa para crear y modificar objetos como tablas y vistas. SQL MCP Server se basa en DML (lenguaje de manipulación de datos), el lenguaje de base de datos que se usa para crear, leer, actualizar y eliminar datos en tablas y vistas existentes. DML también cubre la ejecución de procedimientos almacenados. Como resultado, SQL MCP Server está diseñado para trabajar con datos, no con esquema. Este diseño se alinea con los casos de uso de MCP de producción en los que los agentes de inteligencia artificial interactúan con sistemas críticos o confidenciales para la empresa.
Sugerencia
Para modificar el esquema durante el desarrollo local, los ingenieros pueden usar la extensión MSSQL en Visual Studio Code (VS Code), que proporciona compatibilidad completa con DDL.
Compatibilidad con RBAC
SQL MCP Server se beneficia del mismo sistema de control de acceso basado en rol (RBAC) probado que se usa en el generador de API de datos. Cada entidad de la configuración define qué roles pueden leer, crear, actualizar o eliminar datos, y qué campos se incluyen o excluyen para esos roles. Estas reglas se aplican automáticamente a todas las herramientas de MCP, lo que garantiza que la seguridad sigue siendo coherente en REST, GraphQL y MCP sin que se requiera ninguna configuración adicional.
Importante
Las restricciones basadas en roles se aplican en cada paso de la interacción del agente.
Compatibilidad con el almacenamiento en caché
SQL MCP Server almacena automáticamente en caché los resultados de la read_records herramienta.
El almacenamiento en caché en Data API Builder está habilitado globalmente y puede configurarlo por entidad. Tanto el almacenamiento en caché de nivel 1 como el nivel 2 ayudan a reducir la carga de la base de datos, evitar los stampedes de solicitud y admitir escenarios de inicio intermedio en entornos de escalado horizontal.
Soporte para la supervisión
SQL MCP Server emite registros y telemetría que permiten a las empresas supervisar y validar la actividad desde un único panel de vidrio. Esta funcionalidad incluye azure Log Analytics, Application Insights y registros de archivos locales dentro de un contenedor.
Telemetría
SQL MCP Server está totalmente instrumentado con intervalos y actividades de OpenTelemetry (OTEL). Cada operación se realiza un seguimiento para que los desarrolladores puedan correlacionar el comportamiento entre sistemas distribuidos. Obtenga más información sobre la compatibilidad nativa de Open Telemetry de Data API Builder.
Exámenes de salud
SQL MCP Server proporciona comprobaciones detalladas de estado y entidades en los puntos de conexión REST, GraphQL y MCP. Data API Builder Health permite a los desarrolladores definir expectativas de rendimiento, establecer umbrales y comprobar que cada punto de conexión funciona según lo previsto.
¿Cómo configurar SQL MCP Server?
MCP está configurado en el archivo de configuración de DAB. Si ya tiene una configuración de Generador de DATA API en funcionamiento, la actualización a la versión 1.7 o posterior le proporciona automáticamente un servidor MCP de SQL en funcionamiento sin que se requieran pasos adicionales.
Configuración
Puede habilitar MCP globalmente o en el nivel de entidad. Esta funcionalidad le permite elegir qué entidades exponen las herramientas de MCP y que permanecen inaccesibles para los agentes. MCP sigue las mismas reglas que se usan para REST y GraphQL, por lo que la configuración sigue siendo el único origen de verdad para permisos, proyecciones y directivas.
Cuando MCP está habilitado, SQL MCP Server genera automáticamente su superficie de herramientas en función de la configuración. Usted no define las herramientas de MCP manualmente. Un sistema integrado dml-tools detecta y expone entidades de manera automática, que se adapta bien desde esquemas pequeños hasta bases de datos muy grandes.
Comienza
Introducción significa crear el dab-config.json para controlar el motor. Puede realizar esta tarea manualmente o puede usar la CLI de Data API Builder (DAB). La CLI simplifica la tarea, lo que le permite inicializar el archivo con un solo comando. Los valores de propiedad de configuración pueden usar cadenas literales, variables de entorno o secretos de Azure Key Vault .
dab init --database-type mssql --connection-string "<your-connection-string>" --config dab-config.json --host-mode development
Puede especificar cada tabla, vista o procedimiento almacenado que desee que el servidor MCP de SQL exponga si los agrega a la configuración. La CLI le permite agregarlos fácilmente, definir alias, configurar sus permisos y asignar columnas si lo desea. Lo más importante es que, con la description propiedad , puede incluir detalles semánticos para ayudar a los modelos de lenguaje a comprender mejor los datos.
dab add {entity-name} \ # object alias (Employees)
--source {table-or-view-name} \ # database object (dbo.Employees)
--source.type {table|view|stored-procedure} \ # object type (table)
--permissions "{role:actions}" \ # role and allowed actions (anonymous:*)
--description "{text}" # semantic description (Company employee records)
Configuración del entorno de ejecución
Sql MCP Server está habilitado de forma predeterminada en la configuración del Generador de API de datos. En la mayoría de los casos, no es necesario agregar ninguna configuración. El servidor sigue automáticamente los mismos permisos y reglas de seguridad que la API y la base de datos. Configure MCP solo cuando quiere limitar o restringir lo que pueden hacer los agentes.
"runtime": {
"mcp": {
"enabled": true, // default: true
"path": "/mcp", // default: /mcp
"dml-tools": {
"describe-entities": true, // default: true
"create-record": true, // default: true
"read-records": true, // default: true
"update-record": true, // default: true
"delete-record": true, // default: true
"execute-entity": true // default: true
}
}
}
La CLI también le permite establecer cada propiedad, ya sea individualmente o a través de scripting.
dab configure --runtime.mcp.enabled true
dab configure --runtime.mcp.path "/mcp"
dab configure --runtime.mcp.dml-tools.describe-entities true
dab configure --runtime.mcp.dml-tools.create-record true
dab configure --runtime.mcp.dml-tools.read-records true
dab configure --runtime.mcp.dml-tools.update-record true
dab configure --runtime.mcp.dml-tools.delete-record true
dab configure --runtime.mcp.dml-tools.execute-entity true
¿Por qué deshabilitar herramientas individuales?
Es posible que los desarrolladores quieran restringir acciones específicas incluso cuando los roles o los permisos de entidad les permitan. Deshabilitar una herramienta a nivel de tiempo de ejecución garantiza que nunca aparezca a los agentes. Por ejemplo, desactivar delete_record oculta completamente la funcionalidad de eliminación, independientemente de la configuración en otro lugar. Este escenario es poco común pero útil cuando se requieren límites operativos estrictos.
Configuración de entidad
Tampoco es necesario habilitar MCP en cada entidad. Las entidades participan automáticamente a menos que decida restringirlas. La dml-tools propiedad existe para que pueda excluir una entidad de MCP o restringir sus funcionalidades, pero no es necesario establecer nada para su uso normal. Los valores predeterminados controlan todo.
"entities": {
"products": {
"mcp": {
"dml-tools": true
}
}
}
Las herramientas DML
SQL MCP Server expone seis herramientas de lenguaje de manipulación de datos (DML) que permiten a los agentes de inteligencia artificial realizar operaciones de base de datos seguras con respecto al tipo de datos: describe_entities, create_record, read_records, update_record, delete_record y execute_entity. Estas herramientas forman una superficie CRUD predecible que siempre refleja la configuración, los permisos y el esquema.
Cada herramienta respeta el control de acceso basado en rol (RBAC), los permisos de entidad y las directivas. Los agentes nunca interactúan directamente con la base de datos: funcionan a través de la capa de abstracción secure Data API Builder.
Para obtener detalles completos sobre cada herramienta, opciones de configuración y procedimientos recomendados, consulte Referencia de herramientas DML.