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 — Pídele a tu asistente que liste las tablas disponibles y comprenda la estructura de tu base de datos usando list_tables.
  • Ejecuta consultas SQL en inglés sencillo — Haz que tu asistente traduzca preguntas en lenguaje natural a SQL y las ejecute mediante execute_sql.
  • Crea herramientas de base de datos personalizadas — Define sentencias SQL parametrizadas en tools.yaml para crear herramientas seguras y reutilizables para tus agentes.
  • Conéctate a cualquier cliente MCP — Configura el servidor en mcp.json o claude_desktop_config.json para usarlo con Claude Code, Gemini CLI u otros IDEs.
  • Carga herramientas en frameworks de IA — Integra las herramientas de Toolbox en aplicaciones LangChain, LlamaIndex o ADK usando los SDK proporcionados.

Documentación

logo

MCP Toolbox for Databases

googleapis%2Fmcp-toolbox | Trendshift

Licencia: Apache
2.0 Docs Discord Medium

Python SDK JS/TS SDK Go SDK Java SDK

MCP Toolbox for Databases es un servidor de Protocolo de Contexto de Modelo (MCP) de código abierto que conecta tus agentes de IA, IDE 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 precompiladas. Habla con tus datos, explora esquemas y genera código sin escribir código repetitivo.
  2. Marco de herramientas personalizadas (en tiempo de ejecución): Un marco 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 manera segura y sencilla.

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

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

[!NOTA] Esta solución se llamaba originalmente "Gen AI Toolbox for Databases" (github.com/googleapis/genai-toolbox) porque su desarrollo inicial fue anterior a MCP, pero se renombró 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 precompiladas para exploración instantánea de datos (p. ej., list_tables, execute_sql) directamente desde tu IDE o CLI.
  • Marco de herramientas personalizadas: Construye herramientas listas para producción con tu propia lógica predefinida, garantizando seguridad mediante Acceso Restringido, Consultas Estructuradas y Búsqueda Semántica.
  • Desarrollo simplificado: Integra herramientas en tu Kit de Desarrollo de Agentes (ADK), LangChain, LlamaIndex o agentes personalizados en menos de 10 líneas de código.
  • Mejor rendimiento: Gestiona la agrupación de conexiones, la autenticación integrada (IAM) y la 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 trazado listos para usar con soporte integrado para OpenTelemetry.

Inicio rápido: Herramientas precompiladas

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 (p. ej., Gemini CLI, Google Antigravity, Claude Code, Codex, etc.) configurando el servidor MCP.

Las herramientas precompiladas también están disponibles convenientemente a través de Google Antigravity MCP Store con una experiencia simple de clic para instalar.

  1. Agrega lo siguiente al archivo de configuración MCP de tu cliente (generalmente 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 precompiladas.

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> (p. ej., --prebuilt=postgres/data para cargar solo herramientas SQL).

Las bases de datos compatibles 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 obtener una lista completa de las herramientas disponibles y sus capacidades en todas las bases de datos compatibles, consulta la Referencia de herramientas precompiladas.

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

[!SUGERENCIA] Para los usuarios que buscan una solución gestionada, Google Cloud MCP Servers proporcionan una experiencia MCP gestionada con herramientas precompiladas; puedes obtener más información sobre las diferencias aquí.


Inicio rápido: Herramientas personalizadas

Toolbox también se puede usar como un marco para herramientas personalizadas. La forma principal de configurar Toolbox es a través del archivo tools.yaml. Si tienes varios 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 debe tener acceso tu Toolbox. 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 obtener más detalles sobre cómo configurar diferentes tipos de fuentes, consulta Fuentes.

Herramientas

La sección tools de un tools.yaml define las acciones que un agente puede realizar: qué tipo de herramienta es, 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 obtener más detalles sobre cómo configurar 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 según 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 se pueden usar para interacciones con LLM.

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 obtener más detalles sobre cómo configurar prompts, consulta Prompts.

Recursos

Las secciones resources y resourceTemplates de tu tools.yaml definen contenido de solo lectura, archivos o árboles de directorios parametrizados que los clientes MCP pueden descubrir y recuperar:

kind: resource
name: database_schema_ddl
type: text
description: "Core table definitions and constraints."
mimeType: text/x-sql
text: |
  CREATE TABLE customers (
    id SERIAL PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    email VARCHAR(255) UNIQUE NOT NULL
  );
---
kind: resource
name: database_schema
type: file
description: "PostgreSQL schema definition."
path: "./schema.sql"
---
kind: resourceTemplate
name: server_logs
type: file
description: "Application log files."
uriTemplate: "file:///var/log/{path}"
allowedPaths:
  - "/var/log"

Para obtener más detalles sobre cómo configurar recursos y plantillas de recursos, consulta Recursos.


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.

[!NOTA] Este método está optimizado para la conveniencia más que para el rendimiento. Para una instalación más estándar y confiable, 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 versiones y usa las siguientes instrucciones para tu sistema operativo y arquitectura de CPU.

Binario

Para instalar Toolbox como binario:

Linux (AMD64)

Para instalar Toolbox como binario en Linux (AMD64):

# consulta la página de versiones para otras versiones
export VERSION=1.13.1
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 binario en macOS (Apple Silicon):

# consulta la página de versiones para otras versiones
export VERSION=1.13.1
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 binario en macOS (Intel):

# consulta la página de versiones para otras versiones
export VERSION=1.13.1
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 binario en Windows (Símbolo del sistema):

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

Para instalar Toolbox como binario en Windows (PowerShell):

# consulta la página de versiones para otras versiones
$VERSION = "1.13.1"
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 binario en Windows ARM64 (Símbolo del sistema):

:: consulta la página de versiones para otras versiones
set VERSION=1.13.1
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 binario en Windows ARM64 (PowerShell):

# consulta la página de versiones para otras versiones
$VERSION = "1.13.1"
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 contenedor:
# see releases page for other versions
export VERSION=1.13.1
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 instalado y luego ejecuta el siguiente comando:

go install github.com/googleapis/mcp-toolbox@v1.13.1
Gemini CLI Consulta las [extensiones de Gemini CLI](https://geminicli.com/extensions/) para instalar herramientas precompiladas 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 de forma predeterminada. Para deshabilitarla, usa la bandera --disable-reload.

Imagen de contenedor

Para ejecutar el servidor después de extraer 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 asigna 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 deseas compilar un binario en su lugar, consulta la Documentación para desarrolladores.

Homebrew

Si instalaste Toolbox usando Homebrew, el binario toolbox está disponible en tu ruta del 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):

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 precompiladas estarán disponibles durante su uso.
# Run Gemini CLI
gemini

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

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

Para 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

Agrega 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 url con "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 la siguiente 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 Toolbox Core SDK, 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 Toolbox LangChain SDK, 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 Toolbox Llamaindex SDK, 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 Toolbox Core SDK, 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 Toolbox ADK SDK, 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 Toolbox Go SDK, 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 Toolbox Go SDK, consulta el README del proyecto.


Funciones adicionales

Prueba herramientas con la interfaz de Toolbox

Para iniciar la interfaz interactiva de Toolbox, usa la bandera --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 habilidades de agente

El comando skills-generate te permite convertir un conjunto de herramientas en una habilidad de agente compatible con la especificación de habilidades de agente. 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 generación de habilidades de agente.

El repositorio también incluye habilidades de agente listas para usar (por ejemplo, flujos de trabajo de mantenedores). Consulta skills/ para el catálogo e instrucciones de instalación.


Versionado

MCP Toolbox for Databases sigue Versionado Semántico.

La API pública incluye el servidor Toolbox (CLI, manifiestos de configuración y conjuntos de herramientas precompilados) y los SDKs de cliente.

  • Versiones principales se incrementan para cambios incompatibles, como cambios incompatibles en CLI o manifiestos.
  • Versiones menores se incrementan para nuevas funciones, incluidas modificaciones a conjuntos de herramientas precompilados o funciones 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.


Contribuciones

Las contribuciones son bienvenidas. Consulta la guía CONTRIBUTING para comenzar.

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 contribuyentes. Al participar en este proyecto, aceptas cumplir con sus términos. Consulta Código de conducta para contribuyentes para más información.


Comunidad

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