MCP Toolbox for Databases Server

resmi

Veritabanları için kolay, hızlı ve güvenli araçlar konusunda uzmanlaşmış açık kaynaklı MCP sunucusu.

Dokümantasyon

logo

Veritabanları için MCP Araç Kutusu

googleapis%2Fmcp-toolbox | Trendshift

Go Report Card License: Apache
2.0 Docs Discord Medium

Python SDK JS/TS SDK Go SDK Java SDK

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.

architecture

İkili bir amaca hizmet eder:

  1. 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.
  2. Ö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-toolbox deposu resmi olarak mcp-toolbox olarak 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?

  • 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.

  1. İstemcinizin MCP yapılandırma dosyasına (genellikle mcp.json veya claude_desktop_config.json) aşağıdakini ekleyin:

    {
      "mcpServers": {
        "toolbox-postgres": {
          "command": "npx",
          "args": [
            "-y",
            "@toolbox-sdk/server",
            "--prebuilt=postgres",
            "--stdio"
          ]
        }
      }
    }
    
  2. 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 toolbox
macOS (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 toolbox
macOS (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 toolbox
Windows (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-reload bayrağı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
-v bayrağı yerel tools.yaml dosyanızı konteynere bağlar ve -p, konteynerin 5000 portunu ana makinenizin 5000 portuna 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. $GOPATH dizininize 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
  1. Toolbox Core SDK'ı yükleyin:

    pip install toolbox-core
    
  2. Araç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
  1. Toolbox LangChain SDK'ı yükleyin:

    pip install toolbox-langchain
    
  2. Araç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
  1. Toolbox Llamaindex SDK'ı yükleyin:

    pip install toolbox-llamaindex
    
  2. Araç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
  1. Toolbox Core SDK'ı yükleyin:

    npm install @toolbox-sdk/core
    
  2. Araç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
  1. Toolbox Core SDK'ı yükleyin:

    npm install @toolbox-sdk/core
    
  2. Araç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
  1. Toolbox Core SDK'ı yükleyin:

    npm install @toolbox-sdk/core
    
  2. Araç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
  1. Toolbox ADK SDK'ı yükleyin:

    npm install @toolbox-sdk/adk
    
  2. Araç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
  1. Toolbox Go SDK'ı yükleyin:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Araç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
  1. Toolbox Go SDK'ı yükleyin:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Araç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, &paramsSchema)
    
      // Use this tool with LangChainGo
      langChainTool := llms.Tool{
        Type: "function",
        Function: &llms.FunctionDefinition{
          Name:        tool.Name(),
          Description: tool.Description(),
          Parameters:  paramsSchema,
        },
      }
    }
    
    
Genkit
  1. Toolbox Go SDK'ı yükleyin:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Araç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
  1. Toolbox Go SDK'ı yükleyin:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Araç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
  1. Toolbox Go SDK'ı yükleyin:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Araç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, &paramsSchema)
    
      // Use this tool with OpenAI Go
      openAITool := openai.ChatCompletionToolParam{
        Function: openai.FunctionDefinitionParam{
          Name:        tool.Name(),
          Description: openai.String(tool.Description()),
          Parameters:  paramsSchema,
        },
      }
    
    }
    
ADK Go
  1. Toolbox Go SDK'ı yükleyin:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. Araç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!