MCP Toolbox for Databases

oficial

Servidor MCP de código abierto especializado en herramientas fáciles, rápidas y seguras para bases de datos.

¿Qué puedes hacer con Toolbox For Databases MCP?

  • Explora esquemas de bases de datos al instante — utiliza herramientas predefinidas como list_tables para descubrir tablas y estructuras sin escribir SQL.
  • Ejecuta consultas SQL ad-hoc mediante lenguaje natural — pídele a tu asistente de IA que ejecute consultas usando execute_sql en bases de datos conectadas.
  • Define herramientas de consulta personalizadas y parametrizadas — crea una configuración tools.yaml con herramientas postgres-sql que acepten parámetros y ejecuten sentencias predefinidas.
  • Agrupa herramientas en conjuntos de herramientas cargables — organiza herramientas relacionadas en conjuntos con nombre en tu configuración y carga solo lo que necesita un agente específico.
  • Integra herramientas en marcos de agentes — carga conjuntos de herramientas mediante los SDK de Python, JS o Go en aplicaciones LangChain, LlamaIndex, Genkit o ADK.

Documentación

logo

MCP Toolbox for Databases

googleapis%2Fmcp-toolbox | Trendshift

Go Report Card Licencia: Apache
2.0 Docs Discord Medium

Python SDK JS/TS SDK Go SDK Java SDK

MCP Toolbox for Databases es un servidor de código abierto del Protocolo de Contexto de Modelo (MCP) que conecta tus agentes de IA, IDEs y aplicaciones directamente a tus bases de datos empresariales.

architecture

Tiene un doble propósito:

  1. Servidor MCP listo para usar (en tiempo de compilación): Conecta instantáneamente Gemini CLI, Google Antigravity, Claude Code, Codex u otros clientes MCP a tus bases de datos usando nuestras herramientas genéricas predefinidas. Habla con tus datos, explora esquemas y genera código sin escribir código repetitivo.
  2. Framework de herramientas personalizadas (en tiempo de ejecución): Un framework robusto para construir herramientas de IA especializadas y altamente seguras para tus agentes de producción. Define consultas estructuradas, búsqueda semántica y capacidades NL2SQL de forma segura y sencilla.

Este README proporciona una breve descripción general. Para obtener detalles completos, consulta la documentación completa.

[!IMPORTANT] Actualización del nombre del repositorio: El repositorio genai-toolbox ha sido renombrado oficialmente a mcp-toolbox. Para asegurar que tu entorno local refleje el nuevo nombre, puedes actualizar tu remoto: git remote set-url origin https://github.com/googleapis/mcp-toolbox.git

[!NOTE] Esta solución se llamó originalmente "Gen AI Toolbox for Databases" (github.com/googleapis/genai-toolbox) ya que su desarrollo inicial fue anterior a MCP, pero fue renombrada para alinearse con la compatibilidad con MCP.

Tabla de Contenidos


¿Por qué MCP Toolbox?

  • Acceso a bases de datos listo para usar: Herramientas genéricas predefinidas para exploración de datos instantánea (ej., list_tables, execute_sql) directamente desde tu IDE o CLI.
  • Framework de herramientas personalizadas: Construye herramientas listas para producción con tu propia lógica predefinida, asegurando la seguridad a través de Acceso Restringido, Consultas Estructuradas y Búsqueda Semántica.
  • Desarrollo simplificado: Integra herramientas en tu Agent Development Kit (ADK), LangChain, LlamaIndex o agentes personalizados en menos de 10 líneas de código.
  • Mejor rendimiento: Maneja la agrupación de conexiones, autenticación integrada (IAM) y observabilidad de extremo a extremo (OpenTelemetry) de forma predeterminada.
  • Seguridad mejorada: Autenticación integrada para un acceso más seguro a tus datos.
  • Observabilidad de extremo a extremo: Métricas y rastreo listos para usar con soporte integrado para OpenTelemetry.

Inicio Rápido: Herramientas Predefinidas

Deja de cambiar de contexto y permite que tu asistente de IA se convierta en un verdadero co-desarrollador. Al conectar tu IDE a tus bases de datos con MCP Toolbox, puedes consultar tus datos en lenguaje natural, automatizar el descubrimiento y la gestión de esquemas, y generar código consciente de la base de datos.

Puedes usar Toolbox en cualquier IDE o cliente compatible con MCP (ej., Gemini CLI, Google Antigravity, Claude Code, Codex, etc.) configurando el servidor MCP.

Las herramientas predefinidas también están convenientemente disponibles a través de la Google Antigravity MCP Store con una simple experiencia de instalación con un clic.

  1. Añade lo siguiente al archivo de configuración MCP de tu cliente (normalmente mcp.json o claude_desktop_config.json):

    {
      "mcpServers": {
        "toolbox-postgres": {
          "command": "npx",
          "args": [
            "-y",
            "@toolbox-sdk/server",
            "--prebuilt=postgres",
            "--stdio"
          ]
        }
      }
    }
    
  2. Establece las variables de entorno apropiadas para conectarte, consulta la Referencia de Herramientas Predefinidas.

Cuando ejecutas Toolbox con una bandera --prebuilt=<database>, obtienes acceso instantáneo a herramientas estándar para interactuar con esa base de datos. También puedes especificar un conjunto de herramientas específico usando la sintaxis --prebuilt=<database>/<toolset> (ej., --prebuilt=postgres/data para cargar solo herramientas SQL).

Las bases de datos soportadas actualmente incluyen:

  • Google Cloud: AlloyDB, BigQuery, Cloud SQL (PostgreSQL, MySQL, SQL Server), Spanner, Firestore, Knowledge Catalog (anteriormente conocido como Dataplex).
  • Otras bases de datos: PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, MongoDB, Redis, Elasticsearch, CockroachDB, ClickHouse, Couchbase, Neo4j, Snowflake, Trino y más.

Para una lista completa de herramientas disponibles y sus capacidades en todas las bases de datos soportadas, consulta la Referencia de Herramientas Predefinidas.

Consulta la sección Instalar y Ejecutar el servidor Toolbox para diferentes métodos de ejecución como Docker o binarios.

[!TIP] Para usuarios que buscan una solución gestionada, Google Cloud MCP Servers proporciona una experiencia MCP gestionada con herramientas predefinidas; puedes aprender más sobre las diferencias aquí.


Inicio Rápido: Herramientas Personalizadas

Toolbox también puede usarse como un framework para herramientas personalizadas. La forma principal de configurar Toolbox es a través del archivo tools.yaml. Si tienes múltiples archivos, puedes indicarle a Toolbox cuál cargar con la bandera --config tools.yaml.

Puedes encontrar documentación de referencia más detallada para todos los tipos de recursos en Recursos.

Fuentes

La sección sources de tu tools.yaml define a qué fuentes de datos tu Toolbox debe tener acceso. La mayoría de las herramientas tendrán al menos una fuente contra la cual ejecutarse.

kind: source
name: my-pg-source
type: postgres
host: 127.0.0.1
port: 5432
database: toolbox_db
user: toolbox_user
password: my-password

Para más detalles sobre la configuración de diferentes tipos de fuentes, consulta Fuentes.

Herramientas

La sección tools de un tools.yaml define las acciones que un agente puede tomar: qué tipo de herramienta es, a qué fuente(s) afecta, qué parámetros usa, etc.

kind: tool
name: search-hotels-by-name
type: postgres-sql
source: my-pg-source
description: Search for hotels based on name.
parameters:
  - name: name
    type: string
    description: The name of the hotel.
statement: SELECT * FROM hotels WHERE name ILIKE '%' || $1 || '%';

Para más detalles sobre la configuración de diferentes tipos de herramientas, consulta Herramientas.

Conjuntos de Herramientas

La sección toolsets de tu tools.yaml te permite definir grupos de herramientas que deseas poder cargar juntos. Esto puede ser útil para definir diferentes grupos basados en el agente o la aplicación.

kind: toolset
name: my_first_toolset
tools:
    - my_first_tool
    - my_second_tool
---
kind: toolset
name: my_second_toolset
tools:
    - my_second_tool
    - my_third_tool

Prompts

La sección prompts de un tools.yaml define prompts que pueden usarse para interacciones con LLMs.

kind: prompt
name: code_review
description: "Asks the LLM to analyze code quality and suggest improvements."
messages:
  - content: >
         Please review the following code for quality, correctness,
         and potential improvements: \n\n{{.code}}
arguments:
  - name: "code"
    description: "The code to review"

Para más detalles sobre la configuración de prompts, consulta Prompts.


Instalar y Ejecutar el servidor Toolbox

Puedes ejecutar Toolbox directamente con un archivo de configuración:

npx @toolbox-sdk/server --config tools.yaml

Esto ejecuta la última versión del servidor Toolbox con tu archivo de configuración.

[!NOTE] Este método está optimizado para la conveniencia en lugar del rendimiento. Para una instalación más estándar y fiable, por favor usa el binario o la imagen de contenedor como se describe en Instalar y Ejecutar el servidor Toolbox.

Instalar Toolbox

Para la última versión, consulta la página de releases y usa las siguientes instrucciones para tu sistema operativo y arquitectura de CPU.

Binario

Para instalar Toolbox como un binario:

Linux (AMD64)

Para instalar Toolbox como un binario en Linux (AMD64):

# consulta la página de releases para otras versiones
export VERSION=1.8.0
curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/linux/amd64/toolbox
chmod +x toolbox
macOS (Apple Silicon)

Para instalar Toolbox como un binario en macOS (Apple Silicon):

# consulta la página de releases para otras versiones
export VERSION=1.8.0
curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/darwin/arm64/toolbox
chmod +x toolbox
macOS (Intel)

Para instalar Toolbox como un binario en macOS (Intel):

# consulta la página de releases para otras versiones
export VERSION=1.8.0
curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/darwin/amd64/toolbox
chmod +x toolbox
Windows (Símbolo del sistema)

Para instalar Toolbox como un binario en Windows (Símbolo del sistema):

:: consulta la página de releases para otras versiones
set VERSION=1.8.0
curl -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v%VERSION%/windows/amd64/toolbox.exe"
Windows (PowerShell)

Para instalar Toolbox como un binario en Windows (PowerShell):

# consulta la página de releases para otras versiones
$VERSION = "1.8.0"
curl.exe -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/windows/amd64/toolbox.exe"
Windows ARM64 (Símbolo del sistema)

Para instalar Toolbox como un binario en Windows ARM64 (Símbolo del sistema):

:: consulta la página de releases para otras versiones
set VERSION=1.8.0
curl -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v%VERSION%/windows/arm64/toolbox.exe"
Windows ARM64 (PowerShell)

Para instalar Toolbox como un binario en Windows ARM64 (PowerShell):

# consulta la página de releases para otras versiones
$VERSION = "1.8.0"
curl.exe -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/windows/arm64/toolbox.exe"
Imagen de contenedor También puedes instalar Toolbox como un contenedor:
# see releases page for other versions
export VERSION=1.8.0
docker pull us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:$VERSION
Homebrew

Para instalar Toolbox usando Homebrew en macOS o Linux:

brew install mcp-toolbox
Compilar desde el código fuente

Para instalar desde el código fuente, asegúrate de tener la última versión de Go instalada, y luego ejecuta el siguiente comando:

go install github.com/googleapis/mcp-toolbox@v1.8.0
Gemini CLI Echa un vistazo a las [extensiones de Gemini CLI](https://geminicli.com/extensions/) para instalar herramientas predefinidas para bases de datos específicas como AlloyDB, BigQuery y Cloud SQL directamente en Gemini CLI.
# Install Gemini CLI
npm install -g @google/gemini-cli
# Install the extension
gemini extensions install https://github.com/gemini-cli-extensions/cloud-sql-postgres
# Run Gemini CLI
gemini

Interactúa con tus herramientas personalizadas usando lenguaje natural a través de Gemini CLI.

# Install the extension
gemini extensions install https://github.com/gemini-cli-extensions/mcp-toolbox

Ejecutar Toolbox

Configura un tools.yaml para definir tus herramientas, y luego ejecuta toolbox para iniciar el servidor:

Binario

Para ejecutar Toolbox desde el binario:

./toolbox --config "tools.yaml"

ⓘ Nota Toolbox habilita la recarga dinámica por defecto. Para deshabilitarla, usa la bandera --disable-reload.

Imagen de contenedor

Para ejecutar el servidor después de descargar la imagen de contenedor:

export VERSION=0.24.0 # Use the version you pulled
docker run -p 5000:5000 \
-v $(pwd)/tools.yaml:/app/tools.yaml \
us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:$VERSION \
--config "/app/tools.yaml"

ⓘ Nota La bandera -v monta tu tools.yaml local en el contenedor, y -p mapea el puerto 5000 del contenedor al puerto 5000 de tu host.

Código fuente

Para ejecutar el servidor directamente desde el código fuente, navega al directorio raíz del proyecto y ejecuta:

go run .

ⓘ Nota Este comando ejecuta el proyecto desde el código fuente, y es más adecuado para desarrollo y pruebas. No compila un binario en tu $GOPATH. Si quieres compilar un binario en su lugar, consulta la Documentación para Desarrolladores.

Homebrew

Si instalaste Toolbox usando Homebrew, el binario toolbox está disponible en la ruta de tu sistema. Puedes iniciar el servidor con el mismo comando:

toolbox --config "tools.yaml"
NPM Para ejecutar Toolbox directamente sin descargar manualmente el binario (requiere Node.js): ```sh npx @toolbox-sdk/server --config tools.yaml ```
Gemini CLI Después de instalar una [extensión de Gemini CLI](https://geminicli.com/extensions/), las herramientas predefinidas estarán disponibles durante el uso.
# Run Gemini CLI
gemini

# List extensions
/extensions list
# List MCP servers
/mcp list

¡Puedes usar toolbox help para obtener una lista completa de opciones! Para detener el servidor, envía una señal de terminación (ctrl+c en la mayoría de las plataformas).

Para obtener documentación más detallada sobre el despliegue en diferentes entornos, consulta los recursos en la https://mcp-toolbox.dev/documentation/deploy-to/


Conectar a Toolbox

Una vez que tu servidor Toolbox esté en funcionamiento, puedes cargar herramientas en tu cliente o aplicación compatible con MCP.

Cliente MCP

Añade la siguiente configuración a la configuración de tu cliente MCP:

{
  "mcpServers": {
    "toolbox": {
      "type": "http",
      "url": "http://127.0.0.1:5000/mcp",
    }
  }
}

Si deseas conectarte a un conjunto de herramientas específico, reemplaza la url por "http://127.0.0.1:5000/mcp/{toolset_name}".

SDKs de Toolbox: Integra con tu aplicación

Los SDKs de Cliente de Toolbox proporcionan bloques de construcción fáciles de usar y funciones avanzadas para conectar tus aplicaciones personalizadas al servidor MCP Toolbox. Consulta a continuación la lista de SDKs de Cliente para usar varios frameworks:

Python (Github)
Core
  1. Instala Toolbox Core SDK:

    pip install toolbox-core
    
  2. Carga herramientas:

    from toolbox_core import ToolboxClient
    
    # update the url to point to your server
    async with ToolboxClient("http://127.0.0.1:5000") as client:
    
        # these tools can be passed to your application!
        tools = await client.load_toolset("toolset_name")
    

Para instrucciones más detalladas sobre el uso del SDK Core de Toolbox, consulta el README del proyecto.

LangChain / LangGraph
  1. Instala Toolbox LangChain SDK:

    pip install toolbox-langchain
    
  2. Carga herramientas:

    from toolbox_langchain import ToolboxClient
    
    # update the url to point to your server
    async with ToolboxClient("http://127.0.0.1:5000") as client:
    
        # these tools can be passed to your application!
        tools = client.load_toolset()
    

    Para instrucciones más detalladas sobre el uso del SDK LangChain de Toolbox, consulta el README del proyecto.

LlamaIndex
  1. Instala Toolbox Llamaindex SDK:

    pip install toolbox-llamaindex
    
  2. Carga herramientas:

    from toolbox_llamaindex import ToolboxClient
    
    # update the url to point to your server
    async with ToolboxClient("http://127.0.0.1:5000") as client:
    
        # these tools can be passed to your application!
        tools = client.load_toolset()
    

    Para instrucciones más detalladas sobre el uso del SDK Llamaindex de Toolbox, consulta el README del proyecto.

Javascript/Typescript (Github)
Core
  1. Instala Toolbox Core SDK:

    npm install @toolbox-sdk/core
    
  2. Carga herramientas:

    import { ToolboxClient } from '@toolbox-sdk/core';
    
    // update the url to point to your server
    const URL = 'http://127.0.0.1:5000';
    let client = new ToolboxClient(URL);
    
    // these tools can be passed to your application!
    const tools = await client.loadToolset('toolsetName');
    

    Para instrucciones más detalladas sobre el uso del SDK Core de Toolbox, consulta el README del proyecto.

LangChain / LangGraph
  1. Instala Toolbox Core SDK:

    npm install @toolbox-sdk/core
    
  2. Carga herramientas:

    import { ToolboxClient } from '@toolbox-sdk/core';
    
    // update the url to point to your server
    const URL = 'http://127.0.0.1:5000';
    let client = new ToolboxClient(URL);
    
    // these tools can be passed to your application!
    const toolboxTools = await client.loadToolset('toolsetName');
    
    // Define the basics of the tool: name, description, schema and core logic
    const getTool = (toolboxTool) => tool(currTool, {
        name: toolboxTool.getName(),
        description: toolboxTool.getDescription(),
        schema: toolboxTool.getParamSchema()
    });
    
    // Use these tools in your Langchain/Langraph applications
    const tools = toolboxTools.map(getTool);
    
Genkit
  1. Instala Toolbox Core SDK:

    npm install @toolbox-sdk/core
    
  2. Carga herramientas:

    import { ToolboxClient } from '@toolbox-sdk/core';
    import { genkit } from 'genkit';
    
    // Initialise genkit
    const ai = genkit({
        plugins: [
            googleAI({
                apiKey: process.env.GEMINI_API_KEY || process.env.GOOGLE_API_KEY
            })
        ],
        model: googleAI.model('gemini-2.0-flash'),
    });
    
    // update the url to point to your server
    const URL = 'http://127.0.0.1:5000';
    let client = new ToolboxClient(URL);
    
    // these tools can be passed to your application!
    const toolboxTools = await client.loadToolset('toolsetName');
    
    // Define the basics of the tool: name, description, schema and core logic
    const getTool = (toolboxTool) => ai.defineTool({
        name: toolboxTool.getName(),
        description: toolboxTool.getDescription(),
        schema: toolboxTool.getParamSchema()
    }, toolboxTool)
    
    // Use these tools in your Genkit applications
    const tools = toolboxTools.map(getTool);
    
ADK
  1. Instala Toolbox ADK SDK:

    npm install @toolbox-sdk/adk
    
  2. Carga herramientas:

    import { ToolboxClient } from '@toolbox-sdk/adk';
    
    // update the url to point to your server
    const URL = 'http://127.0.0.1:5000';
    let client = new ToolboxClient(URL);
    
    // these tools can be passed to your application!
    const tools = await client.loadToolset('toolsetName');
    

    Para instrucciones más detalladas sobre el uso del SDK ADK de Toolbox, consulta el README del proyecto.

Go (Github)
Core
  1. Instala Toolbox Go SDK:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Carga herramientas:

    package main
    
    import (
      "github.com/googleapis/mcp-toolbox-sdk-go/core"
      "context"
    )
    
    func main() {
      // Make sure to add the error checks
      // update the url to point to your server
      URL := "http://127.0.0.1:5000";
      ctx := context.Background()
    
      client, err := core.NewToolboxClient(URL)
    
      // Framework agnostic tools
      tools, err := client.LoadToolset("toolsetName", ctx)
    }
    

    Para instrucciones más detalladas sobre el uso del SDK Go de Toolbox, consulta el README del proyecto.

LangChain Go
  1. Instala Toolbox Go SDK:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Carga herramientas:

    package main
    
    import (
      "context"
      "encoding/json"
    
      "github.com/googleapis/mcp-toolbox-sdk-go/core"
      "github.com/tmc/langchaingo/llms"
    )
    
    func main() {
      // Make sure to add the error checks
      // update the url to point to your server
      URL := "http://127.0.0.1:5000"
      ctx := context.Background()
    
      client, err := core.NewToolboxClient(URL)
    
      // Framework agnostic tool
      tool, err := client.LoadTool("toolName", ctx)
    
      // Fetch the tool's input schema
      inputschema, err := tool.InputSchema()
    
      var paramsSchema map[string]any
      _ = json.Unmarshal(inputschema, &paramsSchema)
    
      // Use this tool with LangChainGo
      langChainTool := llms.Tool{
        Type: "function",
        Function: &llms.FunctionDefinition{
          Name:        tool.Name(),
          Description: tool.Description(),
          Parameters:  paramsSchema,
        },
      }
    }
    
    
Genkit
  1. Instala Toolbox Go SDK:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Carga herramientas:

    package main
    import (
      "context"
      "log"
    
      "github.com/firebase/genkit/go/genkit"
      "github.com/googleapis/mcp-toolbox-sdk-go/core"
      "github.com/googleapis/mcp-toolbox-sdk-go/tbgenkit"
    )
    
    func main() {
      // Make sure to add the error checks
      // Update the url to point to your server
      URL := "http://127.0.0.1:5000"
      ctx := context.Background()
      g := genkit.Init(ctx)
    
      client, err := core.NewToolboxClient(URL)
    
      // Framework agnostic tool
      tool, err := client.LoadTool("toolName", ctx)
    
      // Convert the tool using the tbgenkit package
      // Use this tool with Genkit Go
      genkitTool, err := tbgenkit.ToGenkitTool(tool, g)
      if err != nil {
        log.Fatalf("Failed to convert tool: %v\n", err)
      }
      log.Printf("Successfully converted tool: %s", genkitTool.Name())
    }
    
Go GenAI
  1. Instala Toolbox Go SDK:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Carga herramientas:

    package main
    
    import (
      "context"
      "encoding/json"
    
      "github.com/googleapis/mcp-toolbox-sdk-go/core"
      "google.golang.org/genai"
    )
    
    func main() {
      // Make sure to add the error checks
      // Update the url to point to your server
      URL := "http://127.0.0.1:5000"
      ctx := context.Background()
    
      client, err := core.NewToolboxClient(URL)
    
      // Framework agnostic tool
      tool, err := client.LoadTool("toolName", ctx)
    
      // Fetch the tool's input schema
      inputschema, err := tool.InputSchema()
    
      var schema *genai.Schema
      _ = json.Unmarshal(inputschema, &schema)
    
      funcDeclaration := &genai.FunctionDeclaration{
        Name:        tool.Name(),
        Description: tool.Description(),
        Parameters:  schema,
      }
    
      // Use this tool with Go GenAI
      genAITool := &genai.Tool{
        FunctionDeclarations: []*genai.FunctionDeclaration{funcDeclaration},
      }
    }
    
OpenAI Go
  1. Instala Toolbox Go SDK:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Carga herramientas:

    package main
    
    import (
      "context"
      "encoding/json"
    
      "github.com/googleapis/mcp-toolbox-sdk-go/core"
      openai "github.com/openai/openai-go"
    )
    
    func main() {
      // Make sure to add the error checks
      // Update the url to point to your server
      URL := "http://127.0.0.1:5000"
      ctx := context.Background()
    
      client, err := core.NewToolboxClient(URL)
    
      // Framework agnostic tool
      tool, err := client.LoadTool("toolName", ctx)
    
      // Fetch the tool's input schema
      inputschema, err := tool.InputSchema()
    
      var paramsSchema openai.FunctionParameters
      _ = json.Unmarshal(inputschema, &paramsSchema)
    
      // Use this tool with OpenAI Go
      openAITool := openai.ChatCompletionToolParam{
        Function: openai.FunctionDefinitionParam{
          Name:        tool.Name(),
          Description: openai.String(tool.Description()),
          Parameters:  paramsSchema,
        },
      }
    
    }
    
ADK Go
  1. Instala Toolbox Go SDK:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Carga herramientas:

    package main
    
    import (
      "github.com/googleapis/mcp-toolbox-sdk-go/tbadk"
      "context"
    )
    
    func main() {
      // Make sure to add the error checks
      // Update the url to point to your server
      URL := "http://127.0.0.1:5000"
      ctx := context.Background()
      client, err := tbadk.NewToolboxClient(URL)
      if err != nil {
        return fmt.Sprintln("Could not start Toolbox Client", err)
      }
    
      // Use this tool with ADK Go
      tool, err := client.LoadTool("toolName", ctx)
      if err != nil {
        return fmt.Sprintln("Could not load Toolbox Tool", err)
      }
    }
    

    Para instrucciones más detalladas sobre el uso del SDK Go de Toolbox, consulta el README del proyecto.


Funciones adicionales

Probar herramientas con la interfaz de usuario de Toolbox

Para iniciar la interfaz de usuario interactiva de Toolbox, usa la opción --ui. Esto te permite probar herramientas y conjuntos de herramientas con funciones como parámetros autorizados. Para obtener más información, visita Toolbox UI.

./toolbox --ui

Telemetría

Toolbox emite trazas y métricas a través de OpenTelemetry. Usa --telemetry-otlp=<endpoint> para exportar a cualquier backend compatible con OTLP como Google Cloud Monitoring, Agnost AI u otros. Consulta la documentación de telemetría para más detalles.

Generar Agent Skills

El comando skills-generate te permite convertir un conjunto de herramientas en una Agent Skill compatible con la especificación de Agent Skill. Esto es útil para distribuir herramientas como paquetes de habilidades portátiles.

toolbox --config tools.yaml skills-generate \
  --name "my-skill" \
  --toolset "my_toolset" \
  --description "A skill containing multiple tools"

Una vez generada, puedes instalar la habilidad en Gemini CLI:

gemini skills install ./skills/my-skill

Para más detalles, consulta la guía de Generar Agent Skills.

El repositorio también incluye Agent Skills listas para usar (por ejemplo, flujos de trabajo de mantenimiento). Consulta skills/ para ver el catálogo y las instrucciones de instalación.


Versionado

MCP Toolbox for Databases sigue el Versionado Semántico.

La API pública incluye el Servidor Toolbox (CLI, manifiestos de configuración y conjuntos de herramientas predefinidos) y los SDKs de Cliente.

  • Versiones principales se incrementan para cambios incompatibles, como cambios incompatibles en la CLI o en el manifiesto.
  • Versiones menores se incrementan para nuevas funcionalidades, incluyendo modificaciones a conjuntos de herramientas predefinidos o funcionalidades beta.
  • Versiones de parche se incrementan para correcciones de errores compatibles con versiones anteriores.

Para más detalles, consulta nuestra Política de Versionado Completa.


Contribuir

Las contribuciones son bienvenidas. Por favor, consulta la guía CONTRIBUTING para empezar.

Para detalles técnicos sobre cómo configurar un entorno para desarrollar en Toolbox, consulta la guía DEVELOPER.

Ten en cuenta que este proyecto se publica con un Código de Conducta para Colaboradores. Al participar en este proyecto, aceptas cumplir sus términos. Consulta el Código de Conducta para Colaboradores para más información.


Comunidad

¡Únete a nuestra comunidad de Discord para conectarte con nuestros desarrolladores!