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:
- 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.
- Configura MCP Toolbox for Databases, que se conecta al conjunto de datos de BigQuery.
- Explora varios clientes de MCP y valida que puedan acceder a la interfaz de MCP del conjunto de datos de BigQuery.
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
- En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.
- 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 .
- 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.
- 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
- En Cloud Shell, ejecuta el siguiente comando para confirmar que el comando gcloud conoce tu proyecto.
gcloud config list project
- 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:
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:
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.
En resumen, en palabras simples:
- MCP Toolbox está disponible como imagen de contenedor binaria o puedes compilarla desde la fuente.
- 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.
- 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:
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.
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:
- 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. - 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 BigQuerymy-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. - 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:
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:
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.
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:
En el lado derecho, ahora puedes ver la lista de herramientas haciendo clic en List Tools
.
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:
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:
Luego, selecciona HTTP sse
, ya que tenemos la URL de SSE.
Se solicitará el SSE endpoint
, que proporcionaremos de la misma manera:
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:
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
.
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:
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.