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 Anda untuk membuat daftar tabel yang tersedia dan memahami struktur data Anda sebelum melakukan kueri.
- Jalankan kueri SQL dalam bahasa Inggris sederhana — Minta asisten Anda untuk menerjemahkan pertanyaan bahasa alami menjadi panggilan
execute_sqlterhadap database yang terhubung. - Buat alat database khusus — Definisikan pernyataan SQL berparameter di
tools.yamluntuk membuat alat yang aman dan dapat digunakan kembali bagi agen Anda. - Hubungkan ke klien MCP — Konfigurasikan server di
mcp.jsonatauclaude_desktop_config.jsonuntuk digunakan dengan Gemini CLI, Claude Code, atau Codex. - Muat alat ke dalam kerangka kerja AI — Gunakan SDK Toolbox untuk mengintegrasikan alat database ke dalam aplikasi LangChain, LlamaIndex, atau ADK.
Dokumentasi
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.
Server ini memiliki dua tujuan:
- Server MCP Siap Pakai (Build-Time): Hubungkan Gemini CLI, Google Antigravity, Claude Code, Codex, atau klien MCP lainnya ke database Anda menggunakan alat generik bawaan kami. Bicaralah dengan data Anda, jelajahi skema, dan buat kode tanpa menulis boilerplate.
- Framework Alat Kustom (Run-Time): Framework yang kokoh untuk membangun alat AI khusus yang sangat aman untuk agen produksi Anda. Definisikan kueri terstruktur, pencarian 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: Repositorigenai-toolboxtelah resmi diubah namanya menjadimcp-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?
- Memulai Cepat: Alat Bawaan
- Memulai Cepat: Alat Kustom
- Instal & Jalankan server Toolbox
- Hubungkan ke Toolbox
- Fitur Tambahan
- Versi
- Berkontribusi
- Komunitas
Mengapa MCP Toolbox?
- Akses Database Siap Pakai: Alat generik bawaan untuk eksplorasi data instan (misalnya,
list_tables,execute_sql) langsung dari IDE atau CLI Anda. - Framework Alat Kustom: Bangun alat siap produksi dengan logika bawaan Anda sendiri, memastikan keamanan melalui Akses Terbatas, Kueri Terstruktur, dan Pencarian Semantik.
- Pengembangan yang Disederhanakan: Integrasikan alat ke dalam Agent Development Kit (ADK), LangChain, LlamaIndex, atau agen kustom Anda dalam kurang dari 10 baris kode.
- Kinerja 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 pelacakan siap pakai dengan dukungan bawaan untuk OpenTelemetry.
Memulai Cepat: Alat Bawaan
Berhentilah berpindah konteks dan biarkan asisten AI Anda menjadi rekan pengembang sejati. Dengan menghubungkan IDE Anda ke database menggunakan MCP Toolbox, Anda dapat membuat kueri data dalam bahasa Inggris sederhana, mengotomatiskan penemuan dan pengelolaan skema, serta menghasilkan kode yang sadar database.
Anda dapat menggunakan Toolbox di IDE atau klien mana pun yang kompatibel dengan MCP (misalnya, Gemini CLI, Google Antigravity, Claude Code, Codex, dll.) dengan mengonfigurasi server MCP.
Alat bawaan juga tersedia dengan mudah melalui Google Antigravity MCP Store dengan pengalaman klik-untuk-instal yang sederhana.
-
Tambahkan berikut ini 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" ] } } } -
Atur variabel lingkungan yang sesuai untuk terhubung, lihat Referensi Alat Bawaan.
Saat Anda menjalankan Toolbox dengan flag --prebuilt=<database>, Anda langsung mendapatkan akses ke alat standar untuk berinteraksi dengan database tersebut. Anda juga dapat menentukan toolset tertentu menggunakan sintaks --prebuilt=<database>/<toolset> (misalnya, --prebuilt=postgres/data untuk hanya memuat alat 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 alat yang tersedia dan kemampuannya di semua database yang didukung, lihat Referensi Alat Bawaan.
Lihat bagian Instal & Jalankan server Toolbox untuk metode eksekusi yang berbeda seperti Docker atau biner.
[!TIP] Bagi pengguna yang mencari solusi terkelola, Google Cloud MCP Servers menyediakan pengalaman MCP terkelola dengan alat bawaan; Anda dapat mempelajari lebih lanjut tentang perbedaannya di sini.
Memulai Cepat: Alat Kustom
Toolbox juga dapat digunakan sebagai framework untuk alat 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 rinci untuk semua jenis sumber daya di Resources.
Sumber
Bagian sources dari tools.yaml Anda mendefinisikan sumber data yang
harus diakses oleh Toolbox Anda. Sebagian besar alat 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 mengonfigurasi berbagai jenis sumber, lihat Sumber.
Alat
Bagian tools dari tools.yaml mendefinisikan tindakan yang dapat dilakukan agen: jenis
alat apa itu, sumber mana yang terpengaruh, parameter apa yang digunakan, 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 mengonfigurasi berbagai jenis alat, lihat Alat.
Toolset
Bagian toolsets dari tools.yaml Anda memungkinkan Anda mendefinisikan grup alat
yang ingin Anda muat bersama. Ini dapat 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 mengonfigurasi prompt, lihat Prompt.
Sumber Daya
Bagian resources dan resourceTemplates dari tools.yaml Anda mendefinisikan konten
hanya-baca, file, atau pohon direktori berparameter yang dapat ditemukan dan 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 lebih lanjut tentang mengonfigurasi sumber daya dan template sumber daya, lihat Sumber Daya.
Instal & Jalankan server Toolbox
Anda dapat menjalankan Toolbox 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 kenyamanan daripada kinerja. Untuk instalasi yang lebih standar dan andal, 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 untuk 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.12.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.12.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.12.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.12.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.12.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.12.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.12.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.12.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 terinstal, lalu jalankan perintah berikut:
go install github.com/googleapis/mcp-toolbox@v1.12.0
Gemini CLI
Lihat [ekstensi Gemini CLI](https://geminicli.com/extensions/) untuk menginstal alat 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 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 mendefinisikan 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 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-vmemasangtools.yamllokal Anda ke dalam kontainer, dan-pmemetakan port kontainer5000ke port host Anda5000.
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$GOPATHAnda. Jika Anda ingin mengompilasi biner sebagai gantinya, 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 yang telah dibuat sebelumnya 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 detail tentang penerapan ke berbagai lingkungan, lihat sumber daya di https://mcp-toolbox.dev/documentation/deploy-to/
Hubungkan 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 daftar SDK Klien di bawah ini untuk menggunakan berbagai kerangka kerja:
Python (Github)
Core
Instal Toolbox Core SDK:
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 instruksi lebih detail tentang penggunaan Toolbox Core SDK, lihat README proyek.
LangChain / LangGraph
Instal Toolbox LangChain SDK:
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 instruksi lebih detail tentang penggunaan Toolbox LangChain SDK, lihat README proyek.
LlamaIndex
Instal Toolbox Llamaindex SDK:
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 instruksi lebih detail tentang penggunaan Toolbox Llamaindex SDK, lihat README proyek.
Javascript/Typescript (Github)
Core
Instal Toolbox Core SDK:
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 instruksi lebih detail tentang penggunaan Toolbox Core SDK, lihat README proyek.
LangChain / LangGraph
Instal Toolbox Core SDK:
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 Toolbox Core SDK:
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 Toolbox ADK SDK:
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 instruksi lebih detail tentang penggunaan Toolbox ADK SDK, lihat README proyek.
Go (Github)
Core
Instal Toolbox Go SDK:
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 instruksi lebih detail tentang penggunaan Toolbox Go SDK, lihat README proyek.
LangChain Go
Instal Toolbox Go SDK:
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 Toolbox Go SDK:
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 Toolbox Go SDK:
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 Toolbox Go SDK:
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 Toolbox Go SDK:
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 instruksi lebih detail tentang penggunaan Toolbox Go SDK, lihat README proyek.
Fitur Tambahan
Uji alat dengan Toolbox UI
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 dokumen telemetri untuk detail.
Hasilkan 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 Gemini CLI:
gemini skills install ./skills/my-skill
Untuk detail lebih lanjut, lihat panduan Hasilkan Agent Skills.
Repositori ini juga menyertakan Agent Skills siap pakai (misalnya alur kerja maintainer). Lihat skills/ untuk katalog dan instruksi instalasi.
Versioning
MCP Toolbox for Databases mengikuti Semantic Versioning.
API Publik mencakup Toolbox Server (CLI, manifest konfigurasi, dan toolset yang telah dibuat sebelumnya) dan SDK Klien.
- Versi mayor ditingkatkan untuk perubahan yang merusak, seperti perubahan CLI atau manifest yang tidak kompatibel.
- Versi minor ditingkatkan untuk fitur baru, termasuk modifikasi pada toolset yang telah dibuat sebelumnya atau fitur beta.
- Versi patch ditingkatkan untuk perbaikan bug yang kompatibel mundur.
Untuk detail lebih lanjut, lihat Kebijakan Versioning Lengkap.
Berkontribusi
Kontribusi sangat diterima. Silakan lihat panduan CONTRIBUTING untuk memulai.
Untuk detail teknis tentang menyiapkan lingkungan untuk pengembangan 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 kami untuk terhubung dengan pengembang kami!
