MCP Toolbox for Databases
resmiVeritabanları için kolay, hızlı ve güvenli araçlar konusunda uzmanlaşmış açık kaynaklı MCP sunucusu.
Toolbox For Databases MCP ile neler yapabilirsiniz?
- Veritabanı şemalarını keşfedin — Yapay zekâ asistanınızdan
list_tablesgibi önceden oluşturulmuş araçları kullanarak tabloları listelemesini ve şema ayrıntılarını incelemesini isteyin. - SQL sorgularını günlük dille çalıştırın — Bağlantı kodu yazmadan,
execute_sqlaracılığıyla verilerinizi sohbet ederek sorgulayın. - Desteklenen veritabanlarına anında bağlanın — MCP istemcinizi
mcp.jsonveyaclaude_desktop_config.jsonüzerinden PostgreSQL, BigQuery, MySQL, Spanner ya da AlloyDB gibi veritabanlarına yönlendirin. - Özel araçlar tanımlayın — Üretim ortamındaki ajanlar için yapılandırılmış sorguları, anlamsal aramayı ve NL2SQL araçlarını bir
tools.yamldosyasında yapılandırın. - Araçları araç kümelerinde gruplayın — Yapılandırmanızın
toolsetsbölümünü kullanarak her ajan veya uygulama için belirli araç gruplarını yükleyin.
Dokümantasyon
MCP Toolbox for Databases, yapay zekâ ajanlarınızı, IDE'lerinizi ve uygulamalarınızı kurumsal veritabanlarınıza doğrudan bağlayan açık kaynaklı bir Model Context Protocol (MCP) sunucusudur.
İki temel amaca hizmet eder:
- Kullanıma hazır MCP Sunucusu (Derleme Zamanı): Önceden oluşturulmuş genel amaçlı araçlarımızı kullanarak Gemini CLI, Google Antigravity, Claude Code, Codex veya diğer MCP istemcilerini veritabanlarınıza anında bağlayın. Verilerinizle konuşun, şemaları keşfedin ve kalıp kod yazmadan kod oluşturun.
- Özel Araçlar Çerçevesi (Çalışma Zamanı): Üretim ortamındaki ajanlarınız için özelleştirilmiş, son derece güvenli yapay zekâ araçları oluşturmanızı sağlayan güçlü bir çerçeve. Yapılandırılmış sorguları, anlamsal aramayı ve NL2SQL özelliklerini güvenli ve kolay bir şekilde tanımlayın.
Bu README kısa bir genel bakış sunar. Ayrıntılı bilgi için tam belgelere bakın.
[!IMPORTANT]
Depo Adı Güncellemesi:genai-toolboxdeposunun adı resmî olarakmcp-toolboxolarak değiştirildi. Yerel ortamınızın yeni adı yansıtmasını sağlamak için uzak depoyu güncelleyebilirsiniz:git remote set-url origin https://github.com/googleapis/mcp-toolbox.git
[!NOTE] Bu çözüm başlangıçta “Gen AI Toolbox for Databases” (github.com/googleapis/genai-toolbox) olarak adlandırılmıştı; ilk geliştirme çalışmaları MCP'den önce başladığı için adı MCP uyumluluğunu yansıtacak şekilde değiştirildi.
İçindekiler
- Neden MCP Toolbox?
- Hızlı Başlangıç: Önceden Oluşturulmuş Araçlar
- Hızlı Başlangıç: Özel Araçlar
- Toolbox sunucusunu yükleme ve çalıştırma
- Toolbox'a bağlanma
- Ek Özellikler
- Sürüm oluşturma
- Katkıda bulunma
- Topluluk
Neden MCP Toolbox?
- Kutudan Çıkar Çıkmaz Veritabanı Erişimi: IDE'nizden veya CLI'nizden doğrudan anında veri keşfi için önceden oluşturulmuş genel amaçlı araçlar (ör.
list_tables,execute_sql). - Özel Araçlar Çerçevesi: Kısıtlı Erişim, Yapılandırılmış Sorgular ve Anlamsal Arama ile güvenliği sağlayarak kendi önceden tanımlanmış mantığınızı kullanan, üretime hazır araçlar oluşturun.
- Basitleştirilmiş Geliştirme: Araçları Agent Development Kit (ADK), LangChain, LlamaIndex veya özel ajanlarınıza 10 satırdan kısa kodla entegre edin.
- Daha İyi Performans: Bağlantı havuzunu, entegre kimlik doğrulamayı (IAM) ve uçtan uca gözlemlenebilirliği (OpenTelemetry) kutudan çıkar çıkmaz sağlar.
- Gelişmiş Güvenlik: Verilerinize daha güvenli erişim için entegre kimlik doğrulama.
- Uçtan Uca Gözlemlenebilirlik: OpenTelemetry için yerleşik destekle kutudan çıkar çıkmaz ölçümler ve izleme.
Hızlı Başlangıç: Önceden Oluşturulmuş Araçlar
Bağlam değiştirmeyi bırakın ve yapay zekâ asistanınızın gerçek bir ortak geliştirici olmasını sağlayın. IDE'nizi MCP Toolbox ile veritabanlarınıza bağlayarak verilerinizi günlük dille sorgulayabilir, şema keşfini ve yönetimini otomatikleştirebilir ve veritabanınızı dikkate alan kodlar oluşturabilirsiniz.
MCP sunucusunu yapılandırarak Toolbox'ı MCP uyumlu tüm IDE veya istemcilerde (ör. Gemini CLI, Google Antigravity, Claude Code, Codex vb.) kullanabilirsiniz.
Önceden oluşturulmuş araçlar, tek tıklamayla yükleme olanağı sunan Google Antigravity MCP Store üzerinden de kolayca kullanılabilir.
-
İstemcinizin MCP yapılandırma dosyasına (genellikle
mcp.jsonveyaclaude_desktop_config.json) aşağıdakileri ekleyin:{ "mcpServers": { "toolbox-postgres": { "command": "npx", "args": [ "-y", "@toolbox-sdk/server", "--prebuilt=postgres", "--stdio" ] } } } -
Bağlanmak için uygun ortam değişkenlerini ayarlayın; Önceden Oluşturulmuş Araçlar Başvurusu bölümüne bakın.
Toolbox'ı --prebuilt=<database> işaretiyle çalıştırdığınızda, ilgili veritabanıyla etkileşim kurmak için standart araçlara anında erişirsiniz. Ayrıca yalnızca belirli bir araç kümesini yüklemek için --prebuilt=<database>/<toolset> söz dizimini de belirtebilirsiniz (ör. yalnızca SQL araçlarını yüklemek için --prebuilt=postgres/data).
Şu anda desteklenen veritabanları:
- Google Cloud: AlloyDB, BigQuery, Cloud SQL (PostgreSQL, MySQL, SQL Server), Spanner, Firestore, Knowledge Catalog (önceden Dataplex olarak biliniyordu).
- Diğer Veritabanları: PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, MongoDB, Redis, Elasticsearch, CockroachDB, ClickHouse, Couchbase, Neo4j, Snowflake, Trino ve daha fazlası.
Desteklenen tüm veritabanlarında kullanılabilen araçların ve özelliklerinin tam listesi için Önceden Oluşturulmuş Araçlar Başvurusu bölümüne bakın.
Docker veya ikili dosyalar gibi farklı çalıştırma yöntemleri için Toolbox sunucusunu yükleme ve çalıştırma bölümüne bakın.
[!TIP] Yönetilen bir çözüm arayan kullanıcılar için Google Cloud MCP Servers, önceden oluşturulmuş araçlarla yönetilen bir MCP deneyimi sunar; farklılıklar hakkında daha fazla bilgi edinebilirsiniz.
Hızlı Başlangıç: Özel Araçlar
Toolbox, özelleştirilmiş araçlar için bir çerçeve olarak da kullanılabilir.
Toolbox'ı yapılandırmanın temel yolu tools.yaml dosyasıdır. Birden fazla dosyanız
varsa, Toolbox'a hangisini yükleyeceğini --config tools.yaml işaretiyle belirtebilirsiniz.
Tüm kaynak türleriyle ilgili daha ayrıntılı başvuru belgelerini Kaynaklar bölümünde bulabilirsiniz.
Kaynaklar
tools.yaml dosyanızın sources bölümü, Toolbox'ınızın hangi veri kaynaklarına
erişebileceğini tanımlar. Çoğu aracın üzerinde çalışacağı en az bir kaynağı
olur.
kind: source
name: my-pg-source
type: postgres
host: 127.0.0.1
port: 5432
database: toolbox_db
user: toolbox_user
password: my-password
Farklı kaynak türlerini yapılandırma hakkında daha fazla bilgi için Kaynaklar bölümüne bakın.
Araçlar
Bir tools.yaml dosyasının tools bölümü, bir ajanın gerçekleştirebileceği eylemleri tanımlar: aracın türü, hangi kaynakları etkilediği, kullandığı parametreler vb.
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 || '%';
Farklı araç türlerini yapılandırma hakkında daha fazla bilgi için Araçlar bölümüne bakın.
Araç kümeleri
tools.yaml dosyanızın toolsets bölümü, birlikte yüklemek istediğiniz araç gruplarını tanımlamanızı sağlar. Bu, ajan veya uygulamaya göre farklı gruplar tanımlamak için yararlı olabilir.
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
İstemler
Bir tools.yaml dosyasının prompts bölümü, LLM'lerle etkileşimlerde kullanılabilecek istemleri tanımlar.
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"
İstemleri yapılandırma hakkında daha fazla bilgi için İstemler bölümüne bakın.
Kaynaklar
tools.yaml dosyanızın resources ve resourceTemplates bölümleri, MCP istemcileri tarafından keşfedilip alınabilen salt okunur içeriği, dosyaları veya parametreli dizin ağaçlarını tanımlar:
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"
Kaynakları ve kaynak şablonlarını yapılandırma hakkında daha fazla bilgi için Kaynaklar bölümüne bakın.
Toolbox sunucusunu yükleme ve çalıştırma
Toolbox'ı doğrudan bir yapılandırma dosyası ile çalıştırabilirsiniz:
npx @toolbox-sdk/server --config tools.yaml
Bu komut, Toolbox sunucusunun en son sürümünü yapılandırma dosyanızla çalıştırır.
[!NOTE] Bu yöntem performanstan çok kullanım kolaylığı için optimize edilmiştir. Daha standart ve güvenilir bir kurulum için Toolbox sunucusunu yükleme ve çalıştırma bölümünde açıklandığı gibi ikili dosyayı veya kapsayıcı görüntüsünü kullanın.
Toolbox'ı yükleme
En son sürüm için sürümler sayfasını kontrol edin ve işletim sisteminiz ile CPU mimarinize uygun aşağıdaki talimatları uygulayın.
İkili dosya
Toolbox'ı ikili dosya olarak yüklemek için:
Linux (AMD64)
Toolbox'ı Linux (AMD64) üzerinde ikili dosya olarak yüklemek için:
# diğer sürümler için sürümler sayfasına bakın export VERSION=1.15.0 curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/linux/amd64/toolbox chmod +x toolboxmacOS (Apple Silicon)
Toolbox'ı macOS (Apple Silicon) üzerinde ikili dosya olarak yüklemek için:
# diğer sürümler için sürümler sayfasına bakın export VERSION=1.15.0 curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/darwin/arm64/toolbox chmod +x toolboxmacOS (Intel)
Toolbox'ı macOS (Intel) üzerinde ikili dosya olarak yüklemek için:
# diğer sürümler için sürümler sayfasına bakın export VERSION=1.15.0 curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/darwin/amd64/toolbox chmod +x toolboxWindows (Komut İstemi)
Toolbox'ı Windows (Komut İstemi) üzerinde ikili dosya olarak yüklemek için:
:: diğer sürümler için sürümler sayfasına bakın set VERSION=1.15.0 curl -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v%VERSION%/windows/amd64/toolbox.exe"Windows (PowerShell)
Toolbox'ı Windows (PowerShell) üzerinde ikili dosya olarak yüklemek için:
# diğer sürümler için sürümler sayfasına bakın $VERSION = "1.15.0" curl.exe -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/windows/amd64/toolbox.exe"Windows ARM64 (Komut İstemi)
Toolbox'ı Windows ARM64 (Komut İstemi) üzerinde ikili dosya olarak yüklemek için:
:: diğer sürümler için sürümler sayfasına bakın set VERSION=1.15.0 curl -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v%VERSION%/windows/arm64/toolbox.exe"Windows ARM64 (PowerShell)
Toolbox'ı Windows ARM64 (PowerShell) üzerinde ikili dosya olarak yüklemek için:
# diğer sürümler için sürümler sayfasına bakın $VERSION = "1.15.0" curl.exe -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/windows/arm64/toolbox.exe"
Kapsayıcı görüntüsü
Toolbox'ı kapsayıcı olarak da yükleyebilirsiniz:# see releases page for other versions
export VERSION=1.15.0
docker pull us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:$VERSION
Homebrew
Toolbox'ı macOS veya Linux'ta Homebrew kullanarak yüklemek için:
brew install mcp-toolbox
Kaynak koddan derleme
Kaynak koddan yüklemek için Go'nun en son sürümünün yüklü olduğundan emin olun ve ardından şu komutu çalıştırın:
go install github.com/googleapis/mcp-toolbox@v1.15.0
Gemini CLI
AlloyDB, BigQuery ve Cloud SQL gibi belirli veritabanları için önceden oluşturulmuş araçları doğrudan Gemini CLI'ye yüklemek üzere [Gemini CLI uzantılarına](https://geminicli.com/extensions/) göz atın.# 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
Gemini CLI üzerinden özel araçlarınızla doğal dil kullanarak etkileşim kurun.
# Install the extension
gemini extensions install https://github.com/gemini-cli-extensions/mcp-toolbox
Toolbox'ı çalıştırma
Araçlarınızı tanımlamak için bir tools.yaml yapılandırın, ardından sunucuyu başlatmak için toolbox komutunu çalıştırın:
İkili dosya
Toolbox'ı ikili dosyadan çalıştırmak için:
./toolbox --config "tools.yaml"
ⓘ Not
Toolbox, dinamik yeniden yüklemeyi varsayılan olarak etkinleştirir. Devre dışı bırakmak için--disable-reloadişaretini kullanın.
Kapsayıcı görüntüsü
Kapsayıcı görüntüsünü çektikten sonra sunucuyu çalıştırmak için:
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"
ⓘ Not
-vişareti yereltools.yamldosyanızı kapsayıcıya bağlar;-pise kapsayıcının5000bağlantı noktasını ana makinenizin5000bağlantı noktasına eşler.
Kaynak kod
Sunucuyu doğrudan kaynak koddan çalıştırmak için proje kök dizinine gidin ve şu komutu çalıştırın:
go run .
ⓘ Not
Bu komut projeyi kaynak koddan çalıştırır ve geliştirme ile test için daha uygundur.$GOPATHdizininizde ikili dosya derlemez. Bunun yerine ikili dosya derlemek istiyorsanız Geliştirici Belgeleri bölümüne bakın.
Homebrew
Toolbox'ı Homebrew kullanarak yüklediyseniz, toolbox
ikili dosyası sistem yolunuzda kullanılabilir. Sunucuyu aynı komutla başlatabilirsiniz:
toolbox --config "tools.yaml"
NPM
İkili dosyayı elle indirmeden Toolbox'ı doğrudan çalıştırmak için (Node.js gerekir):
npx @toolbox-sdk/server --config tools.yaml
Gemini CLI
Bir [Gemini CLI extensions](https://geminicli.com/extensions/) yükledikten sonra, önceden oluşturulmuş araçlar kullanım sırasında kullanılabilir olur.# Run Gemini CLI
gemini
# List extensions
/extensions list
# List MCP servers
/mcp list
Tüm işaretlerin listesini görmek için toolbox help kullanabilirsiniz! Sunucuyu durdurmak için bir
sonlandırma sinyali gönderin (çoğu platformda ctrl+c).
Farklı ortamlara dağıtım hakkında daha ayrıntılı belgeler için Toolbox'ı Dağıtma bölümündeki kaynaklara göz atın.
Toolbox'a bağlanma
Toolbox sunucunuz çalışmaya başladıktan sonra araçları MCP uyumlu istemcinize veya uygulamanıza yükleyebilirsiniz.
MCP istemcisi
MCP istemci yapılandırmanıza aşağıdaki yapılandırmayı ekleyin:
{
"mcpServers": {
"toolbox": {
"type": "http",
"url": "http://127.0.0.1:5000/mcp",
}
}
}
Belirli bir araç kümesine bağlanmak istiyorsanız url değerini "http://127.0.0.1:5000/mcp/{toolset_name}" ile değiştirin.
Toolbox SDK'ları: Uygulamanızla tümleştirme
Toolbox İstemci SDK'ları, özel uygulamalarınızı MCP Toolbox sunucusuna bağlamak için kullanımı kolay yapı taşları ve gelişmiş özellikler sunar. Çeşitli çerçeveleri kullanmaya yönelik İstemci SDK'larının listesi aşağıdadır:
Python (Github)
Core
Toolbox Core SDK paketini yükleyin:
pip install toolbox-coreAraçları yükleyin:
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")Toolbox Core SDK'yı kullanmaya ilişkin daha ayrıntılı talimatlar için projenin README dosyasına bakın.
LangChain / LangGraph
Toolbox LangChain SDK paketini yükleyin:
pip install toolbox-langchainAraçları yükleyin:
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()Toolbox LangChain SDK'yı kullanmaya ilişkin daha ayrıntılı talimatlar için projenin README dosyasına bakın.
LlamaIndex
Toolbox Llamaindex SDK paketini yükleyin:
pip install toolbox-llamaindexAraçları yükleyin:
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()Toolbox Llamaindex SDK'yı kullanmaya ilişkin daha ayrıntılı talimatlar için projenin README dosyasına bakın.
Javascript/Typescript (Github)
Core
Toolbox Core SDK paketini yükleyin:
npm install @toolbox-sdk/coreAraçları yükleyin:
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');Toolbox Core SDK'yı kullanmaya ilişkin daha ayrıntılı talimatlar için projenin README dosyasına bakın.
LangChain / LangGraph
Toolbox Core SDK paketini yükleyin:
npm install @toolbox-sdk/coreAraçları yükleyin:
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
Toolbox Core SDK paketini yükleyin:
npm install @toolbox-sdk/coreAraçları yükleyin:
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
Toolbox ADK SDK paketini yükleyin:
npm install @toolbox-sdk/adkAraçları yükleyin:
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');Toolbox ADK SDK'yı kullanmaya ilişkin daha ayrıntılı talimatlar için projenin README dosyasına bakın.
Go (Github)
Core
Toolbox Go SDK paketini yükleyin:
go get github.com/googleapis/mcp-toolbox-sdk-goAraçları yükleyin:
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) }Toolbox Go SDK'yı kullanmaya ilişkin daha ayrıntılı talimatlar için projenin README dosyasına bakın.
LangChain Go
Toolbox Go SDK paketini yükleyin:
go get github.com/googleapis/mcp-toolbox-sdk-goAraçları yükleyin:
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
Toolbox Go SDK paketini yükleyin:
go get github.com/googleapis/mcp-toolbox-sdk-goAraçları yükleyin:
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
Toolbox Go SDK paketini yükleyin:
go get github.com/googleapis/mcp-toolbox-sdk-goAraçları yükleyin:
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
Toolbox Go SDK paketini yükleyin:
go get github.com/googleapis/mcp-toolbox-sdk-goAraçları yükleyin:
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
Toolbox Go SDK paketini yükleyin:
go get github.com/googleapis/mcp-toolbox-sdk-goAraçları yükleyin:
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) } }Toolbox Go SDK'yı kullanmaya ilişkin daha ayrıntılı talimatlar için projenin README dosyasına bakın.
Ek özellikler
Toolbox kullanıcı arayüzüyle araçları test etme
Toolbox'ın etkileşimli kullanıcı arayüzünü başlatmak için --ui işaretini kullanın. Bu, yetkilendirilmiş parametreler gibi özelliklerle
araçları ve araç kümelerini test etmenizi sağlar. Daha fazla bilgi için
Toolbox kullanıcı arayüzü sayfasını ziyaret edin.
./toolbox --ui
Telemetri
Toolbox, OpenTelemetry aracılığıyla izleri ve ölçümleri gönderir. Google Cloud Monitoring, Agnost AI veya
diğerleri gibi OTLP uyumlu herhangi bir arka uca dışa aktarmak için --telemetry-otlp=<endpoint> kullanın.
Ayrıntılar için telemetri belgelerine bakın.
Agent Skills oluşturma
skills-generate komutu, bir araç kümesini Agent Skill belirtimi ile uyumlu bir Agent Skill'e dönüştürmenizi sağlar. Bu, araçları taşınabilir beceri paketleri olarak dağıtmak için kullanışlıdır.
toolbox --config tools.yaml skills-generate \
--name "my-skill" \
--toolset "my_toolset" \
--description "A skill containing multiple tools"
Oluşturduktan sonra beceriyi Gemini CLI'ye yükleyebilirsiniz:
gemini skills install ./skills/my-skill
Daha fazla bilgi için Beceri Oluşturma kılavuzuna bakın. Sahip olduğunuz bir beceriyi MCP üzerinden sunmak için Becerileri MCP üzerinden sunma sayfasına bakın.
Depoda ayrıca kullanıma hazır Agent Skills (ör. bakım iş akışları) bulunur. Katalog ve yükleme talimatları için skills/ sayfasına bakın.
Sürüm oluşturma
MCP Toolbox for Databases, Anlamsal Sürüm Oluşturma kurallarını izler.
Genel API; Toolbox Server'ı (CLI, yapılandırma manifestleri ve önceden oluşturulmuş araç kümeleri) ve İstemci SDK'larını kapsar.
- Ana sürüm numaraları, uyumsuz CLI veya manifest değişiklikleri gibi geriye dönük uyumluluğu bozan değişikliklerde artırılır.
- Ara sürüm numaraları, önceden oluşturulmuş araç kümelerinde yapılan değişiklikler veya beta özellikleri dâhil olmak üzere yeni özellikler eklendiğinde artırılır.
- Yama sürüm numaraları, geriye dönük uyumlu hata düzeltmelerinde artırılır.
Container Tagging Policy dâhil daha fazla bilgi için Tam Sürüm Oluşturma Politikamıza bakın.
Katkıda bulunma
Katkılarınızı bekliyoruz. Başlamak için lütfen CONTRIBUTING kılavuzuna bakın.
Toolbox'ın kendisini geliştirmek için bir ortam kurmaya ilişkin teknik ayrıntılar için DEVELOPER kılavuzuna bakın.
Bu projenin Katkıda Bulunanlar Davranış Kuralları ile yayımlandığını lütfen unutmayın. Bu projeye katılarak kurallarına uymayı kabul etmiş olursunuz. Daha fazla bilgi için Katkıda Bulunanlar Davranış Kuralları sayfasına bakın.
Topluluk
Geliştiricilerimizle bağlantı kurmak için Discord topluluğumuza katılın!
