MCP Toolbox for Databases
resmiServer 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?
- Jelajahi skema database — Minta asisten AI Anda untuk mencantumkan tabel dan memeriksa detail skema menggunakan tool bawaan
list_tables. - Jalankan kueri SQL — Kueri data Anda dalam bahasa sehari-hari melalui tool bawaan
execute_sqldi berbagai database yang didukung. - Hubungkan melalui klien MCP — Konfigurasikan server di
mcp.jsonatauclaude_desktop_config.jsonagar dapat digunakan dari Gemini CLI, Claude Code, Codex, atau klien MCP lainnya. - Tentukan tool kustom — Buat tool SQL terstruktur dengan parameter di file
tools.yamluntuk mengekspos kueri tertentu kepada agen dengan aman. - Kelompokkan tool ke dalam toolset — Atur tool terkait ke dalam toolset dan muat semuanya sekaligus untuk agen atau aplikasi tertentu.
Dokumentasi
MCP Toolbox for Databases adalah server Model Context Protocol (MCP) sumber terbuka yang menghubungkan agen AI, IDE, dan aplikasi Anda langsung ke database perusahaan.
Server ini memiliki dua fungsi:
- Server MCP siap pakai (Waktu Build): Hubungkan Gemini CLI, Google Antigravity, Claude Code, Codex, atau klien MCP lainnya ke database Anda secara instan menggunakan alat generik siap pakai kami. Berinteraksilah dengan data Anda, jelajahi skema, dan buat kode tanpa menulis kode boilerplate.
- Kerangka Kerja Alat Kustom (Waktu Runtime): Kerangka kerja tangguh untuk membangun alat AI khusus yang sangat aman bagi agen produksi Anda. Tentukan kueri terstruktur, pencarian semantik, dan kemampuan NL2SQL dengan aman dan mudah.
README ini memberikan gambaran singkat. Untuk detail lengkap, lihat dokumentasi lengkap.
[!IMPORTANT]
Pembaruan Nama Repositori: Repositorigenai-toolboxtelah resmi berganti nama menjadimcp-toolbox. Agar lingkungan lokal Anda menggunakan nama baru, Anda dapat memperbarui remote: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 namanya diubah agar selaras dengan kompatibilitas MCP.
Daftar Isi
- Mengapa MCP Toolbox?
- Mulai Cepat: Alat Siap Pakai
- Mulai Cepat: Alat Kustom
- Instal dan Jalankan server Toolbox
- Hubungkan ke Toolbox
- Fitur Tambahan
- Pembuatan Versi
- Berkontribusi
- Komunitas
Mengapa MCP Toolbox?
- Akses Database Langsung: Alat generik siap pakai untuk menjelajahi data secara instan (misalnya,
list_tables,execute_sql) langsung dari IDE atau CLI Anda. - Kerangka Kerja Alat Kustom: Bangun alat siap produksi dengan logika yang telah ditentukan sendiri, serta pastikan keamanan melalui Akses Terbatas, Kueri Terstruktur, dan Pencarian Semantik.
- Pengembangan Lebih Sederhana: Integrasikan alat ke dalam Agent Development Kit (ADK), LangChain, LlamaIndex, atau agen kustom Anda dengan kurang dari 10 baris kode.
- Performa Lebih Baik: Menangani pengumpulan koneksi, autentikasi terintegrasi (IAM), dan observabilitas menyeluruh (OpenTelemetry) secara langsung.
- Keamanan yang Ditingkatkan: Autentikasi terintegrasi untuk akses data yang lebih aman.
- Observabilitas Menyeluruh: Metrik dan pelacakan siap pakai dengan dukungan bawaan untuk OpenTelemetry.
Mulai Cepat: Alat Siap Pakai
Hentikan perpindahan konteks dan jadikan asisten AI Anda rekan pengembang sejati. Dengan menghubungkan IDE ke database menggunakan MCP Toolbox, Anda dapat mengueri data dalam bahasa sehari-hari, mengotomatiskan penemuan dan pengelolaan skema, serta membuat kode yang memahami database.
Anda dapat menggunakan Toolbox di IDE atau klien apa pun yang kompatibel dengan MCP (misalnya, Gemini CLI, Google Antigravity, Claude Code, Codex, dll.) dengan mengonfigurasi server MCP.
Alat siap pakai juga tersedia dengan mudah melalui Google Antigravity MCP Store dengan pengalaman instalasi sekali klik.
-
Tambahkan konfigurasi berikut ke file konfigurasi MCP klien Anda (biasanya
mcp.jsonatauclaude_desktop_config.json):{ "mcpServers": { "toolbox-postgres": { "command": "npx", "args": [ "-y", "@toolbox-sdk/server", "--prebuilt=postgres", "--stdio" ] } } } -
Tetapkan variabel lingkungan yang sesuai untuk menghubungkan, lihat Referensi Alat Siap Pakai.
Saat menjalankan Toolbox dengan flag --prebuilt=<database>, Anda langsung mendapatkan akses ke alat standar untuk berinteraksi dengan database tersebut. Anda juga dapat menentukan set alat tertentu menggunakan sintaks --prebuilt=<database>/<toolset> (misalnya, --prebuilt=postgres/data untuk memuat alat SQL saja).
Database yang saat ini didukung 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 alat yang tersedia beserta kemampuannya di semua database yang didukung, lihat Referensi Alat Siap Pakai.
Lihat bagian Instal dan 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 alat siap pakai; pelajari selengkapnya tentang perbedaannya di sini.
Mulai Cepat: Alat Kustom
Toolbox juga dapat digunakan sebagai kerangka kerja untuk alat yang disesuaikan.
Cara utama untuk mengonfigurasi Toolbox adalah melalui file tools.yaml. Jika Anda
memiliki beberapa file, Anda dapat memberi tahu Toolbox file mana yang harus dimuat dengan flag --config tools.yaml.
Anda dapat menemukan dokumentasi referensi yang lebih terperinci untuk semua jenis resource di Resources.
Sumber
Bagian sources pada tools.yaml menentukan sumber data yang dapat diakses oleh
Toolbox Anda. Sebagian besar alat memiliki setidaknya satu sumber untuk
menjalankan operasi.
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 selengkapnya tentang cara mengonfigurasi berbagai jenis sumber, lihat Sources.
Alat
Bagian tools pada tools.yaml menentukan tindakan yang dapat dilakukan agen: jenis
alat, sumber yang dipengaruhinya, parameter yang digunakannya, dan sebagainya.
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 selengkapnya tentang cara mengonfigurasi berbagai jenis alat, lihat Tools.
Set Alat
Bagian toolsets pada tools.yaml memungkinkan Anda menentukan kelompok alat
yang ingin dimuat bersama. Ini berguna untuk menentukan
kelompok 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 pada tools.yaml menentukan prompt yang dapat digunakan untuk
berinteraksi 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 selengkapnya tentang cara mengonfigurasi prompt, lihat Prompts.
Resource
Bagian resources dan resourceTemplates pada tools.yaml menentukan
konten, file, atau pohon direktori berparameter yang bersifat hanya-baca dan dapat ditemukan serta diambil
oleh klien 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"
Untuk detail selengkapnya tentang cara mengonfigurasi resource dan templat resource, lihat Resources.
Instal dan Jalankan server Toolbox
Anda dapat menjalankan Toolbox secara langsung dengan file konfigurasi:
npx @toolbox-sdk/server --config tools.yaml
Perintah ini menjalankan versi terbaru server Toolbox dengan file konfigurasi Anda.
[!NOTE] Metode ini dioptimalkan untuk kemudahan, bukan performa. Untuk instalasi yang lebih standar dan andal, gunakan biner atau image container seperti yang dijelaskan di Instal dan Jalankan server Toolbox.
Instal Toolbox
Untuk versi terbaru, periksa halaman rilis dan ikuti petunjuk berikut sesuai 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.16.0 curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/linux/amd64/toolbox chmod +x toolboxmacOS (Apple Silicon)
Untuk menginstal Toolbox sebagai biner di macOS (Apple Silicon):
# lihat halaman rilis untuk versi lainnya export VERSION=1.16.0 curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/darwin/arm64/toolbox chmod +x toolboxmacOS (Intel)
Untuk menginstal Toolbox sebagai biner di macOS (Intel):
# lihat halaman rilis untuk versi lainnya export VERSION=1.16.0 curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/darwin/amd64/toolbox chmod +x toolboxWindows (Command Prompt)
Untuk menginstal Toolbox sebagai biner di Windows (Command Prompt):
:: lihat halaman rilis untuk versi lainnya 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)
Untuk menginstal Toolbox sebagai biner di Windows (PowerShell):
# lihat halaman rilis untuk versi lainnya $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 (Command Prompt)
Untuk menginstal Toolbox sebagai biner di Windows ARM64 (Command Prompt):
:: lihat halaman rilis untuk versi lainnya 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)
Untuk menginstal Toolbox sebagai biner di Windows ARM64 (PowerShell):
# lihat halaman rilis untuk versi lainnya $VERSION = "1.16.0" curl.exe -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/windows/arm64/toolbox.exe"
Image container
Anda juga dapat menginstal Toolbox sebagai container:# see releases page for other versions
export VERSION=1.16.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 Go yang terinstal, lalu jalankan perintah berikut:
go install github.com/googleapis/mcp-toolbox@v1.16.0
Gemini CLI
Lihat [ekstensi Gemini CLI](https://geminicli.com/extensions/) untuk menginstal alat siap pakai bagi 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 alat 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 menentukan alat Anda, lalu
jalankan toolbox untuk memulai server:
Biner
Untuk menjalankan Toolbox dari biner:
./toolbox --config "tools.yaml"
ⓘ Catatan
Toolbox mengaktifkan pemuatan ulang dinamis secara default. Untuk menonaktifkannya, gunakan flag--disable-reload.
Image container
Untuk menjalankan server setelah mengambil image container:
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-vmemasangtools.yamllokal Anda ke dalam container, sedangkan-pmemetakan port container5000ke port5000pada host Anda.
Sumber
Untuk menjalankan server langsung dari sumber, buka direktori root proyek lalu jalankan:
go run .
ⓘ Catatan
Perintah ini menjalankan proyek dari sumber dan lebih sesuai untuk pengembangan serta pengujian. Perintah ini tidak mengompilasi biner ke dalam$GOPATHAnda. Jika ingin mengompilasi biner, lihat Dokumentasi Developer.
Homebrew
Jika Anda menginstal Toolbox menggunakan Homebrew, biner toolbox
tersedia di jalur 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 saat digunakan.# Run Gemini CLI
gemini
# List extensions
/extensions list
# List MCP servers
/mcp list
Anda dapat menggunakan toolbox help untuk melihat daftar lengkap flag! Untuk menghentikan server, kirim sinyal
penghentian (ctrl+c di sebagian besar platform).
Untuk dokumentasi lebih terperinci tentang penerapan di berbagai lingkungan, lihat sumber daya di bagian Deploy Toolbox
Menghubungkan ke Toolbox
Setelah server Toolbox aktif dan 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 komponen dasar yang mudah digunakan dan fitur lanjutan untuk menghubungkan aplikasi kustom Anda ke server MCP Toolbox. Berikut daftar SDK Klien untuk menggunakan berbagai framework:
Python (Github)
Core
Instal SDK Toolbox Core:
pip install toolbox-coreMuat 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 petunjuk lebih terperinci tentang penggunaan SDK Toolbox Core, lihat README proyek.
LangChain / LangGraph
Instal SDK Toolbox LangChain:
pip install toolbox-langchainMuat 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 petunjuk lebih terperinci tentang penggunaan SDK Toolbox LangChain, lihat README proyek.
LlamaIndex
Instal SDK Toolbox Llamaindex:
pip install toolbox-llamaindexMuat 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 petunjuk lebih terperinci tentang penggunaan SDK Toolbox Llamaindex, lihat README proyek.
Javascript/Typescript (Github)
Core
Instal SDK Toolbox Core:
npm install @toolbox-sdk/coreMuat 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 petunjuk lebih terperinci tentang penggunaan SDK Toolbox Core, lihat README proyek.
LangChain / LangGraph
Instal SDK Toolbox Core:
npm install @toolbox-sdk/coreMuat 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
Instal SDK Toolbox Core:
npm install @toolbox-sdk/coreMuat 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
Instal SDK Toolbox ADK:
npm install @toolbox-sdk/adkMuat 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 petunjuk lebih terperinci tentang penggunaan SDK Toolbox ADK, lihat README proyek.
Go (Github)
Core
Instal SDK Toolbox Go:
go get github.com/googleapis/mcp-toolbox-sdk-goMuat 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 petunjuk lebih terperinci tentang penggunaan SDK Toolbox Go, lihat README proyek.
LangChain Go
Instal SDK Toolbox Go:
go get github.com/googleapis/mcp-toolbox-sdk-goMuat 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, ¶msSchema) // Use this tool with LangChainGo langChainTool := llms.Tool{ Type: "function", Function: &llms.FunctionDefinition{ Name: tool.Name(), Description: tool.Description(), Parameters: paramsSchema, }, } }Genkit
Instal SDK Toolbox Go:
go get github.com/googleapis/mcp-toolbox-sdk-goMuat 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
Instal SDK Toolbox Go:
go get github.com/googleapis/mcp-toolbox-sdk-goMuat 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
Instal SDK Toolbox Go:
go get github.com/googleapis/mcp-toolbox-sdk-goMuat 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, ¶msSchema) // Use this tool with OpenAI Go openAITool := openai.ChatCompletionToolParam{ Function: openai.FunctionDefinitionParam{ Name: tool.Name(), Description: openai.String(tool.Description()), Parameters: paramsSchema, }, } }ADK Go
Instal SDK Toolbox Go:
go get github.com/googleapis/mcp-toolbox-sdk-goMuat 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 petunjuk lebih terperinci tentang penggunaan SDK Toolbox Go, 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 UI Toolbox.
./toolbox --ui
Telemetri
Toolbox mengirimkan trace dan metrik melalui OpenTelemetry. Gunakan --telemetry-otlp=<endpoint>
untuk mengekspor ke backend apa pun yang kompatibel dengan OTLP, seperti Google Cloud Monitoring, Agnost AI, atau
lainnya. Lihat dokumentasi telemetri untuk detailnya.
Membuat Agent Skills
Perintah skills-generate memungkinkan Anda mengonversi toolset menjadi Agent Skill yang kompatibel dengan spesifikasi Agent Skill. Fitur 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 tersebut ke Gemini CLI:
gemini skills install ./skills/my-skill
Untuk detail selengkapnya, lihat panduan Membuat Skills. Untuk menyajikan skill yang sudah Anda miliki melalui MCP, lihat Menyajikan Skills melalui MCP.
Repositori ini juga menyertakan Agent Skills siap pakai (misalnya, alur kerja pemelihara). Lihat skills/ untuk katalog dan petunjuk instalasi.
Pembuatan Versi
MCP Toolbox for Databases mengikuti Semantic Versioning.
API Publik mencakup Toolbox Server (CLI, manifes konfigurasi, dan toolset bawaan) serta SDK Klien.
- Versi mayor dinaikkan untuk perubahan yang tidak kompatibel, seperti perubahan CLI atau manifes yang tidak kompatibel.
- Versi minor dinaikkan untuk fitur baru, termasuk modifikasi pada toolset bawaan atau fitur beta.
- Versi patch dinaikkan untuk perbaikan bug yang kompatibel dengan versi sebelumnya.
Untuk detail selengkapnya, termasuk Kebijakan Penandaan Container, lihat Kebijakan Pembuatan Versi Lengkap.
Berkontribusi
Kontribusi sangat kami harapkan. Silakan lihat panduan CONTRIBUTING untuk memulai.
Untuk detail teknis tentang menyiapkan lingkungan untuk mengembangkan Toolbox, lihat panduan DEVELOPER.
Harap diperhatikan bahwa proyek ini dirilis dengan Kode Etik Kontributor. Dengan berpartisipasi dalam proyek ini, Anda setuju untuk mematuhi ketentuannya. Lihat Kode Etik Kontributor untuk informasi selengkapnya.
Komunitas
Bergabunglah dengan komunitas Discord kami untuk terhubung dengan para pengembang!
