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?

  • Explorar esquemas de bases de datos — Pide a tu asistente de IA que enumere las tablas y examine los detalles del esquema con la herramienta predefinida list_tables.
  • Ejecutar consultas SQL — Consulta tus datos en lenguaje sencillo mediante la herramienta predefinida execute_sql en las bases de datos compatibles.
  • Conectarse mediante clientes MCP — Configura el servidor en mcp.json o claude_desktop_config.json para usarlo desde Gemini CLI, Claude Code, Codex u otros clientes MCP.
  • Definir herramientas personalizadas — Crea herramientas SQL estructuradas y parametrizadas en un archivo tools.yaml para exponer consultas específicas a los agentes de forma segura.
  • Agrupar herramientas en conjuntos de herramientas — Organiza herramientas relacionadas en conjuntos de herramientas y cárgalas juntas para un agente o una aplicación específicos.

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 código abierto del Model Context Protocol (MCP) que conecta directamente tus agentes de IA, IDE y aplicaciones con tus bases de datos empresariales.

architecture

Cumple una doble función:

  1. Servidor MCP listo para usar (tiempo de compilación): Conecta al instante Gemini CLI, Google Antigravity, Claude Code, Codex u otros clientes MCP con tus bases de datos mediante nuestras herramientas genéricas precompiladas. Interactúa con tus datos, explora esquemas y genera código sin escribir código repetitivo.
  2. Marco de herramientas personalizadas (tiempo de ejecución): Un marco sólido para crear herramientas de IA especializadas y altamente seguras para tus agentes de producción. Define consultas estructuradas, búsqueda semántica y capacidades de NL2SQL de forma segura y sencilla.

Este README ofrece una breve descripción general. Para obtener información completa, consulta la documentación completa.

[!IMPORTANT]
Actualización del nombre del repositorio: El repositorio genai-toolbox cambió oficialmente su nombre a mcp-toolbox. Para que tu entorno local refleje el nuevo nombre, puedes actualizar el 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 precedió a MCP, pero se le cambió el nombre para adaptarla a la compatibilidad con MCP.

Tabla de contenido


¿Por qué MCP Toolbox?

  • Acceso a bases de datos listo para usar: Herramientas genéricas precompiladas para explorar datos al instante (p. ej., list_tables, execute_sql) directamente desde tu IDE o CLI.
  • Marco de herramientas personalizadas: Crea herramientas listas para producción con tu propia lógica predefinida y garantiza la seguridad mediante acceso restringido, consultas estructuradas y búsqueda semántica.
  • Desarrollo simplificado: Integra herramientas en tu Agent Development Kit (ADK), LangChain, LlamaIndex o agentes personalizados con menos de 10 líneas de código.
  • Mejor rendimiento: Incluye de forma predeterminada agrupación de conexiones, autenticación integrada (IAM) y observabilidad integral (OpenTelemetry).
  • Seguridad mejorada: Autenticación integrada para acceder a tus datos de forma más segura.
  • Observabilidad integral: Métricas y trazas listas para usar, con compatibilidad integrada con OpenTelemetry.

Inicio rápido: herramientas precompiladas

Deja de cambiar de contexto y permite que tu asistente de IA se convierta en un verdadero colaborador de desarrollo. Al conectar tu IDE a tus bases de datos con MCP Toolbox, puedes consultar tus datos en lenguaje natural, automatizar la detección y administración de esquemas y generar código que tenga en cuenta 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 cómodamente en Google Antigravity MCP Store, con una sencilla 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. Configura las variables de entorno adecuadas para conectarte; consulta la referencia de herramientas precompiladas.

Al ejecutar Toolbox con la opción --prebuilt=<database>, obtienes acceso inmediato a herramientas estándar para interactuar con esa base de datos. También puedes especificar un conjunto de herramientas concreto mediante la sintaxis --prebuilt=<database>/<toolset> (p. ej., --prebuilt=postgres/data para cargar solo herramientas SQL).

Actualmente, las bases de datos compatibles incluyen:

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

Para ver la lista completa de 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 distintos métodos de ejecución, como Docker o los binarios.

[!TIP] Para quienes buscan una solución administrada, Google Cloud MCP Servers ofrece una experiencia MCP administrada con herramientas precompiladas; aquí puedes obtener más información sobre las diferencias.


Inicio rápido: herramientas personalizadas

Toolbox también se puede usar como marco para herramientas personalizadas. La forma principal de configurar Toolbox es mediante el archivo tools.yaml. Si tienes varios archivos, puedes indicar a Toolbox cuál cargar con la opción --config tools.yaml.

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

Fuentes

La sección sources de tu tools.yaml define las fuentes de datos a las que Toolbox debe tener acceso. La mayoría de las herramientas tendrán al menos una fuente contra la que 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 información sobre cómo configurar distintos tipos de fuentes, consulta Fuentes.

Herramientas

La sección tools de un tools.yaml define las acciones que puede realizar un agente: qué tipo de herramienta es, a qué fuentes afecta, qué parámetros utiliza, 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 información sobre cómo configurar distintos tipos de herramientas, consulta Herramientas.

Conjuntos de herramientas

La sección toolsets de tu tools.yaml permite definir grupos de herramientas que quieras cargar juntos. Esto puede ser útil para definir distintos 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

Indicaciones

La sección prompts de un tools.yaml define indicaciones que se pueden usar para interactuar 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 información sobre cómo configurar indicaciones, consulta Indicaciones.

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 detectar 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 información 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 versión más reciente del servidor Toolbox con tu archivo de configuración.

[!NOTE] Este método está optimizado para la comodidad, no para el rendimiento. Para una instalación más estándar y fiable, usa el binario o la imagen de contenedor, tal como se describe en Instalar y ejecutar el servidor Toolbox.

Instalar Toolbox

Para obtener la versión más reciente, consulta la página de versiones y sigue las instrucciones correspondientes a 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.16.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 binario en macOS (Apple Silicon):

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

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

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

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

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

# consulta la página de versiones para otras versiones
$VERSION = "1.16.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 contenedor:
# see releases page for other versions
export VERSION=1.16.0
docker pull us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:$VERSION
Homebrew

Para instalar Toolbox con 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 versión más reciente de Go instalado y, a continuación, ejecuta el siguiente comando:

go install github.com/googleapis/mcp-toolbox@v1.16.0
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 en lenguaje natural mediante 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, a continuación, 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 desactivarla, usa la opción --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 opción -v monta tu tools.yaml local en el contenedor, y -p asigna el puerto 5000 del contenedor al puerto 5000 de tu equipo.

Código fuente

Para ejecutar el servidor directamente desde el código fuente, ve 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 el desarrollo y las pruebas. No compila un binario en tu $GOPATH. Si quieres compilar un binario, consulta la documentación para desarrolladores.

Homebrew

Si instalaste Toolbox con 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):

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 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 las 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 la implementación en distintos entornos, consulta los recursos de la sección Implementar Toolbox


Conectarse a Toolbox

Una vez que el servidor de 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 quieres conectarte a un conjunto de herramientas específico, reemplaza url por "http://127.0.0.1:5000/mcp/{toolset_name}".

SDK de Toolbox: integración con tu aplicación

Los SDK de cliente de Toolbox proporcionan componentes básicos fáciles de usar y funciones avanzadas para conectar tus aplicaciones personalizadas al servidor MCP Toolbox. A continuación, encontrarás la lista de SDK de cliente para usar con distintos frameworks:

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

    pip install toolbox-core
    
  2. Carga las 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 obtener instrucciones más detalladas sobre el uso del SDK Toolbox Core, consulta el README del proyecto.

LangChain / LangGraph
  1. Instala el SDK Toolbox LangChain:

    pip install toolbox-langchain
    
  2. Carga las 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 obtener instrucciones más detalladas sobre el uso del SDK Toolbox LangChain, consulta el README del proyecto.

LlamaIndex
  1. Instala el SDK Toolbox Llamaindex:

    pip install toolbox-llamaindex
    
  2. Carga las 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 obtener instrucciones más detalladas sobre el uso del SDK Toolbox Llamaindex, consulta el README del proyecto.

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

    npm install @toolbox-sdk/core
    
  2. Carga las 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 obtener instrucciones más detalladas sobre el uso del SDK Toolbox Core, consulta el README del proyecto.

LangChain / LangGraph
  1. Instala el SDK Toolbox Core:

    npm install @toolbox-sdk/core
    
  2. Carga las 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 el SDK Toolbox Core:

    npm install @toolbox-sdk/core
    
  2. Carga las 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 el SDK Toolbox ADK:

    npm install @toolbox-sdk/adk
    
  2. Carga las 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 obtener instrucciones más detalladas sobre el uso del SDK Toolbox ADK, consulta el README del proyecto.

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

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Carga las 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 obtener instrucciones más detalladas sobre el uso del SDK Toolbox Go, consulta el README del proyecto.

LangChain Go
  1. Instala el SDK Toolbox Go:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Carga las 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 el SDK Toolbox Go:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Carga las 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 el SDK Toolbox Go:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Carga las 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 el SDK Toolbox Go:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Carga las 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 el SDK Toolbox Go:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Carga las 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 obtener instrucciones más detalladas sobre el uso del SDK Toolbox Go, consulta el README del proyecto.


Funciones adicionales

Probar herramientas con la interfaz de usuario de Toolbox

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

./toolbox --ui

Telemetría

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

Generar habilidades de agente

El comando skills-generate permite convertir un conjunto de herramientas en una habilidad de agente compatible con la especificación de habilidades de agente. Esto resulta ú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 obtener más información, consulta la guía para generar habilidades. Para servir mediante MCP una habilidad que ya tengas, consulta Servir habilidades mediante MCP.

El repositorio también incluye habilidades de agente 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 de Toolbox (CLI, manifiestos de configuración y conjuntos de herramientas precompilados) y los SDK de cliente.

  • Las versiones principales se incrementan para los cambios incompatibles, como cambios incompatibles en la CLI o los manifiestos.
  • Las versiones menores se incrementan para las nuevas funciones, incluidas las modificaciones de los conjuntos de herramientas precompilados o las funciones beta.
  • Las versiones de parche se incrementan para las correcciones de errores compatibles con versiones anteriores.

Para obtener más información, incluida nuestra política de etiquetado de contenedores, consulta nuestra política completa de versionado.


Contribuciones

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

Para obtener detalles técnicos sobre cómo configurar un entorno para desarrollar 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 Código de conducta para colaboradores para obtener más información.


Comunidad

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