Caja de herramientas de MCP para bases de datos: Cómo poner los conjuntos de datos de BigQuery a disposición de los clientes MCP

1. Introducción

En este codelab, usarás MCP Toolbox for Databases para poner a disposición tus conjuntos de datos de BigQuery.

En el codelab, seguirás un enfoque paso a paso de la siguiente manera:

  1. Identifica un conjunto de datos de BigQuery específico ("Notas de lanzamiento de Google Cloud") del programa de conjuntos de datos públicos de BigQuery.
  2. Configura MCP Toolbox for Databases, que se conecta al conjunto de datos de BigQuery.
  3. Explora varios clientes de MCP y valida que puedan acceder a la interfaz de MCP del conjunto de datos de BigQuery.

81c33b0f8af54b0c.png

Actividades

  • Configura MCP Toolbox para bases de datos para exponer las notas de lanzamiento de Google Cloud, un conjunto de datos públicos de BigQuery, como una interfaz de MCP a otros clientes de MCP (IDE, herramientas, etcétera).

Qué aprenderás

  • Explora los conjuntos de datos públicos de BigQuery y elige uno específico.
  • Configura MCP Toolbox for Databases para el conjunto de datos públicos de BigQuery que queremos poner a disposición de los clientes de MCP.
  • Prueba la configuración de MCP Toolbox para bases de datos en el entorno local.

Requisitos

  • Navegador web Chrome
  • Un entorno de desarrollo de Python local
  • Un entorno Node.js local con npm versión 5.2.0 o posterior

2. Antes de comenzar

Crea un proyecto

  1. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.
  2. Asegúrate de que la facturación esté habilitada para tu proyecto de Cloud. Obtén información para verificar si la facturación está habilitada en un proyecto .
  3. Usarás Cloud Shell, un entorno de línea de comandos que se ejecuta en Google Cloud y que viene precargado con bq. Haz clic en Activar Cloud Shell en la parte superior de la consola de Google Cloud.

Imagen del botón Activar Cloud Shell

  1. Una vez que te conectes a Cloud Shell, verifica que ya te hayas autenticado y que el proyecto esté configurado con tu ID con el siguiente comando:
gcloud auth list
  1. En Cloud Shell, ejecuta el siguiente comando para confirmar que el comando gcloud conoce tu proyecto.
gcloud config list project
  1. Si tu proyecto no está configurado, usa el siguiente comando para hacerlo:
gcloud config set project <YOUR_PROJECT_ID>

Consulta la documentación para ver los comandos y el uso de gcloud.

3. Conjunto de datos de notas de la versión de Google y clientes de MCP

En primer lugar, analicemos las notas de la versión de Google Cloud que se actualizan periódicamente en la página web oficial de las notas de la versión de Google Cloud. A continuación, se muestra una captura de pantalla:

37a7d9e124296c55.png

Puedes suscribirte a la URL del feed, pero ¿qué tal si simplemente preguntamos en nuestro chat de agentes sobre estas notas de la versión? Tal vez una consulta simple como "Actualízame sobre las notas de lanzamiento de Google Cloud".

Veamos el objetivo final. Esta es una captura de pantalla real de mi Visual Studio Code que ejecuta CoPilot y estoy en modo de agente, preguntando sobre las notas de lanzamiento de Google Cloud:

1ded42a37f128fa3.png

Comencemos a crear esto y, en el proceso, aprendamos a exponer tus conjuntos de datos de BigQuery en varios clientes de MCP que elijas.

4. MCP Toolbox para bases de datos

MCP Toolbox for Databases es un servidor de MCP de código abierto para bases de datos. Se diseñó teniendo en cuenta el nivel empresarial y la calidad de producción. Te permite desarrollar herramientas de forma más fácil, rápida y segura, ya que controla las complejidades, como el grupo de conexiones, la autenticación y mucho más.

Toolbox te ayuda a crear herramientas de IA generativa que permitan a tus agentes acceder a los datos de tu base de datos. Toolbox proporciona lo siguiente:

  • Desarrollo simplificado: Integra herramientas a tu agente en menos de 10 líneas de código, reutiliza herramientas entre varios agentes o frameworks, y, además, implementa nuevas versiones de herramientas con mayor facilidad.
  • Mejor rendimiento: prácticas recomendadas, como la agrupación de conexiones, la autenticación y mucho más
  • Seguridad mejorada: Autenticación integrada para un acceso más seguro a tus datos
  • Observabilidad de extremo a extremo: Métricas y seguimientos listos para usar con compatibilidad integrada para OpenTelemetry.
  • Toolbox facilita la conexión de bases de datos a cualquier asistente de IA compatible con MCP, incluso los que se encuentran en tu IDE.

Toolbox se encuentra entre el framework de orquestación de tu aplicación y tu base de datos, y proporciona un plano de control que se usa para modificar, distribuir o invocar herramientas. Simplifica la administración de tus herramientas, ya que te proporciona una ubicación centralizada para almacenarlas y actualizarlas, lo que te permite compartirlas entre agentes y aplicaciones, y actualizarlas sin tener que volver a implementar la aplicación.

e316aed02b9861a6.png

En resumen, en palabras simples:

  1. MCP Toolbox está disponible como imagen de contenedor binaria o puedes compilarla desde la fuente.
  2. Expone un conjunto de herramientas que configuras a través de un archivo tools.yaml. Se puede pensar que las herramientas se conectan a tus fuentes de datos. Puedes ver las diversas fuentes de datos que admite : AlloyDB, BigQuery, etcétera.
  3. Dado que esta caja de herramientas ahora admite MCP, tienes automáticamente un extremo de servidor de MCP que los agentes (IDEs) pueden consumir o puedes usarlos mientras desarrollas tus aplicaciones de agentes con varios frameworks, como el kit de desarrollo de agentes (ADK).

En esta entrada de blog, nos enfocaremos en las áreas que se destacan a continuación:

f3f3cb495d8a288b.png

En resumen, crearemos una configuración en MCP Toolbox for Databases que sepa cómo conectarse a nuestro conjunto de datos de BigQuery. Luego, usaremos un IDE o cualquier otro IDE de agente (clientes de MCP) que se comunicará con el extremo de MCP Toolbox y nos permitirá enviar consultas naturales para preguntar sobre nuestro conjunto de datos. Piensa en ella como una herramienta que estás configurando y que sabe cómo comunicarse con tu conjunto de datos de BigQuery y ejecuta algunas consultas.

5. Notas de la versión del conjunto de datos de BigQuery para Google Cloud

El Programa de conjuntos de datos públicos de Google Cloud es un programa que pone a disposición una variedad de conjuntos de datos para tus aplicaciones. Un ejemplo de este tipo de conjunto de datos es la base de datos de notas de lanzamiento de Google Cloud. Este conjunto de datos te proporciona la misma información que la página web oficial de notas de la versión de Google Cloud y está disponible como un conjunto de datos consultable de forma pública.

2104010c05c87d0d.png

Como prueba, simplemente valido el conjunto de datos ejecutando una consulta simple que se muestra a continuación:

SELECT
       product_name,description,published_at
     FROM
       `bigquery-public-data`.`google_cloud_release_notes`.`release_notes`
     WHERE
       DATE(published_at) >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)
     GROUP BY product_name,description,published_at
     ORDER BY published_at DESC

De esta manera, obtengo una lista de registros del conjunto de datos de las notas de la versión que se publicaron en los últimos 7 días.

Reemplaza esto por cualquier otro conjunto de datos que elijas y tus respectivas consultas y parámetros que desees. Ahora solo debemos configurarlo como fuente de datos y herramienta en MCP Toolbox para bases de datos. Veamos cómo hacerlo.

6. Instala MCP Toolbox para bases de datos

Abre una terminal en tu máquina local y crea una carpeta llamada mcp-toolbox.

mkdir mcp-toolbox

Ve a la carpeta mcp-toolbox con el siguiente comando:

cd mcp-toolbox

Instala la versión binaria de MCP Toolbox para bases de datos con la siguiente secuencia de comandos. El siguiente comando es para Linux, pero si usas Mac o Windows, asegúrate de descargar el objeto binario correcto. Consulta la página de lanzamientos de tu sistema operativo y arquitectura y descarga el objeto binario correcto.

export VERSION=0.6.0
curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox
chmod +x toolbox

Ahora tenemos la versión binaria de la caja de herramientas lista para usar. El siguiente paso es configurar la caja de herramientas con nuestras fuentes de datos y otros parámetros de configuración.

7. Configura MCP Toolbox para bases de datos

Ahora, debemos definir nuestro conjunto de datos y herramientas de BigQuery en el archivo tools.yaml que necesita MCP Toolbox for Database. El archivo tools.yaml es la forma principal de configurar Toolbox.

Crea un archivo llamado tools.yaml en la misma carpeta, es decir, mcp-toolbox, cuyo contenido se muestra a continuación.

Puedes usar el editor nano que está disponible en Cloud Shell. El comando nano es el siguiente: "nano tools.yaml".

Recuerda reemplazar el valor de YOUR_PROJECT_ID por el ID de tu proyecto de Google Cloud.

sources:
 my-bq-source:
   kind: bigquery
   project: YOUR_PROJECT_ID

tools:
 search_release_notes_bq:
   kind: bigquery-sql
   source: my-bq-source
   statement: |
    SELECT
     product_name,description,published_at
    FROM
      `bigquery-public-data`.`google_cloud_release_notes`.`release_notes`
    WHERE
     DATE(published_at) >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)
    GROUP BY product_name,description,published_at
    ORDER BY published_at DESC
   description: |
    Use this tool to get information on Google Cloud Release Notes.

toolsets:
 my_bq_toolset:
   - search_release_notes_bq

Veamos el archivo en breve:

  1. Las fuentes representan las diferentes fuentes de datos con las que puede interactuar una herramienta. Una fuente representa una fuente de datos con la que puede interactuar una herramienta. Puedes definir Sources como un mapa en la sección sources de tu archivo tools.yaml. Por lo general, una configuración de fuente contiene toda la información necesaria para conectarse a la base de datos y, luego, interactuar con ella. En nuestro caso, definimos una fuente de BigQuery my-bq-source y debes proporcionar el ID de tu proyecto de Google Cloud. Para obtener más información, consulta la referencia Fuentes.
  2. Las herramientas definen las acciones que puede realizar un agente, como leer y escribir en una fuente. Una herramienta representa una acción que puede realizar tu agente, como ejecutar una instrucción de SQL. Puedes definir Herramientas como un mapa en la sección tools de tu archivo tools.yaml. Por lo general, una herramienta requiere una fuente para actuar. En nuestro caso, definimos una sola herramienta search_release_notes_bq. Esto hace referencia a la fuente de BigQuery my-bq-source que definimos en el primer paso. También tiene la sentencia y la instrucción que usarán los clientes del agente de IA. Para obtener más información, consulta la referencia de Herramientas.
  3. Por último, tenemos el conjunto de herramientas, que te permite definir grupos de herramientas que deseas poder cargar juntos. Esto puede ser útil para definir diferentes grupos en función del agente o la aplicación. En nuestro caso, tenemos una definición del conjunto de herramientas en la que, actualmente, solo definimos una herramienta existente search_release_notes_bq. Puedes tener más de un conjunto de herramientas, que tiene una combinación de diferentes herramientas.

Por lo tanto, actualmente, solo definimos una herramienta que obtiene las notas de la versión de los últimos 7 días según la consulta. Sin embargo, también puedes tener varias combinaciones con parámetros.

Consulta más detalles de configuración ( Fuente, Herramientas) en la configuración de la fuente de datos de BigQuery en MCP Toolbox para bases de datos.

8. Prueba de MCP Toolbox para bases de datos

Descargamos y configuramos Toolbox con el archivo tools.yaml en la carpeta mcp-toolbox. Primero, ejecutémosla de forma local.

Ejecuta el siguiente comando:

$ ./toolbox --tools-file="tools.yaml" --port 7000

El servidor de MCP Toolbox se ejecuta de forma predeterminada en el puerto 5000, pero en este caso especificamos que se ejecute en el 7000.

Si la ejecución se realiza correctamente, deberías ver el inicio de un servidor con un resultado de muestra similar al siguiente:

2025-04-25T16:05:45.603871+05:30 INFO "Initialized 1 sources."
2025-04-25T16:05:45.603943+05:30 INFO "Initialized 0 authServices."
2025-04-25T16:05:45.604092+05:30 INFO "Initialized 1 tools."
2025-04-25T16:05:45.604105+05:30 INFO "Initialized 2 toolsets."
2025-04-25T16:05:45.604706+05:30 INFO "Server ready to serve!"

Solo inicia el navegador y visita la siguiente URL:

http://127.0.0.1:7000

Esto debería mostrar el siguiente resultado:

2fdcdac326034d41.png

En la URL del navegador, agrega lo siguiente al final de la URL:

http://127.0.0.1:7000/api/toolset

Se deberían mostrar las herramientas que están configuradas actualmente. A continuación, se muestra un resultado de muestra:

53d9c9a3bb1c8494.png

El servidor de MCP según la documentación ahora está disponible en la siguiente URL:

http://127.0.0.1:7000/mcp/sse

El resultado se muestra a continuación:

event: endpoint
data: https://<some-url-pattern>/mcp?sessionId=bf6bfb66-36fe-48a4-8340-ac68008ee873

Probemos nuestro servidor MCP con clientes MCP en la siguiente sección.

9. Prueba el servidor de MCP con varios clientes de MCP

Probemos nuestro nuevo servidor de MCP con un par de clientes de MCP.

Inspector de MCP con Toolbox

La primera herramienta que se debe usar es el Inspector de MCP con Toolbox. Para ello, deberás tener instalado npx. Cloud Shell te pedirá que instales el paquete. Instálalo.

Debes ingresar el siguiente comando:

npx @modelcontextprotocol/inspector

Se iniciará el servidor y deberías ver un resultado similar al siguiente:

Starting MCP inspector...
⚙️ Proxy server listening on port 6277
🔍 MCP Inspector is up and running at http://127.0.0.1:6274 🚀

Visita la página del Inspector de MCP como se mencionó y lo primero que debes hacer es configurar este cliente para que se comunique con el servidor de MCP.

a819e93705367076.png

Selecciona el tipo de transporte como SSE y proporciona el URL como mencionamos anteriormente, es decir, http://127.0.0.1:7000/mcp/sse. Haz clic en Connect. Si todo sale bien, deberías ver el estado como conectado, como se muestra a continuación:

e19278a9ea58dda1.png

En el lado derecho, ahora puedes ver la lista de herramientas haciendo clic en List Tools.

faacf3e6d7ac2ebe.png

Luego, haz clic en la herramienta search_release_notes_bq y, como no tenemos ningún parámetro para pasar, haz clic en el botón Run tool. Deberías ver que invoca la caja de herramientas, que a su vez se conecta a la fuente de datos de BigQuery y recupera los datos como se muestra a continuación:

3db3e057763ecbef.png

VS Code en modo agente con CoPilot

La documentación oficial tiene los pasos para conectarse a Toolbox para varias fuentes de datos y IDEs aquí.

En esta sección, veremos cómo configurar y usar los servidores de MCP en VS Code. Ten en cuenta que está disponible en versión preliminar y que la documentación oficial es exhaustiva y está disponible aquí.

Si iniciaste VS Code, inicia Command Palette y escribe el siguiente comando:

4df742e8ef74b52.png

Luego, selecciona HTTP sse, ya que tenemos la URL de SSE.

1423ab084bfa2b79.png

Se solicitará el SSE endpoint, que proporcionaremos de la misma manera:

b155684784fb15b0.png

A continuación, se confirmarán algunos otros detalles. Elegí agregarlo a mi configuración de usuario, por lo que se abrirá el archivo settings.json, en el que puedo ver la configuración:

901cd7c7d9850ea3.png

Simplemente hago clic en Start que veo arriba o también puedo hacerlo a través del comando Palette.

Puedes ver que el estado cambia a Running.

b62eb21d1fd01cc1.png

Ahora, podemos iniciar el modo de chat de CoPilot y, luego, en el modo Agent, proporcionar #search_release_notes_bq para indicar que queremos usar esa herramienta y, luego, un texto de consulta de muestra, como se muestra a continuación:

b6bbc7ec044887ce.png

10. Felicitaciones

¡Felicitaciones! Configuraste correctamente MCP Toolbox para bases de datos y configuraste un conjunto de datos de BigQuery para acceder a él desde los clientes de MCP.

Documentos de referencia