MCP Toolbox for Databases Server
resmiVeritabanları için kolay, hızlı ve güvenli araçlar konusunda uzmanlaşmış açık kaynaklı MCP sunucusu.
Dokümantasyon
Veritabanları için MCP Araç Kutusu, yapay zeka ajanlarınızı, IDE'lerinizi ve uygulamalarınızı doğrudan kurumsal veritabanlarınıza bağlayan açık kaynaklı bir Model Bağlam Protokolü (MCP) sunucusudur.
İkili bir amaca hizmet eder:
- Kullanıma Hazır MCP Sunucusu (Derleme Zamanı): Önceden oluşturulmuş genel araçlarımızı kullanarak Gemini CLI, Google Antigravity, Claude Code, Codex veya diğer MCP istemcilerini anında veritabanlarınıza bağlayın. Verilerinizle konuşun, şemaları keşfedin ve kalıp kod yazmadan kod üretin.
- Özel Araç Çerçevesi (Çalışma Zamanı): Üretim ajanlarınız için özelleşmiş, yüksek güvenlikli yapay zeka araçları oluşturmak için sağlam bir çerçeve. Yapılandırılmış sorguları, anlamsal aramayı ve NL2SQL yeteneklerini güvenli ve kolay bir şekilde tanımlayın.
Bu BENİOKU dosyası kısa bir genel bakış sunar. Kapsamlı ayrıntılar için tam belgelendirmeye bakın.
[!ÖNEMLİ]
Depo Adı Güncellemesi:genai-toolboxdeposu resmi olarakmcp-toolboxolarak yeniden adlandırıldı. Yerel ortamınızın yeni adı yansıtmasını sağlamak için uzak bağlantınızı güncelleyebilirsiniz:git remote set-url origin https://github.com/googleapis/mcp-toolbox.git
[!NOT] Bu çözüm başlangıçta “Gen AI Toolbox for Databases” (github.com/googleapis/genai-toolbox) olarak adlandırılmıştı, çünkü ilk geliştirmesi MCP'den önceye dayanıyordu, ancak MCP uyumluluğuna uygun olarak yeniden adlandırıldı.
İçindekiler
- Neden MCP Araç Kutusu?
- Hızlı Başlangıç: Önceden Oluşturulmuş Araçlar
- Hızlı Başlangıç: Özel Araçlar
- Araç Kutusu Sunucusunu Kur ve Çalıştır
- Araç Kutusuna Bağlan
- Ek Özellikler
- Sürümleme
- Katkıda Bulunma
- Topluluk
Neden MCP Araç Kutusu?
- Kutudan Çıkar Çıkmaz Veritabanı Erişimi: IDE'nizden veya CLI'nızdan anında veri keşfi için önceden oluşturulmuş genel araçlar (örn.
list_tables,execute_sql). - Özel Araç Çerçevesi: Kısıtlı Erişim, Yapılandırılmış Sorgular ve Anlamsal Arama yoluyla güvenliği sağlayarak, kendi önceden tanımlanmış mantığınızla ü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 az kodla entegre edin.
- Daha İyi Performans: Bağlantı havuzlama, entegre kimlik doğrulama (IAM) ve uçtan uca gözlemlenebilirliği (OpenTelemetry) kutudan çıkar çıkmaz yönetir.
- 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 metrikler ve izleme.
Hızlı Başlangıç: Önceden Oluşturulmuş Araçlar
Bağlam değiştirmeyi bırakın ve yapay zeka asistanınızın gerçek bir ortak geliştirici olmasına izin verin. IDE'nizi MCP Araç Kutusu ile veritabanlarınıza bağlayarak, verilerinizi düz İngilizce ile sorgulayabilir, şema keşfini ve yönetimini otomatikleştirebilir ve veritabanı farkında kod üretebilirsiniz.
Araç Kutusunu, MCP sunucusunu yapılandırarak herhangi bir MCP uyumlu IDE veya istemcide (örn. Gemini CLI, Google Antigravity, Claude Code, Codex, vb.) kullanabilirsiniz.
Önceden oluşturulmuş araçlar, basit bir tıkla-kur deneyimi ile Google Antigravity MCP Mağazası aracılığıyla da kullanışlı bir şekilde sunulmaktadır.
-
İstemcinizin MCP yapılandırma dosyasına (genellikle
mcp.jsonveyaclaude_desktop_config.json) aşağıdakini 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 Referansı bölümüne bakın.
Araç Kutusunu bir --prebuilt=<database> bayrağı ile çalıştırdığınızda, o veritabanıyla etkileşim kurmak için standart araçlara anında erişirsiniz. Ayrıca --prebuilt=<database>/<toolset> sözdizimini kullanarak belirli bir araç seti de belirtebilirsiniz (örn. yalnızca SQL araçlarını yüklemek için --prebuilt=postgres/data).
Şu anda desteklenen veritabanları şunları içerir:
- Google Cloud: AlloyDB, BigQuery, Cloud SQL (PostgreSQL, MySQL, SQL Server), Spanner, Firestore, Knowledge Catalog (eski adıyla Dataplex).
- 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ındaki mevcut araçların ve yeteneklerinin tam listesi için Önceden Oluşturulmuş Araçlar Referansı bölümüne bakın.
Docker veya ikili dosyalar gibi farklı yürütme yöntemleri için Araç Kutusu Sunucusunu Kur ve Çalıştır bölümüne bakın.
[!İPUCU] Yönetilen bir çözüm arayan kullanıcılar için, Google Cloud MCP Sunucuları önceden oluşturulmuş araçlarla yönetilen bir MCP deneyimi sağlar; farklar hakkında buradan daha fazla bilgi edinebilirsiniz.
Hızlı Başlangıç: Özel Araçlar
Araç Kutusu, özelleştirilmiş araçlar için bir çerçeve olarak da kullanılabilir.
Araç Kutusunu yapılandırmanın birincil yolu tools.yaml dosyasıdır. Birden
fazla dosyanız varsa, Araç Kutusuna hangisini yükleyeceğini --config tools.yaml bayrağı ile söyleyebilirsiniz.
Tüm kaynak türleri için daha ayrıntılı referans belgelendirmesini Kaynaklar bölümünde bulabilirsiniz.
Kaynaklar
sources bölümü, tools.yaml dosyanızda Araç Kutunuzun
hangi veri kaynaklarına erişmesi gerektiğini tanımlar. Çoğu araç, üzerinde
yürütme yapmak için en az bir kaynağa sahip olacaktır.
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 ayrıntı 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: ne
tür bir araç olduğu, hangi kaynağı/kaynakları etkilediği, hangi parametreleri kullandığı 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 ayrıntı için Araçlar bölümüne bakın.
Araç Setleri
tools.yaml dosyanızın toolsets bölümü, birlikte yüklemek
isteyebileceğiniz araç gruplarını tanımlamanıza olanak tanır. Bu, ajana 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şimler için 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 ayrıntı için İstemler bölümüne bakın.
Araç Kutusu Sunucusunu Kur ve Çalıştır
Araç Kutusunu doğrudan bir yapılandırma dosyası ile çalıştırabilirsiniz:
npx @toolbox-sdk/server --config tools.yaml
Bu, Araç Kutusu sunucusunun en son sürümünü yapılandırma dosyanızla çalıştırır.
[!NOT] Bu yöntem, performanstan çok kolaylık için optimize edilmiştir. Daha standart ve güvenilir bir kurulum için, lütfen Araç Kutusu Sunucusunu Kur ve Çalıştır bölümünde açıklandığı gibi ikili dosyayı veya konteyner imajını kullanın.
Araç Kutusunu Kur
En son sürüm için sürümler sayfasına bakın ve işletim sisteminiz ve CPU mimariniz için aşağıdaki talimatları kullanın.
İkili Dosya
Araç Kutusunu ikili dosya olarak kurmak için:
Linux (AMD64)
Araç Kutusunu Linux'ta (AMD64) ikili dosya olarak kurmak için:
# diğer sürümler için sürümler sayfasına bakın export VERSION=1.4.0 curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/linux/amd64/toolbox chmod +x toolboxmacOS (Apple Silicon)
Araç Kutusunu macOS'ta (Apple Silicon) ikili dosya olarak kurmak için:
# diğer sürümler için sürümler sayfasına bakın export VERSION=1.4.0 curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/darwin/arm64/toolbox chmod +x toolboxmacOS (Intel)
Araç Kutusunu macOS'ta (Intel) ikili dosya olarak kurmak için:
# diğer sürümler için sürümler sayfasına bakın export VERSION=1.4.0 curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/darwin/amd64/toolbox chmod +x toolboxWindows (Komut İstemi)
Araç Kutusunu Windows'ta (Komut İstemi) ikili dosya olarak kurmak için:
:: diğer sürümler için sürümler sayfasına bakın set VERSION=1.4.0 curl -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v%VERSION%/windows/amd64/toolbox.exe"Windows (PowerShell)
Araç Kutusunu Windows'ta (PowerShell) ikili dosya olarak kurmak için:
# diğer sürümler için sürümler sayfasına bakın $VERSION = "1.4.0" curl.exe -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/windows/amd64/toolbox.exe"Windows ARM64 (Komut İstemi)
Araç Kutusunu Windows ARM64'te (Komut İstemi) ikili dosya olarak kurmak için:
:: diğer sürümler için sürümler sayfasına bakın set VERSION=1.4.0 curl -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v%VERSION%/windows/arm64/toolbox.exe"Windows ARM64 (PowerShell)
Araç Kutusunu Windows ARM64'te (PowerShell) ikili dosya olarak kurmak için:
# diğer sürümler için sürümler sayfasına bakın $VERSION = "1.4.0" curl.exe -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/windows/arm64/toolbox.exe"
Konteyner İmajı
Araç Kutusunu bir konteyner olarak da kurabilirsiniz:# see releases page for other versions
export VERSION=1.4.0
docker pull us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:$VERSION
Homebrew
Araç Kutusunu macOS veya Linux'ta Homebrew kullanarak kurmak için:
brew install mcp-toolbox
Kaynaktan Derle
Kaynaktan kurmak için, Go'nun en son sürümünün yüklü olduğundan emin olun ve ardından aşağıdaki komutu çalıştırın:
go install github.com/googleapis/[email protected]
Gemini CLI
AlloyDB, BigQuery ve Cloud SQL gibi belirli veritabanları için önceden oluşturulmuş araçları doğrudan Gemini CLI'ya 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 aracılığıyla doğal dil kullanarak özel araçlarınızla etkileşim kurun.
# Install the extension
gemini extensions install https://github.com/gemini-cli-extensions/mcp-toolbox
Araç Kutusunu Çalıştır
Araçlarınızı tanımlamak için bir tools.yaml yapılandırın ve ardından
sunucuyu başlatmak için toolbox komutunu yürütün:
İkili Dosya
Araç Kutusunu ikili dosyadan çalıştırmak için:
./toolbox --config "tools.yaml"
ⓘ Not
Araç Kutusu varsayılan olarak dinamik yeniden yüklemeyi etkinleştirir. Devre dışı bırakmak için--disable-reloadbayrağını kullanın.
Konteyner İmajı
Konteyner imajı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
-vbayrağı yereltools.yamldosyanızı konteynere bağlar ve-p, konteynerin5000portunu ana makinenizin5000portuna eşler.
Kaynak
Sunucuyu doğrudan kaynaktan çalıştırmak için, proje kök dizinine gidin ve şunu çalıştırın:
go run .
ⓘ Not
Bu komut projeyi kaynaktan çalıştırır ve geliştirme ve test için daha uygundur.$GOPATHdizininize bir ikili dosya derlemez. Bunun yerine bir ikili dosya derlemek istiyorsanız, Geliştirici Belgelerine bakın.
Homebrew
Araç Kutusunu Homebrew kullanarak kurduysanız, toolbox
ikili dosyası sistem yolunuzda mevcuttur. Sunucuyu aynı komutla
başlatabilirsiniz:
toolbox --config "tools.yaml"
NPM
Toolbox'ı binary dosyayı manuel olarak indirmeden doğrudan çalıştırmak için (Node.js gerektirir): ```sh npx @toolbox-sdk/server --config tools.yaml ```Gemini CLI
Bir [Gemini CLI uzantısı](https://geminicli.com/extensions/) yükledikten sonra, önceden oluşturulmuş araçlar kullanım sırasında hazır olacaktır.# Run Gemini CLI
gemini
# List extensions
/extensions list
# List MCP servers
/mcp list
Tam bayrak listesi 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ğıtım bölümündeki kaynaklara göz atın.
Toolbox'a Bağlanma
Toolbox sunucunuz çalışır duruma geldiğinde, araçları MCP uyumlu istemcinize veya uygulamanıza yükleyebilirsiniz.
MCP İstemcisi
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ç setine bağlanmak isterseniz, url'yi "http://127.0.0.1:5000/mcp/{toolset_name}" ile değiştirin.
Toolbox SDK'ları: Uygulamanızla Entegre Edin
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 kullanmak için İstemci SDK'larının listesini aşağıda görebilirsiniz:
Python (Github)
Core
Toolbox Core SDK'ı 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ı kullanma hakkında daha ayrıntılı talimatlar için projenin README dosyasına bakın.
LangChain / LangGraph
Toolbox LangChain SDK'ı 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ı kullanma hakkında daha ayrıntılı talimatlar için projenin README dosyasına bakın.
LlamaIndex
Toolbox Llamaindex SDK'ı 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ı kullanma hakkında daha ayrıntılı talimatlar için projenin README dosyasına bakın.
Javascript/Typescript (Github)
Core
Toolbox Core SDK'ı 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ı kullanma hakkında daha ayrıntılı talimatlar için projenin README dosyasına bakın.
LangChain / LangGraph
Toolbox Core SDK'ı 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'ı 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'ı 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ı kullanma hakkında daha ayrıntılı talimatlar için projenin README dosyasına bakın.
Go (Github)
Core
Toolbox Go SDK'ı 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ı kullanma hakkında daha ayrıntılı talimatlar için projenin README dosyasına bakın.
LangChain Go
Toolbox Go SDK'ı 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'ı 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'ı 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'ı 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'ı 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ı kullanma hakkında daha ayrıntılı talimatlar için projenin README dosyasına bakın.
Ek Özellikler
Araçları Toolbox Kullanıcı Arayüzü ile Test Etme
Toolbox'ın etkileşimli kullanıcı arayüzünü başlatmak için --ui bayrağını kullanın. Bu, yetkilendirilmiş parametreler gibi özelliklerle araçları ve araç setlerini test etmenizi sağlar. Daha fazla bilgi edinmek için
Toolbox Kullanıcı Arayüzü sayfasını ziyaret edin.
./toolbox --ui
Telemetri
Toolbox, OpenTelemetry aracılığıyla izler ve metrikler yayar. Google Cloud Monitoring, Agnost AI veya diğerleri gibi herhangi bir OTLP uyumlu arka uca dışa aktarmak için --telemetry-otlp=<endpoint> kullanın. Ayrıntılar için telemetri belgelerine bakın.
Ajan Becerileri Oluşturma
skills-generate komutu, bir araç setini, Ajan Beceri şartnamesi ile uyumlu bir Ajan Becerisine 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şturulduktan sonra, beceriyi Gemini CLI'ye yükleyebilirsiniz:
gemini skills install ./skills/my-skill
Daha fazla ayrıntı için Ajan Becerileri Oluşturma kılavuzuna bakın.
Sürümleme
MCP Toolbox for Databases, Semantik Sürümleme ilkelerini takip eder.
Genel API; Toolbox Sunucusu (CLI, yapılandırma bildirimleri ve önceden oluşturulmuş araç setleri) ile İstemci SDK'larını içerir.
- Ana sürümler, uyumsuz CLI veya bildirim değişiklikleri gibi kırıcı değişiklikler için artırılır.
- İkincil sürümler, önceden oluşturulmuş araç setlerinde yapılan değişiklikler veya beta özellikler dahil olmak üzere yeni özellikler için artırılır.
- Yama sürümleri, geriye dönük uyumlu hata düzeltmeleri için artırılır.
Daha fazla ayrıntı için Tam Sürümleme Politikamıza bakın.
Katkıda Bulunma
Katkılar memnuniyetle karşılanır. Başlamak için lütfen CONTRIBUTING kılavuzuna bakın.
Toolbox'ın kendisini geliştirmek için bir ortam kurmaya yönelik teknik ayrıntılar için DEVELOPER kılavuzuna bakın.
Bu projenin bir Katılımcı Davranış Kuralları ile yayınlandığını lütfen unutmayın. Bu projeye katılarak, kurallarına uymayı kabul etmiş olursunuz. Daha fazla bilgi için Katılımcı Davranış Kuralları sayfasına bakın.
Topluluk
Geliştiricilerimizle bağlantı kurmak için Discord topluluğumuza katılın!
