Databases Go ★ 15,682

googleapis/genai-toolbox

Veritabanları için kolay, hızlı ve güvenli araçlar sağlayan açık kaynak MCP sunucusu.

Claude Desktop config.json'a ekle

{
  "mcpServers": {
    "googleapis-genai-toolbox": {
      "command": "node",
      "args": [
        "~/.mcp/genai-toolbox/index.js"
      ]
    }
  }
}

logo

Veritabanları İçin MCP Toolbox

Go Report Card License: Apache
2.0 Docs Discord Medium

Python SDK JS/TS SDK Go SDK Java SDK

Veritabanları İçin MCP Toolbox, AI ajanlarınızı, IDE'lerinizi ve uygulamalarınızı doğrudan kurumsal veritabanlarınıza bağlayan açık kaynaklı bir Model Context Protocol (MCP) sunucusudur.

İkili bir amaca hizmet eder:

  1. Hazır Kullanıma Sunulan MCP Sunucusu (Derleme Zamanı): Gemini CLI, Google Antigravity, Claude Code, Codex veya diğer MCP istemcilerini önceden oluşturulmuş genel araçlar kullanarak veritabanlarınıza anında bağlayın. Verilerinizle konuşun, şemaları keşfedin ve boilerplate yazmadan kod oluşturun.
  2. Özel Araçlar Çerçevesi (Çalışma Zamanı): Üretim ajanları için özelleştirilmiş, yüksek düzeyde güvenli AI araçları geliştirmek için sağlam 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 özet sağlamaktadır. Kapsamlı ayrıntılar için tam belgelendirmeyi inceleyin.

[!IMPORTANT]
Depo Adı Güncellemesi: genai-toolbox deposu resmi olarak mcp-toolbox olarak yeniden adlandırılmıştır. Yerel ortamınızı yeni adla senkronize etmek için uzak kaynağınızı güncelleme yapabilirsiniz: git remote set-url origin https://github.com/googleapis/mcp-toolbox.git

[!NOTE] Bu çözüm başlangıçta "Veritabanları İçin Gen AI Toolbox" (github.com/googleapis/genai-toolbox) olarak adlandırılmıştır; bu ad ilk geliştirme MCP'den daha öncesine dayanır, ancak MCP uyumluluğu sağlamak için yeniden adlandırılmıştır.

İçindekiler


Neden MCP Toolbox?

  • Hazır Veritabanı Erişimi: IDE veya CLI'dan anında veri keşfi için önceden oluşturulmuş genel araçlar (ör. list_tables, execute_sql).
  • Özel Araçlar Çerçevesi: Kendi önceden tanımlanmış mantığınızla üretim hazır araçlar oluşturun; Sınırlı Erişim, Yapılandırılmış Sorgular ve Anlamsal Arama yoluyla güvenlik sağlanır.
  • Basitleştirilmiş Geliştirme: Araçları Agent Development Kit (ADK), LangChain, LlamaIndex veya özel ajanlar içine 10 satırdan az kodla entegre edin.
  • Daha İyi Performans: Bağlantı havuzu yönetimi, entegre auth (IAM) ve uçtan uca gözlemlenebilirlik (OpenTelemetry) kutudan çıktığında kullanıma sunulur.
  • Geliştirilmiş Güvenlik: Verilerinize daha güvenli erişim için entegre kimlik doğrulama.
  • Uçtan Uca Gözlemlenebilirlik: OpenTelemetry desteğiyle kutudan çıktığında metrikler ve izleme.

Hızlı Başlangıç: Hazır Araçlar

Bağlam değiştirmeyi bırakın ve AI asistanınızı gerçek bir yer ortağı yapın. MCP Toolbox ile IDE'nizi veritabanlarınıza bağlayarak, verilerinizi düz İngilizce ile sorgulayabilir, şema keşfi ve yönetimini otomatikleştirebilir ve veritabanı bilgisine sahip kod oluşturabilirsiniz.

Toolbox'u herhangi bir MCP uyumlu IDE veya istemcide (ör. Gemini CLI, Google Antigravity, Claude Code, Codex, vb.) MCP sunucusunu yapılandırarak kullanabilirsiniz.

Hazır araçlar ayrıca Google Antigravity MCP Store aracılığıyla basit bir tıkla kurulum deneyimiyle kullanılabilir.

  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, bkz. Hazır Araçlar Referansı.

Toolbox'u --prebuilt=<database> bayrağı ile çalıştırdığınızda, o veritabanıyla etkileşim kurmanız için anında standart araçlara erişebilirsiniz.

Şu anda desteklenen veritabanları şunları içerir:

  • Google Cloud: AlloyDB, BigQuery, Cloud SQL (PostgreSQL, MySQL, SQL Server), Spanner, Firestore, Knowledge Catalog (daha önce Dataplex olarak bilinirdi).
  • Diğer Veritabanları: PostgreSQL, MySQL, SQL Server, Oracle, MongoDB, Redis, Elasticsearch, CockroachDB, ClickHouse, Couchbase, Neo4j, Snowflake, Trino ve daha fazlası.

Tüm desteklenen veritabanları genelinde kullanılabilir araçların ve yeteneklerinin tam listesi için Hazır Araçlar Referansı bölümüne bakın.

Docker veya ikili dosyalar gibi farklı yürütme yöntemleri için Toolbox Sunucusunu Yükleyin ve Çalıştırın bölümüne bakın.

[!TIP] 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; burada farklılıklar hakkında bilgi edinebilirsiniz.


Hızlı Başlangıç: Özel Araçlar

Toolbox ayrıca özelleştirilmiş araçlar için bir çerçeve olarak kullanılabilir. Toolbox'u yapılandırmanın birincil yolu tools.yaml dosyasıdır. Birden çok dosyanız varsa, --config tools.yaml bayrağını kullanarak hangisini yükleyeceğini Toolbox'a söyleyebilirsiniz.

Tüm kaynak türlerine daha ayrıntılı referans belgelendirmesini Kaynaklar bölümünde bulabilirsiniz.

Kaynaklar

tools.yaml dosyasının sources bölümü, Toolbox'un hangi veri kaynaklarına erişim sahibi olması gerektiğini tanımlar. Çoğu araç yürütmek 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

tools.yaml dosyasının tools bölümü bir ajanın gerçekleştirebileceği eylemleri tanımlar: araç türü nedir, hangi kaynakları etkiler, hangi parametreleri kullanır, 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 dosyasının toolsets bölümü, birlikte yüklemek istediğiniz araçlardan oluşan grupları tanımlamanıza olanak sağlar. Bu, farklı grupları ajen veya uygulamaya göre 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

tools.yaml dosyasının prompts bölümü, LLM'lerle etkileşimlerde kullanılabilecek istemler 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"

İstemler yapılandırma hakkında daha fazla ayrıntı için İstemler bölümüne bakın.


Toolbox Sunucusunu Yükleyin ve Çalıştırın

Toolbox'u doğrudan bir yapılandırma dosyası ile çalıştırabilirsiniz:

npx @toolbox-sdk/server --config tools.yaml

Bu, yapılandırma dosyanızla Toolbox sunucusunun en son sürümünü çalıştırır.

[!NOTE] Bu yöntem kolaylık açısından optimize edilmiştir; performans açısından değil. Daha standart ve güvenilir bir kurulum için lütfen Toolbox Sunucusunu Yükleyin ve Çalıştırın bölümünde açıklandığı gibi ikili dosya veya container görüntüsü kullanın.

Toolbox'u Yükleyin

En son sürüm için sürümler sayfasını kontrol edin ve işletim sisteminiz ve CPU mimarisi için aşağıdaki talimatları kullanın.

İkili Dosya

Toolbox'u ikili dosya olarak yüklemek için:

Linux (AMD64)

Linux (AMD64) üzerinde Toolbox'u ikili dosya olarak yüklemek için:

# diğer sürümler için sürümler sayfasına bakın
export VERSION=1.3.0
curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/linux/amd64/toolbox
chmod +x toolbox
macOS (Apple Silicon)

macOS (Apple Silicon) üzerinde Toolbox'u ikili dosya olarak yüklemek için:

# diğer sürümler için sürümler sayfasına bakın
export VERSION=1.3.0
curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/darwin/arm64/toolbox
chmod +x toolbox
macOS (Intel)

macOS (Intel) üzerinde Toolbox'u ikili dosya olarak yüklemek için:

# diğer sürümler için sürümler sayfasına bakın
export VERSION=1.3.0
curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/darwin/amd64/toolbox
chmod +x toolbox
Windows (Command Prompt)

Windows (Command Prompt) üzerinde Toolbox'u ikili dosya olarak yüklemek için:

:: diğer sürümler için sürümler sayfasına bakın
set VERSION=1.3.0
curl -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v%VERSION%/windows/amd64/toolbox.exe"
Windows (PowerShell)

Windows (PowerShell) üzerinde Toolbox'u ikili dosya olarak yüklemek için:

# diğer sürümler için sürümler sayfasına bakın
$VERSION = "1.3.0"
curl.exe -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/windows/amd64/toolbox.exe"
Container görüntüsü Toolbox'u container olarak da yükleyebilirsiniz:
# diğer sürümler için sürümler sayfasına bakın
export VERSION=1.3.0
docker pull us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:$VERSION
Homebrew

macOS veya Linux üzerinde Homebrew kullanarak Toolbox'u yüklemek için:

brew install mcp-toolbox
Kaynaktan Derleyin

Kaynaktan yüklemek 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/mcp-toolbox@v1.3.0
Gemini CLI Belirli veritabanları için AlloyDB, BigQuery ve Cloud SQL gibi önceden oluşturulmuş araçları doğrudan Gemini CLI'ye yüklemek için [Gemini CLI uzantılarını](https://geminicli.com/extensions/) kontrol edin.
# Gemini CLI'yi yükleyin
npm install -g @google/gemini-cli
# Uzantıyı yükleyin
gemini extensions install https://github.com/gemini-cli-extensions/cloud-sql-postgres
# Gemini CLI'yi çalıştırın
gemini

Gemini CLI aracılığıyla özel araçlarınızla doğal dil kullanarak etkileşim kurun.

# Uzantıyı yükleyin
gemini extensions install https://github.com/gemini-cli-extensions/mcp-toolbox

Toolbox'u Çalıştırın

Araçlarınızı tanımlamak için configure bölümünde tools.yaml dosyasını yapılandırın ve ardından sunucuyu başlatmak için toolbox komutunu yürütün:

İkili Dosya

Toolbox'u ikili dosyadan çalıştırmak için:

./toolbox --config "tools.yaml"

ⓘ Not
Toolbox varsayılan olarak dinamik yeniden yüklemeyi etkinleştirir. Devre dışı bırakmak için --disable-reload bayrağını kullanın.

Container görüntüsü

Container görüntüsünü çektikten sonra sunucuyu çalıştırmak için:

export VERSION=0.24.0 # Çektiğiniz sürümü kullanın
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ı container'e monte eder ve -p container'in 5000 portunu ana makinenizin 5000 portuna eşler.

Kaynak

Sunucuyu kaynaktan doğrudan çalıştırmak için proje kök dizinine gidin ve çalıştırın:

go run .

ⓘ Not
Bu komut projeyi kaynaktan çalıştırır ve geliştirme ve test için daha uygun olur. Değil bir ikili dosyayı $GOPATH içine derler. İkili dosya derlemek istiyorsanız, Geliştirici Belgelendirmesi bölümüne bakın.

Homebrew

Toolbox'u Homebrew kullanarak yüklediyseniz, toolbox ikili dosyası sistem yolunuzda bulunur. Sunucuyu aynı komutla başlatabilirsiniz:

toolbox --config "tools.yaml"
NPM

İkili dosyayı el ile indirmeden Toolbox'u doğrudan çalıştırmak için (Node.js gereklidir):

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 kullanılabilir olacaktır.
# Gemini CLI'yi çalıştırın
gemini

# Uzantıları listeleyin
/extensions list
# MCP sunucularını listeleyin
/mcp list

Tüm bayraklar için bir liste almak istiyorsanız 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 detaylı belgelendirme için Toolbox'u Dağıt bölümü içindeki kaynakları kontrol edin


Toolbox'a Bağlanın

Toolbox sunucunuz çalışır duruma geldikten sonra, araçları MCP uyumlu istemcinize veya uygulamanıza yükleyebilirsiniz.

MCP İstemcisi

MCP istemcinizin yapılandırmasına aşağıdakini ekleyin:

{
  "mcpServers": {
    "toolbox": {
      "type": "http",
      "url": "http://127.0.0.1:5000/mcp",
    }
  }
}

Belirli bir araç setine bağlanmak istiyorsanız, URL'yi "http://127.0.0.1:5000/mcp/{toolset_name}" ile değiştirin.

Toolbox SDK'ları: Uygulamanızla Entegre Olun

Toolbox Client SDK'ları, özel uygulamalarınızı MCP Toolbox sunucusuna bağlamak için kolay kullanılan yapı taşları ve gelişmiş özellikler sağlar. Aşağıda çeşitli çerçeveleri kullanmak için Client SDK'larının listesini 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
    
    # sunucunuzu işaret etmek için URL'yi güncelleyin
    async with ToolboxClient("http://127.0.0.1:5000") as client:
    
        # bu araçlar uygulamanıza geçirilebilir!
        tools = await client.load_toolset("toolset_name")
    

Toolbox Core SDK'sını kullanma hakkında daha detaylı talimatlar için projenin README bölümüne bakın.

LangChain / LangGraph
  1. Toolbox LangChain SDK yükleyin:

    pip install toolbox-langchain
    
  2. Araçları yükleyin:

    from toolbox_langchain import ToolboxClient
    
    # sunucunuzu işaret etmek için URL'yi güncelleyin
    async with ToolboxClient("http://127.0.0.1:5000") as client:
    
        # bu araçlar uygulamanıza geçirilebilir!
        tools = client.load_toolset()
    

    Toolbox LangChain SDK'sını kullanma hakkında daha detaylı talimatlar için projenin README bölümüne bakın.

LlamaIndex
  1. Toolbox Llamaindex SDK yükleyin:

    pip install toolbox-llamaindex
    
  2. Araçları yükleyin:

    from toolbox_llamaindex import ToolboxClient
    
    # sunucunuzu işaret etmek için URL'yi güncelleyin
    async with ToolboxClient("http://127.0.0.1:5000") as client:
    
        # bu araçlar uygulamanıza geçirilebilir!
        tools = client.load_toolset()
    

    Toolbox Llamaindex SDK'sını kullanma hakkında daha detaylı talimatlar için projenin README bölümüne bakın.

Javascript/Typescript (Github)
Core
  1. [Toolbox Core SDK][toolbox-core-js] yükleyin:

    npm install @toolbox-sdk/core
    
  2. Araçları yükleyin:

    import { ToolboxClient } from '@toolbox-sdk/core';
    
    // sunucunuzu işaret etmek için URL'yi güncelleyin
    const URL =

Benzer MCP sunucuları

Daha fazla: Databases →