MCP Toolbox for Databases

resmi

Server MCP sumber terbuka yang mengkhususkan diri pada alat yang mudah, cepat, dan aman untuk Basis Data.

Apa yang bisa Anda lakukan dengan Toolbox For Databases MCP?

  • Eksplorasi database instan — Gunakan alat bawaan seperti list_tables dan execute_sql untuk menanyakan data Anda dalam bahasa Inggris sederhana dari klien MCP mana pun.
  • Alat SQL kustom — Definisikan pernyataan SQL berparameter di tools.yaml untuk menampilkan kueri yang aman dan terstruktur sebagai alat MCP.
  • Pengelompokan toolset — Atur alat ke dalam toolsets bernama untuk memuat hanya kumpulan yang relevan untuk setiap agen atau aplikasi.
  • Prompt yang dapat digunakan ulang — Definisikan prompts di tools.yaml untuk interaksi LLM yang terstandarisasi seperti tinjauan kode.

Dokumentasi

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

MCP Toolbox for Databases adalah server Model Context Protocol (MCP) sumber terbuka yang menghubungkan agen AI, IDE, dan aplikasi Anda secara langsung ke database perusahaan Anda.

architecture

Server ini memiliki dua tujuan:

  1. Server MCP Siap Pakai (Build-Time): Hubungkan Gemini CLI, Google Antigravity, Claude Code, Codex, atau klien MCP lainnya ke database Anda menggunakan tool generik bawaan kami. Bicaralah dengan data Anda, jelajahi skema, dan buat kode tanpa menulis boilerplate.
  2. Framework Tool Kustom (Run-Time): Framework yang kokoh untuk membangun tool AI khusus yang sangat aman untuk agen produksi Anda. Definisikan query terstruktur, penelusuran semantik, dan kemampuan NL2SQL dengan aman dan mudah.

README ini memberikan gambaran singkat. Untuk detail yang lebih lengkap, lihat dokumentasi lengkap.

[!IMPORTANT]
Pembaruan Nama Repositori: Repositori genai-toolbox telah resmi diubah namanya menjadi mcp-toolbox. Untuk memastikan lingkungan lokal Anda mencerminkan nama baru, Anda dapat memperbarui remote Anda: git remote set-url origin https://github.com/googleapis/mcp-toolbox.git

[!NOTE] Solusi ini awalnya bernama "Gen AI Toolbox for Databases" (github.com/googleapis/genai-toolbox) karena pengembangan awalnya mendahului MCP, tetapi diubah namanya agar selaras dengan kompatibilitas MCP.

Daftar Isi


Mengapa MCP Toolbox?

  • Akses Database Siap Pakai: Tool generik bawaan untuk eksplorasi data instan (misalnya, list_tables, execute_sql) langsung dari IDE atau CLI Anda.
  • Framework Tool Kustom: Bangun tool siap produksi dengan logika bawaan Anda sendiri, memastikan keamanan melalui Akses Terbatas, Query Terstruktur, dan Penelusuran Semantik.
  • Pengembangan yang Disederhanakan: Integrasikan tool ke dalam Agent Development Kit (ADK), LangChain, LlamaIndex, atau agen kustom Anda dalam waktu kurang dari 10 baris kode.
  • Kinerja yang Lebih Baik: Menangani connection pooling, autentikasi terintegrasi (IAM), dan observabilitas ujung-ke-ujung (OpenTelemetry) secara langsung.
  • Keamanan yang Ditingkatkan: Autentikasi terintegrasi untuk akses yang lebih aman ke data Anda.
  • Observabilitas Ujung-ke-Ujung: Metrik dan tracing bawaan dengan dukungan terintegrasi untuk OpenTelemetry.

Memulai Cepat: Tool Bawaan

Hentikan perpindahan konteks dan biarkan asisten AI Anda menjadi rekan pengembang sejati. Dengan menghubungkan IDE Anda ke database melalui MCP Toolbox, Anda dapat melakukan query pada data dalam bahasa Inggris sederhana, mengotomatiskan penemuan dan pengelolaan skema, serta membuat kode yang sadar database.

Anda dapat menggunakan Toolbox di IDE atau klien yang kompatibel dengan MCP mana pun (misalnya, Gemini CLI, Google Antigravity, Claude Code, Codex, dll.) dengan mengonfigurasi server MCP.

Tool bawaan juga tersedia dengan mudah melalui Google Antigravity MCP Store dengan pengalaman klik-untuk-instal yang sederhana.

  1. Tambahkan baris berikut ke file konfigurasi MCP klien Anda (biasanya mcp.json atau claude_desktop_config.json):

    {
      "mcpServers": {
        "toolbox-postgres": {
          "command": "npx",
          "args": [
            "-y",
            "@toolbox-sdk/server",
            "--prebuilt=postgres",
            "--stdio"
          ]
        }
      }
    }
    
  2. Atur variabel lingkungan yang sesuai untuk terhubung, lihat Referensi Tool Bawaan.

Ketika Anda menjalankan Toolbox dengan flag --prebuilt=<database>, Anda langsung mendapatkan akses ke tool standar untuk berinteraksi dengan database tersebut. Anda juga dapat menentukan toolset tertentu menggunakan sintaks --prebuilt=<database>/<toolset> (misalnya, --prebuilt=postgres/data untuk hanya memuat tool SQL).

Database yang didukung saat ini meliputi:

  • Google Cloud: AlloyDB, BigQuery, Cloud SQL (PostgreSQL, MySQL, SQL Server), Spanner, Firestore, Knowledge Catalog (sebelumnya dikenal sebagai Dataplex).
  • Database Lainnya: PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, MongoDB, Redis, Elasticsearch, CockroachDB, ClickHouse, Couchbase, Neo4j, Snowflake, Trino, dan lainnya.

Untuk daftar lengkap tool yang tersedia dan kemampuannya di semua database yang didukung, lihat Referensi Tool Bawaan.

Lihat bagian Instal & Jalankan server Toolbox untuk berbagai metode eksekusi seperti Docker atau biner.

[!TIP] Bagi pengguna yang mencari solusi terkelola, Google Cloud MCP Servers menyediakan pengalaman MCP terkelola dengan tool bawaan; Anda dapat mempelajari perbedaannya di sini.


Memulai Cepat: Tool Kustom

Toolbox juga dapat digunakan sebagai framework untuk tool yang disesuaikan. Cara utama untuk mengonfigurasi Toolbox adalah melalui file tools.yaml. Jika Anda memiliki banyak file, Anda dapat memberi tahu Toolbox file mana yang akan dimuat dengan flag --config tools.yaml.

Anda dapat menemukan dokumentasi referensi yang lebih terperinci untuk semua jenis resource di Resources.

Sumber

Bagian sources dari tools.yaml Anda mendefinisikan sumber data yang harus diakses oleh Toolbox Anda. Sebagian besar tool akan memiliki setidaknya satu sumber untuk dieksekusi.

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

Untuk detail lebih lanjut tentang konfigurasi berbagai jenis sumber, lihat Sumber.

Tool

Bagian tools dari tools.yaml mendefinisikan tindakan yang dapat dilakukan agen: jenis tool apa itu, sumber mana yang dipengaruhinya, parameter apa yang digunakannya, dll.

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 || '%';

Untuk detail lebih lanjut tentang konfigurasi berbagai jenis tool, lihat Tool.

Toolset

Bagian toolsets dari tools.yaml Anda memungkinkan Anda mendefinisikan grup tool yang ingin dimuat bersama. Ini berguna untuk mendefinisikan grup yang berbeda berdasarkan agen atau aplikasi.

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

Prompt

Bagian prompts dari tools.yaml mendefinisikan prompt yang dapat digunakan untuk interaksi dengan 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"

Untuk detail lebih lanjut tentang konfigurasi prompt, lihat Prompt.


Instal & Jalankan server Toolbox

Anda dapat menjalankan Toolbox secara langsung dengan file konfigurasi:

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

Ini menjalankan versi terbaru dari server Toolbox dengan file konfigurasi Anda.

[!NOTE] Metode ini dioptimalkan untuk kemudahan, bukan untuk kinerja. Untuk instalasi yang lebih standar dan andal, silakan gunakan biner atau image kontainer seperti yang dijelaskan di Instal & Jalankan server Toolbox.

Instal Toolbox

Untuk versi terbaru, periksa halaman rilis dan gunakan instruksi berikut sesuai dengan OS dan arsitektur CPU Anda.

Biner

Untuk menginstal Toolbox sebagai biner:

Linux (AMD64)

Untuk menginstal Toolbox sebagai biner di Linux (AMD64):

# lihat halaman rilis untuk versi lainnya
export VERSION=1.9.0
curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/linux/amd64/toolbox
chmod +x toolbox
macOS (Apple Silicon)

Untuk menginstal Toolbox sebagai biner di macOS (Apple Silicon):

# lihat halaman rilis untuk versi lainnya
export VERSION=1.9.0
curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/darwin/arm64/toolbox
chmod +x toolbox
macOS (Intel)

Untuk menginstal Toolbox sebagai biner di macOS (Intel):

# lihat halaman rilis untuk versi lainnya
export VERSION=1.9.0
curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/darwin/amd64/toolbox
chmod +x toolbox
Windows (Command Prompt)

Untuk menginstal Toolbox sebagai biner di Windows (Command Prompt):

:: lihat halaman rilis untuk versi lainnya
set VERSION=1.9.0
curl -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v%VERSION%/windows/amd64/toolbox.exe"
Windows (PowerShell)

Untuk menginstal Toolbox sebagai biner di Windows (PowerShell):

# lihat halaman rilis untuk versi lainnya
$VERSION = "1.9.0"
curl.exe -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/windows/amd64/toolbox.exe"
Windows ARM64 (Command Prompt)

Untuk menginstal Toolbox sebagai biner di Windows ARM64 (Command Prompt):

:: lihat halaman rilis untuk versi lainnya
set VERSION=1.9.0
curl -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v%VERSION%/windows/arm64/toolbox.exe"
Windows ARM64 (PowerShell)

Untuk menginstal Toolbox sebagai biner di Windows ARM64 (PowerShell):

# lihat halaman rilis untuk versi lainnya
$VERSION = "1.9.0"
curl.exe -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/windows/arm64/toolbox.exe"
Image kontainer Anda juga dapat menginstal Toolbox sebagai kontainer:
# see releases page for other versions
export VERSION=1.9.0
docker pull us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:$VERSION
Homebrew

Untuk menginstal Toolbox menggunakan Homebrew di macOS atau Linux:

brew install mcp-toolbox
Kompilasi dari sumber

Untuk menginstal dari sumber, pastikan Anda memiliki versi terbaru dari Go yang terinstal, lalu jalankan perintah berikut:

go install github.com/googleapis/mcp-toolbox@v1.9.0
Gemini CLI Lihat [ekstensi Gemini CLI](https://geminicli.com/extensions/) untuk menginstal tool bawaan untuk database tertentu seperti AlloyDB, BigQuery, dan Cloud SQL langsung ke 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

Berinteraksilah dengan tool kustom Anda menggunakan bahasa alami melalui Gemini CLI.

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

Jalankan Toolbox

Konfigurasikan tools.yaml untuk mendefinisikan tool Anda, lalu jalankan toolbox untuk memulai server:

Biner

Untuk menjalankan Toolbox dari biner:

./toolbox --config "tools.yaml"

ⓘ Catatan
Toolbox mengaktifkan pemuatan ulang dinamis secara bawaan. Untuk menonaktifkannya, gunakan flag --disable-reload.

Image kontainer

Untuk menjalankan server setelah menarik image kontainer:

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"

ⓘ Catatan
Flag -v memasang tools.yaml lokal Anda ke dalam kontainer, dan -p memetakan port kontainer 5000 ke port host Anda 5000.

Sumber

Untuk menjalankan server langsung dari sumber, navigasikan ke direktori root proyek dan jalankan:

go run .

ⓘ Catatan
Perintah ini menjalankan proyek dari sumber, dan lebih cocok untuk pengembangan dan pengujian. Perintah ini tidak mengompilasi biner ke dalam $GOPATH Anda. Jika Anda ingin mengompilasi biner, lihat Dokumentasi Pengembang.

Homebrew

Jika Anda menginstal Toolbox menggunakan Homebrew, biner toolbox tersedia di path sistem Anda. Anda dapat memulai server dengan perintah yang sama:

toolbox --config "tools.yaml"
NPM

Untuk menjalankan Toolbox secara langsung tanpa mengunduh biner secara manual (memerlukan Node.js):

npx @toolbox-sdk/server --config tools.yaml
Gemini CLI Setelah menginstal [ekstensi Gemini CLI](https://geminicli.com/extensions/), alat bawaan akan tersedia selama penggunaan.
# Run Gemini CLI
gemini

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

Anda dapat menggunakan toolbox help untuk daftar lengkap flag! Untuk menghentikan server, kirim sinyal terminate (ctrl+c di sebagian besar platform).

Untuk dokumentasi lebih rinci tentang penerapan ke berbagai lingkungan, lihat sumber daya di https://mcp-toolbox.dev/documentation/deploy-to/


Menghubungkan ke Toolbox

Setelah server Toolbox Anda berjalan, Anda dapat memuat alat ke klien atau aplikasi yang kompatibel dengan MCP.

Klien MCP

Tambahkan konfigurasi berikut ke konfigurasi klien MCP Anda:

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

Jika Anda ingin terhubung ke toolset tertentu, ganti url dengan "http://127.0.0.1:5000/mcp/{toolset_name}".

SDK Toolbox: Integrasikan dengan Aplikasi Anda

SDK Klien Toolbox menyediakan blok bangunan yang mudah digunakan dan fitur lanjutan untuk menghubungkan aplikasi kustom Anda ke server MCP Toolbox. Lihat di bawah daftar SDK Klien untuk menggunakan berbagai kerangka kerja:

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

    pip install toolbox-core
    
  2. Muat alat:

    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")
    

Untuk instruksi lebih rinci tentang penggunaan Toolbox Core SDK, lihat README proyek.

LangChain / LangGraph
  1. Instal Toolbox LangChain SDK:

    pip install toolbox-langchain
    
  2. Muat alat:

    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()
    

    Untuk instruksi lebih rinci tentang penggunaan Toolbox LangChain SDK, lihat README proyek.

LlamaIndex
  1. Instal Toolbox Llamaindex SDK:

    pip install toolbox-llamaindex
    
  2. Muat alat:

    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()
    

    Untuk instruksi lebih rinci tentang penggunaan Toolbox Llamaindex SDK, lihat README proyek.

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

    npm install @toolbox-sdk/core
    
  2. Muat alat:

    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');
    

    Untuk instruksi lebih rinci tentang penggunaan Toolbox Core SDK, lihat README proyek.

LangChain / LangGraph
  1. Instal Toolbox Core SDK:

    npm install @toolbox-sdk/core
    
  2. Muat alat:

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

    npm install @toolbox-sdk/core
    
  2. Muat alat:

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

    npm install @toolbox-sdk/adk
    
  2. Muat alat:

    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');
    

    Untuk instruksi lebih rinci tentang penggunaan Toolbox ADK SDK, lihat README proyek.

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

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Muat alat:

    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)
    }
    

    Untuk instruksi lebih rinci tentang penggunaan Toolbox Go SDK, lihat README proyek.

LangChain Go
  1. Instal Toolbox Go SDK:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Muat alat:

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

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Muat alat:

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

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Muat alat:

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

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Muat alat:

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

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Muat alat:

    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)
      }
    }
    

    Untuk instruksi lebih rinci tentang penggunaan Toolbox Go SDK, lihat README proyek.


Fitur Tambahan

Menguji alat dengan UI Toolbox

Untuk meluncurkan UI interaktif Toolbox, gunakan flag --ui. Ini memungkinkan Anda menguji alat dan toolset dengan fitur seperti parameter yang diotorisasi. Untuk mempelajari lebih lanjut, kunjungi Toolbox UI.

./toolbox --ui

Telemetri

Toolbox mengeluarkan trace dan metrik melalui OpenTelemetry. Gunakan --telemetry-otlp=<endpoint> untuk mengekspor ke backend yang kompatibel dengan OTLP seperti Google Cloud Monitoring, Agnost AI, atau lainnya. Lihat dokumentasi telemetri untuk detail.

Membuat Agent Skills

Perintah skills-generate memungkinkan Anda mengonversi toolset menjadi Agent Skill yang kompatibel dengan spesifikasi Agent Skill. Ini berguna untuk mendistribusikan alat sebagai paket skill portabel.

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

Setelah dibuat, Anda dapat menginstal skill ke dalam Gemini CLI:

gemini skills install ./skills/my-skill

Untuk detail lebih lanjut, lihat panduan Generate Agent Skills.

Repositori ini juga menyertakan Agent Skills siap pakai (misalnya alur kerja maintainer). Lihat skills/ untuk katalog dan instruksi penginstalan.


Versioning

MCP Toolbox for Databases mengikuti Semantic Versioning.

API Publik mencakup Toolbox Server (CLI, manifes konfigurasi, dan toolset bawaan) serta SDK Klien.

  • Versi mayor ditingkatkan untuk perubahan yang bersifat breaking, seperti perubahan CLI atau manifes yang tidak kompatibel.
  • Versi minor ditingkatkan untuk fitur baru, termasuk modifikasi pada toolset bawaan atau fitur beta.
  • Versi patch ditingkatkan untuk perbaikan bug yang kompatibel dengan versi sebelumnya.

Untuk detail lebih lanjut, lihat Kebijakan Versioning Lengkap.


Kontribusi

Kontribusi sangat diterima. Silakan lihat panduan CONTRIBUTING untuk memulai.

Untuk detail teknis tentang menyiapkan lingkungan pengembangan untuk Toolbox itu sendiri, lihat panduan DEVELOPER.

Harap dicatat bahwa proyek ini dirilis dengan Kode Etik Kontributor. Dengan berpartisipasi dalam proyek ini, Anda setuju untuk mematuhi ketentuannya. Lihat Kode Etik Kontributor untuk informasi lebih lanjut.


Komunitas

Bergabunglah dengan komunitas Discord untuk terhubung dengan pengembang kami!