Aprende a usar el servidor de MCP del Servicio de migración de BigQuery
En este documento, se muestra cómo usar el servidor remoto del Protocolo de contexto del modelo (MCP) de BigQuery para conectarse con aplicaciones basadas en IA, como la CLI de Gemini, ChatGPT, Claude y las aplicaciones personalizadas que desarrolles. Puedes usar el servidor del Protocolo de contexto del modelo (MCP) del Servicio de migración de BigQuery para realizar tareas como traducir consultas de SQL a la sintaxis de GoogleSQL, generar sentencias DDL a partir de consultas de entrada de SQL y obtener explicaciones de las traducciones de SQL.
El servidor de MCP remoto de BigQuery se habilita cuando habilitas la API de BigQuery.El Protocolo de contexto del modelo (MCP) estandariza la forma en que los modelos de lenguaje grandes (LLM) y las aplicaciones o los agentes de IA se conectan a fuentes de datos externas. Los servidores de MCP te permiten usar sus herramientas, recursos y mensajes para realizar acciones y obtener datos actualizados de su servicio de backend.
Por lo general, los servidores MCP locales se ejecutan en tu máquina local y usan los flujos de entrada y salida estándar (stdio) para la comunicación entre servicios en el mismo dispositivo. Los servidores de MCP se ejecutan en la infraestructura del servicio y ofrecen un extremo HTTPS a las aplicaciones de IA para la comunicación entre el cliente de MCP de IA y el servidor de MCP. Para obtener más información sobre la arquitectura de MCP, consulta Arquitectura de MCP.
Los servidores de Google y de Google Cloud MCP tienen las siguientes características y beneficios:
- Descubrimiento simplificado y centralizado
- Extremos HTTPS regionales o globales administrados
- Autorización detallada
- Seguridad opcional de instrucciones y respuestas con la protección de Model Armor
- Registro de auditoría centralizado
Para obtener información sobre otros servidores de MCP y sobre los controles de seguridad y administración disponibles para los servidores de MCP de Google Cloud, consulta la descripción general de los servidores de MCP de Google Cloud.
Antes de comenzar
- Accede a tu cuenta de Google Cloud . Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Habilita la API de BigQuery Migration Service.
Roles necesarios para habilitar las APIs
Para habilitar las APIs, necesitas el rol de IAM de administrador de Service Usage (
roles/serviceusage.serviceUsageAdmin), que contiene el permisoserviceusage.services.enable. Obtén más información para otorgar roles.
Roles obligatorios
Para obtener los permisos que necesitas para habilitar el servidor del MCP del Servicio de migración de BigQuery, pídele a tu administrador que te otorgue los siguientes roles de IAM en el proyecto en el que deseas habilitar el servidor del MCP del Servicio de migración de BigQuery:
-
Realiza llamadas a la herramienta de MCP:
Usuario de la herramienta de MCP (
roles/mcp.toolUser) -
Usa el Servicio de migración de BigQuery:
Editor de flujo de trabajo de migración (
roles/bigquerymigration.editor)
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Estos roles predefinidos contienen los permisos necesarios para habilitar el servidor de MCP del Servicio de migración de BigQuery. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para habilitar el servidor de MCP del servicio de migración de BigQuery:
-
Realiza llamadas a la herramienta de MCP:
mcp.tools.call -
Usa el Servicio de migración de BigQuery:
-
bigquerymigration.workflows.create -
bigquerymigration.workflows.get -
bigquerymigration.workflows.list -
bigquerymigration.workflows.delete -
bigquerymigration.subtasks.get -
bigquerymigration.subtasks.list
-
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Es posible que se requieran permisos adicionales del Servicio de migración de BigQuery según la tarea. Para obtener información sobre los roles y permisos del Servicio de migración de BigQuery, consulta Roles y permisos del Servicio de migración de BigQuery.
Autenticación y autorización
Los servidores de MCP del Servicio de migración de BigQuery usan el protocolo OAuth 2.0 con Identity and Access Management (IAM) para la autenticación y la autorización. Se admiten todas las Google Cloud identidades para la autenticación en los servidores de MCP.
El servidor de MCP del Servicio de migración de BigQuery no acepta claves de API.
Alcances de OAuth del MCP del Servicio de migración de BigQuery
OAuth 2.0 usa permisos y credenciales para determinar si un principal autenticado está autorizado a realizar una acción específica en un recurso. Si deseas obtener más información sobre los permisos de OAuth 2.0 en Google, consulta Usa OAuth 2.0 para acceder a las APIs de Google.
El Servicio de migración de BigQuery tiene los siguientes permisos de OAuth de la herramienta de MCP:
| URI del alcance para gcloud CLI | Descripción |
|---|---|
https://www.googleapis.com/auth/bigquerymigration |
Ver y administrar tus flujos de trabajo en BigQuery Migration Service y ver la dirección de correo electrónico de tu Cuenta de Google |
https://www.googleapis.com/auth/devstorage.read_only |
Este alcance es obligatorio para las traducciones de consultas que leen datos de Cloud Storage. |
Es posible que los recursos a los que se accede durante una llamada a herramienta requieran permisos adicionales.
Configura un cliente de MCP para usar el servidor de MCP del Servicio de migración de BigQuery
Los programas host, como Claude o Gemini CLI, pueden crear instancias de clientes de MCP que se conectan a un solo servidor de MCP. Un programa host puede tener varios clientes que se conectan a diferentes servidores de MCP. Para conectarse a un servidor de MCP, el cliente de MCP debe conocer al menos la URL del servidor de MCP.
En tu host, busca una forma de conectarte a un servidor de MCP. Se te solicitará que ingreses detalles sobre el servidor, como su nombre y URL.
Para el servidor de MCP del Servicio de migración de BigQuery, ingresa lo siguiente según sea necesario:
- Nombre del servidor: Servidor de MCP del Servicio de migración de BigQuery
- URL del servidor o Extremo: bigquerymigration.googleapis.com/mcp
- Transporte: HTTP
Detalles de autenticación: Tus credenciales de Google Cloud , tu ID y secreto de cliente de OAuth, o bien la identidad y las credenciales de un agente
Los detalles de autenticación que elijas dependerán de cómo quieras autenticarte. Para obtener más información, consulta Cómo autenticarse en los servidores de MCP.
Para obtener orientación específica del host, consulta lo siguiente:
- Configuración del servidor de MCP de Gemini CLI
- Compatibilidad con Claude: Introducción a los conectores personalizados con MCP remoto
Para obtener orientación más general, consulta Conéctate a servidores de MCP remotos.
Herramientas disponibles
Para ver los detalles de las herramientas de MCP disponibles y sus descripciones para el servidor de MCP del Servicio de migración de BigQuery, consulta la referencia de MCP del Servicio de migración de BigQuery.
Herramientas de lista
Usa el inspector de MCP para enumerar herramientas o envía una solicitud HTTP tools/list directamente al servidor de MCP del Servicio de migración de BigQuery. El método tools/list no requiere autenticación.
POST /mcp HTTP/1.1
Host: bigquerymigration.googleapis.com
Content-Type: application/json
{
"jsonrpc": "2.0",
"method": "tools/list",
}
Ejemplos de casos de uso
A continuación, se muestran ejemplos de casos de uso del servidor MCP del Servicio de migración de BigQuery:
- Con un cliente de MCP y un IDE, traduce un archivo de consulta a la sintaxis de GoogleSQL.
- Usar un cliente de MCP sin un IDE para traducir una consulta especificada a la sintaxis de GoogleSQL
- Evaluar la calidad de la traducción
- Obtén explicaciones de las traducciones de SQL.
- Genera una instrucción DDL para una consulta especificada.
Ejemplos de instrucciones
Puedes usar las siguientes muestras de instrucciones para crear y administrar recursos del Servicio de migración de BigQuery:
Traduce la búsqueda
DIALECTen esteFILENAME. UsaPROJECT_IDyLOCATION. Persiste los registros de salida y traducción en directorios separados.Cuando usas esta instrucción, el cliente de MCP llama a la herramienta
translate_querypara traducir la búsqueda en el archivo especificado. El cliente de MCP llama periódicamente a la herramientaget_translationpara obtener los resultados. Una vez que se completa la traducción, el cliente escribe el resultado en el directorio de salida y los registros en el directorio de registros.Traduce esta búsqueda de
DIALECT:QUERY. UsaPROJECT_IDyLOCATION.Cuando usas esta instrucción, el cliente de MCP llama a la herramienta
translate_querypara traducir la búsqueda especificada y muestra los resultados de la traducción.Evalúa la calidad de la traducción.
Cuando usas esta instrucción, el cliente de MCP lee y examina los registros de traducción, y muestra un resumen de los problemas de traducción con los próximos pasos sugeridos.
Explica la traducción.
Cuando usas esta instrucción, el cliente de MCP llama a la herramienta
explain_translationpara obtener una explicación de la traducción. Si los registros de traducción contienen errores deRelationNotFoundoAttributeNotFound, el cliente de MCP debe sugerir que crees un paquete de metadatos. Si no puedes generar los metadatos, puedes enviar una instrucción que solicite la sentencia DDL.Una respuesta de ejemplo se ve de la siguiente manera:
The translated code converts Teradata-specific features into their BigQuery equivalents. Here's a breakdown of the key changes: * `MACRO` to `PROCEDURE`: The `YourMacroName` macro was converted into a BigQuery stored procedure because BigQuery doesn't support macros. * `SELECT INTO` to `SET`: * For setting multiple `OUT` parameters in `YourStoredProcedureName`, the `SELECT ... INTO` is changed to `SET (...) = (SELECT STRUCT(...))`. * For single variable assignment in `YourOtherProcedureName`, `SELECT ... INTO` is replaced by `SET variable = (SELECT ...)` which is the standard in BigQuery. * Atomic Operations to `MERGE: The BEGIN REQUEST ... END REQUEST` blocks in the `ProcedureA`, `ProcedureB`, and `ProcedureC` procedures, which perform atomic "update or insert" operations, are translated into standard SQL `MERGE` statements. This is the correct and modern way to handle this logic in BigQuery.Genera DDL para esta consulta de entrada.
El cliente de MCP llama a la herramienta
generate_ddl_suggestionpara iniciar un trabajo de sugerencia. El cliente obtiene los resultados de las sugerencias llamando a la herramientafetch_ddl_suggestion. Cuando la sugerencia está disponible, el cliente de MCP la muestra.Si las instrucciones de DDL son correctas, puedes enviar una instrucción para anteponer las instrucciones de DDL generadas a la consulta y mejorar la calidad de la traducción.
Antepone las instrucciones DDL generadas a la consulta de entrada y vuelve a traducir.
Cuando usas esta instrucción, el cliente de MCP antepone las instrucciones DDL a la consulta de entrada original y llama a la herramienta
translate_query. El cliente llama a la herramientaget_translationpara obtener la traducción. La nueva traducción de la búsqueda y los registros persisten cuando están disponibles.Si las sentencias DDL generadas son correctas, se deben resolver los errores
RelationNotFoundoAttributeNotFound, lo que mejora la calidad de la traducción.
En las instrucciones, reemplaza lo siguiente:
DIALECT: Es el dialecto de la consulta en SQL que estás traduciendo.QUERY: Es la búsqueda que traducirás.FILENAME: Es el archivo que contiene la consulta que deseas traducir.PROJECT_NUMBER: Tu Google Cloud número de proyecto.LOCATION: Es la ubicación del traductor de SQL.
Configuraciones opcionales de seguridad
La MCP introduce nuevos riesgos y consideraciones de seguridad debido a la amplia variedad de acciones que puedes realizar con las herramientas de MCP. Para minimizar y administrar estos riesgos,Google Cloud ofrece políticas predeterminadas y personalizables para controlar el uso de las herramientas de MCP en tu organización o proyecto deGoogle Cloud . Google Cloud
Para obtener más información sobre la seguridad y la administración de la MCP, consulta Seguridad y protección de la IA.
Usa Model Armor
Model Armor es unGoogle Cloud servicio diseñado para mejorar la seguridad de tus aplicaciones de IA. Funciona analizando de forma proactiva las instrucciones y respuestas de los LLM, lo que brinda protección contra diversos riesgos y respalda las prácticas de IA responsable. Ya sea que implementes IA en tu entorno de nube o en proveedores externos, Model Armor puede ayudarte a evitar entradas maliciosas, verificar la seguridad del contenido, proteger los datos sensibles, mantener el cumplimiento y aplicar tus políticas de seguridad de la IA de manera coherente en todo tu diverso panorama de IA.
Model Armor solo está disponible en ubicaciones regionales específicas. Si Model Armor está habilitado para un proyecto y se realiza una llamada a ese proyecto desde una región no admitida, no se llama a Model Armor y Model Armor no analiza el contenido. Para obtener más información, consulta Ubicaciones de Model Armor.
Habilita Model Armor
Para poder usar las APIs de Model Armor, debes habilitarlas.
Console
Habilitar la API de Model Armor
Roles necesarios para habilitar las APIs
Para habilitar las APIs, necesitas el rol de IAM de administrador de Service Usage (
roles/serviceusage.serviceUsageAdmin), que contiene el permisoserviceusage.services.enable. Obtén más información para otorgar roles.Elige el proyecto en el que quieres activar Model Armor.
gcloud
Antes de empezar, sigue estos pasos a través de la Google Cloud CLI con la API de Model Armor:
En la consola de Google Cloud , activa Cloud Shell.
En la parte inferior de la consola de Google Cloud , se inicia una sesión de Cloud Shell que muestra una ventana emergente con una línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.
-
Ejecuta el comando siguiente para configurar el extremo de API del servicio de Model Armor.
gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.LOCATION.rep.googleapis.com/"
Reemplaza
LOCATIONpor la región en la que quieres usar Model Armor.
Configura la protección para los servidores de MCP remotos y de Google Cloud Google
Para proteger las llamadas y respuestas de tu herramienta de MCP, puedes usar la configuración de Model Armor Floor. Un parámetro de configuración mínimo define los filtros de seguridad mínimos que se aplican en todo el proyecto. Esta configuración aplica un conjunto coherente de filtros a todas las llamadas y respuestas de las herramientas de MCP dentro del proyecto.
Configura un valor mínimo de Model Armor con la limpieza de MCP habilitada. Para obtener más información, consulta Configura la configuración mínima de Model Armor.
Consulta el siguiente comando de ejemplo:
gcloud model-armor floorsettings update \ --full-uri='projects/PROJECT_ID/locations/global/floorSetting' \ --enable-floor-setting-enforcement=TRUE \ --add-integrated-services=GOOGLE_MCP_SERVER \ --google-mcp-server-enforcement-type=INSPECT_AND_BLOCK \ --enable-google-mcp-server-cloud-logging \ --malicious-uri-filter-settings-enforcement=ENABLED \ --add-rai-settings-filters='[{"confidenceLevel": "MEDIUM_AND_ABOVE", "filterType": "DANGEROUS"}]'
Reemplaza PROJECT_ID por el ID del proyecto de Google Cloud .
Ten en cuenta los siguientes parámetros de configuración:
INSPECT_AND_BLOCK: Es el tipo de aplicación que inspecciona el contenido del servidor de MCP de Google y bloquea las instrucciones y las respuestas que coinciden con los filtros.ENABLED: Es el parámetro de configuración que habilita un filtro o la aplicación.MEDIUM_AND_ABOVE: Es el nivel de confianza para la configuración del filtro de IA responsable: Peligroso. Puedes modificar este parámetro de configuración, aunque los valores más bajos pueden generar más falsos positivos. Para obtener más información, consulta Niveles de confianza de Model Armor.
Inhabilita el análisis del tráfico de MCP con Model Armor
Si deseas dejar de analizar el tráfico de Google MCP con Model Armor, ejecuta el siguiente comando:
gcloud model-armor floorsettings update \
--full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
--remove-integrated-services=GOOGLE_MCP_SERVER
Reemplaza PROJECT_ID por el ID del proyecto Google Cloud .
Model Armor no analizará el tráfico de MCP en el proyecto.
Controla el uso del MCP con políticas de IAM de rechazo
Las políticas de denegación de Identity and Access Management (IAM) te ayudan a proteger los Google Cloud servidores MCP remotos. Configura estas políticas para bloquear el acceso no deseado a las herramientas de MCP.
Por ejemplo, puedes rechazar o permitir el acceso según lo siguiente:
- La entidad principal
- Propiedades de herramientas, como solo lectura
- ID de cliente de OAuth de la aplicación
Para obtener más información, consulta Controla el uso de MCP con Identity and Access Management.
Cuotas y límites
El servidor de MCP del Servicio de migración de BigQuery no tiene sus propias cuotas. No hay límite en la cantidad de llamadas que puedes realizar al servidor de MCP.
Aún estás sujeto a las cuotas que aplican las APIs a las que llaman las herramientas del servidor de MCP. Para obtener más información, consulta la API del Servicio de migración de BigQuery en la página Cuotas y límites.
¿Qué sigue?
- Lee la documentación de referencia del MCP del Servicio de migración de BigQuery.
- Obtén más información sobre los servidores de MCP de Google Cloud.
- Consulta los productos compatibles con el MCP.