MCP Toolbox for Databases

oficial

Servidor MCP de código aberto especializado em ferramentas fáceis, rápidas e seguras para Bancos de Dados.

O que você pode fazer com Toolbox For Databases MCP?

  • Explore database schemas — Peça ao seu assistente para listar as tabelas disponíveis e entender a estrutura do seu banco de dados usando list_tables.
  • Run SQL queries in plain English — Peça ao seu assistente para traduzir perguntas em linguagem natural para SQL e executá-las via execute_sql.
  • Build custom database tools — Defina instruções SQL parametrizadas em tools.yaml para criar ferramentas seguras e reutilizáveis para seus agentes.
  • Connect to any MCP client — Configure o servidor em mcp.json ou claude_desktop_config.json para usar com Claude Code, Gemini CLI ou outros IDEs.
  • Load tools into AI frameworks — Integre as ferramentas do Toolbox em aplicações LangChain, LlamaIndex ou ADK usando os SDKs fornecidos.

Documentação

logo

MCP Toolbox for Databases

googleapis%2Fmcp-toolbox | Trendshift

License: Apache
2.0 Docs Discord Medium

Python SDK JS/TS SDK Go SDK Java SDK

O MCP Toolbox for Databases é um servidor de Model Context Protocol (MCP) de código aberto que conecta seus agentes de IA, IDEs e aplicativos diretamente aos seus bancos de dados corporativos.

architecture

Ele serve a um duplo propósito:

  1. Servidor MCP pronto para uso (em tempo de build): Conecte instantaneamente o Gemini CLI, Google Antigravity, Claude Code, Codex ou outros clientes MCP aos seus bancos de dados usando nossas ferramentas genéricas pré-construídas. Converse com seus dados, explore esquemas e gere código sem escrever código boilerplate.
  2. Framework de ferramentas personalizadas (em tempo de execução): Um framework robusto para construir ferramentas de IA especializadas e altamente seguras para seus agentes de produção. Defina consultas estruturadas, busca semântica e recursos de NL2SQL de forma segura e fácil.

Este README fornece uma visão geral breve. Para detalhes abrangentes, consulte a documentação completa.

[!IMPORTANT]
Atualização do nome do repositório: O repositório genai-toolbox foi oficialmente renomeado para mcp-toolbox. Para garantir que seu ambiente local reflita o novo nome, você pode atualizar seu remote: git remote set-url origin https://github.com/googleapis/mcp-toolbox.git

[!NOTE] Esta solução foi originalmente chamada de "Gen AI Toolbox for Databases" (github.com/googleapis/genai-toolbox), pois seu desenvolvimento inicial antecedeu o MCP, mas foi renomeada para se alinhar à compatibilidade com MCP.

Sumário


Por que MCP Toolbox?

  • Acesso a banco de dados pronto para uso: Ferramentas genéricas pré-construídas para exploração instantânea de dados (ex.: list_tables, execute_sql) diretamente da sua IDE ou CLI.
  • Framework de ferramentas personalizadas: Crie ferramentas prontas para produção com sua própria lógica predefinida, garantindo segurança por meio de Acesso Restrito, Consultas Estruturadas e Busca Semântica.
  • Desenvolvimento simplificado: Integre ferramentas ao seu Agent Development Kit (ADK), LangChain, LlamaIndex ou agentes personalizados em menos de 10 linhas de código.
  • Melhor desempenho: Gerencia pool de conexões, autenticação integrada (IAM) e observabilidade de ponta a ponta (OpenTelemetry) prontas para uso.
  • Segurança aprimorada: Autenticação integrada para acesso mais seguro aos seus dados.
  • Observabilidade de ponta a ponta: Métricas e rastreamento prontos para uso com suporte integrado ao OpenTelemetry.

Início rápido: Ferramentas pré-construídas

Pare de alternar de contexto e deixe seu assistente de IA se tornar um verdadeiro co-desenvolvedor. Ao conectar sua IDE aos seus bancos de dados com o MCP Toolbox, você pode consultar seus dados em linguagem natural, automatizar a descoberta e o gerenciamento de esquemas e gerar código ciente do banco de dados.

Você pode usar o Toolbox em qualquer IDE ou cliente compatível com MCP (ex.: Gemini CLI, Google Antigravity, Claude Code, Codex, etc.) configurando o servidor MCP.

As ferramentas pré-construídas também estão disponíveis convenientemente via Google Antigravity MCP Store com uma experiência simples de instalar com um clique.

  1. Adicione o seguinte ao arquivo de configuração MCP do seu cliente (geralmente mcp.json ou claude_desktop_config.json):

    {
      "mcpServers": {
        "toolbox-postgres": {
          "command": "npx",
          "args": [
            "-y",
            "@toolbox-sdk/server",
            "--prebuilt=postgres",
            "--stdio"
          ]
        }
      }
    }
    
  2. Defina as variáveis de ambiente apropriadas para conectar; consulte a Referência de ferramentas pré-construídas.

Quando você executa o Toolbox com um sinalizador --prebuilt=<database>, você obtém acesso instantâneo a ferramentas padrão para interagir com esse banco de dados. Você também pode especificar um conjunto de ferramentas específico usando a sintaxe --prebuilt=<database>/<toolset> (ex.: --prebuilt=postgres/data para carregar apenas ferramentas SQL).

Os bancos de dados suportados atualmente incluem:

  • Google Cloud: AlloyDB, BigQuery, Cloud SQL (PostgreSQL, MySQL, SQL Server), Spanner, Firestore, Knowledge Catalog (anteriormente conhecido como Dataplex).
  • Outros bancos de dados: PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, MongoDB, Redis, Elasticsearch, CockroachDB, ClickHouse, Couchbase, Neo4j, Snowflake, Trino e outros.

Para uma lista completa de ferramentas disponíveis e seus recursos em todos os bancos de dados suportados, consulte a Referência de ferramentas pré-construídas.

Consulte a seção Instalar e executar o servidor Toolbox para diferentes métodos de execução, como Docker ou binários.

[!TIP] Para usuários que procuram uma solução gerenciada, os Google Cloud MCP Servers fornecem uma experiência MCP gerenciada com ferramentas pré-construídas; você pode saber mais sobre as diferenças aqui.


Início rápido: Ferramentas personalizadas

O Toolbox também pode ser usado como um framework para ferramentas personalizadas. A principal forma de configurar o Toolbox é por meio do arquivo tools.yaml. Se você tiver vários arquivos, pode informar ao Toolbox qual carregar com o sinalizador --config tools.yaml.

Você pode encontrar documentação de referência mais detalhada para todos os tipos de recursos na seção Resources.

Sources

A seção sources do seu tools.yaml define quais fontes de dados o seu Toolbox deve ter acesso. A maioria das ferramentas terá pelo menos uma fonte para executar.

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 mais detalhes sobre como configurar diferentes tipos de fontes, consulte Sources.

Tools

A seção tools de um tools.yaml define as ações que um agente pode executar: que tipo de ferramenta é, quais fontes ela afeta, quais 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 mais detalhes sobre como configurar diferentes tipos de ferramentas, consulte Tools.

Toolsets

A seção toolsets do seu tools.yaml permite definir grupos de ferramentas que você deseja carregar juntos. Isso pode ser útil para definir diferentes grupos com base no agente ou aplicativo.

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

A seção prompts de um tools.yaml define prompts que podem ser usados para interações com 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 mais detalhes sobre como configurar prompts, consulte Prompts.

Resources

As seções resources e resourceTemplates do seu tools.yaml definem conteúdo somente leitura, arquivos ou árvores de diretórios parametrizadas que podem ser descobertas e recuperadas por clientes MCP:

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 mais detalhes sobre como configurar resources e modelos de resources, consulte Resources.


Instalar e executar o servidor Toolbox

Você pode executar o Toolbox diretamente com um arquivo de configuração:

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

Isso executa a versão mais recente do servidor Toolbox com seu arquivo de configuração.

[!NOTE] Este método é otimizado para conveniência, não para desempenho. Para uma instalação mais padrão e confiável, use o binário ou a imagem de contêiner conforme descrito em Instalar e executar o servidor Toolbox.

Instalar o Toolbox

Para a versão mais recente, consulte a página de releases e use as instruções a seguir para seu sistema operacional e arquitetura de CPU.

Binário

Para instalar o Toolbox como binário:

Linux (AMD64)

Para instalar o Toolbox como binário no Linux (AMD64):

# consulte a página de releases para outras versões
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 o Toolbox como binário no macOS (Apple Silicon):

# consulte a página de releases para outras versões
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 o Toolbox como binário no macOS (Intel):

# consulte a página de releases para outras versões
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 (Prompt de comando)

Para instalar o Toolbox como binário no Windows (Prompt de comando):

:: consulte a página de releases para outras versões
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 o Toolbox como binário no Windows (PowerShell):

# consulte a página de releases para outras versões
$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 (Prompt de comando)

Para instalar o Toolbox como binário no Windows ARM64 (Prompt de comando):

:: consulte a página de releases para outras versões
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 o Toolbox como binário no Windows ARM64 (PowerShell):

# consulte a página de releases para outras versões
$VERSION = "1.13.1"
curl.exe -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/windows/arm64/toolbox.exe"
Imagem de contêiner Você também pode instalar o Toolbox como contêiner:
# 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 o Toolbox usando Homebrew no macOS ou Linux:

brew install mcp-toolbox
Compilar a partir do código-fonte

Para instalar a partir do código-fonte, certifique-se de ter a versão mais recente do Go instalado e execute o seguinte comando:

go install github.com/googleapis/mcp-toolbox@v1.13.1
Gemini CLI Confira as [extensões do Gemini CLI](https://geminicli.com/extensions/) para instalar ferramentas pré-construídas para bancos de dados específicos, como AlloyDB, BigQuery e Cloud SQL, diretamente no 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

Interaja com suas ferramentas personalizadas usando linguagem natural por meio do Gemini CLI.

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

Executar o Toolbox

Configure um tools.yaml para definir suas ferramentas e, em seguida, execute toolbox para iniciar o servidor:

Binário

Para executar o Toolbox a partir do binário:

./toolbox --config "tools.yaml"

ⓘ Nota
O Toolbox habilita o recarregamento dinâmico por padrão. Para desabilitar, use o sinalizador --disable-reload.

Imagem de contêiner

Para executar o servidor após baixar a imagem de contêiner:

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
O sinalizador -v monta seu tools.yaml local no contêiner, e -p mapeia a porta 5000 do contêiner para a porta 5000 do host.

Código-fonte

Para executar o servidor diretamente a partir do código-fonte, navegue até o diretório raiz do projeto e execute:

go run .

ⓘ Nota
Este comando executa o projeto a partir do código-fonte e é mais adequado para desenvolvimento e testes. Ele não compila um binário no seu $GOPATH. Se você quiser compilar um binário, consulte a Documentação do desenvolvedor.

Homebrew

Se você instalou o Toolbox usando Homebrew, o binário toolbox está disponível no seu caminho do sistema. Você pode iniciar o servidor com o mesmo comando:

toolbox --config "tools.yaml"
NPM

Para executar o Toolbox diretamente sem baixar manualmente o binário (requer Node.js):

npx @toolbox-sdk/server --config tools.yaml
Gemini CLI Após instalar uma [extensão do Gemini CLI](https://geminicli.com/extensions/), as ferramentas pré-construídas estarão disponíveis durante o uso.
# Run Gemini CLI
gemini

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

Você pode usar toolbox help para uma lista completa de flags! Para parar o servidor, envie um sinal de término (ctrl+c na maioria das plataformas).

Para documentação mais detalhada sobre implantação em diferentes ambientes, consulte os recursos na https://mcp-toolbox.dev/documentation/deploy-to/


Conectar ao Toolbox

Assim que o servidor Toolbox estiver em execução, você pode carregar ferramentas no seu cliente ou aplicativo compatível com MCP.

Cliente MCP

Adicione a seguinte configuração à configuração do seu cliente MCP:

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

Se você quiser conectar a um conjunto de ferramentas específico, substitua a url por "http://127.0.0.1:5000/mcp/{toolset_name}".

SDKs do Toolbox: Integre com seu Aplicativo

Os SDKs do Cliente Toolbox fornecem blocos de construção fáceis de usar e recursos avançados para conectar seus aplicativos personalizados ao servidor MCP Toolbox. Veja abaixo a lista de SDKs do Cliente para usar vários frameworks:

Python (Github)
Core
  1. Instale o Toolbox Core SDK:

    pip install toolbox-core
    
  2. Carregue as ferramentas:

    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 instruções mais detalhadas sobre como usar o Toolbox Core SDK, consulte o README do projeto.

LangChain / LangGraph
  1. Instale o Toolbox LangChain SDK:

    pip install toolbox-langchain
    
  2. Carregue as ferramentas:

    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 instruções mais detalhadas sobre como usar o Toolbox LangChain SDK, consulte o README do projeto.

LlamaIndex
  1. Instale o Toolbox Llamaindex SDK:

    pip install toolbox-llamaindex
    
  2. Carregue as ferramentas:

    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 instruções mais detalhadas sobre como usar o Toolbox Llamaindex SDK, consulte o README do projeto.

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

    npm install @toolbox-sdk/core
    
  2. Carregue as ferramentas:

    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 instruções mais detalhadas sobre como usar o Toolbox Core SDK, consulte o README do projeto.

LangChain / LangGraph
  1. Instale o Toolbox Core SDK:

    npm install @toolbox-sdk/core
    
  2. Carregue as ferramentas:

    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. Instale o Toolbox Core SDK:

    npm install @toolbox-sdk/core
    
  2. Carregue as ferramentas:

    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. Instale o Toolbox ADK SDK:

    npm install @toolbox-sdk/adk
    
  2. Carregue as ferramentas:

    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 instruções mais detalhadas sobre como usar o Toolbox ADK SDK, consulte o README do projeto.

Go (Github)
Core
  1. Instale o Toolbox Go SDK:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Carregue as ferramentas:

    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 instruções mais detalhadas sobre como usar o Toolbox Go SDK, consulte o README do projeto.

LangChain Go
  1. Instale o Toolbox Go SDK:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Carregue as ferramentas:

    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. Instale o Toolbox Go SDK:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Carregue as ferramentas:

    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. Instale o Toolbox Go SDK:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Carregue as ferramentas:

    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. Instale o Toolbox Go SDK:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Carregue as ferramentas:

    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. Instale o Toolbox Go SDK:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Carregue as ferramentas:

    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 instruções mais detalhadas sobre como usar o Toolbox Go SDK, consulte o README do projeto.


Recursos Adicionais

Teste ferramentas com a UI do Toolbox

Para iniciar a UI interativa do Toolbox, use a flag --ui. Isso permite testar ferramentas e conjuntos de ferramentas com recursos como parâmetros autorizados. Para saber mais, visite Toolbox UI.

./toolbox --ui

Telemetria

O Toolbox emite traces e métricas via OpenTelemetry. Use --telemetry-otlp=<endpoint> para exportar para qualquer backend compatível com OTLP, como Google Cloud Monitoring, Agnost AI ou outros. Consulte a documentação de telemetria para detalhes.

Gerar Habilidades de Agente

O comando skills-generate permite converter um conjunto de ferramentas em uma Habilidade de Agente compatível com a especificação de Habilidades de Agente. Isso é útil para distribuir ferramentas como pacotes de habilidades portáteis.

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

Após a geração, você pode instalar a habilidade no Gemini CLI:

gemini skills install ./skills/my-skill

Para mais detalhes, consulte o guia Gerar Habilidades de Agente.

O repositório também inclui Habilidades de Agente prontas para uso (por exemplo, fluxos de trabalho de mantenedores). Consulte skills/ para o catálogo e instruções de instalação.


Versionamento

O MCP Toolbox for Databases segue o Versionamento Semântico.

A API Pública inclui o Servidor Toolbox (CLI, manifestos de configuração e conjuntos de ferramentas pré-construídos) e os SDKs do Cliente.

  • Versões principais são incrementadas para mudanças que quebram compatibilidade, como alterações incompatíveis de CLI ou manifestos.
  • Versões secundárias são incrementadas para novos recursos, incluindo modificações em conjuntos de ferramentas pré-construídos ou recursos beta.
  • Versões de correção são incrementadas para correções de bugs compatíveis com versões anteriores.

Para mais detalhes, consulte nossa Política Completa de Versionamento.


Contribuindo

Contribuições são bem-vindas. Por favor, consulte o guia CONTRIBUTING para começar.

Para detalhes técnicos sobre como configurar um ambiente para desenvolver no próprio Toolbox, consulte o guia DEVELOPER.

Observe que este projeto é lançado com um Código de Conduta do Contribuidor. Ao participar deste projeto, você concorda em cumprir seus termos. Consulte Código de Conduta do Contribuidor para mais informações.


Comunidade

Junte-se à nossa comunidade no Discord para se conectar com nossos desenvolvedores!