Home
Login
googleapis/genai-toolbox

MCP資料庫工具箱是一個開源的MCP伺服器,用於簡化資料庫工具開發,提供連接池、身份驗證等功能

Apache-2.0Go 1.4kgoogleapis Last Updated: 2025-06-12
https://github.com/googleapis/genai-toolbox

Genai-toolbox 項目介紹

項目概述

MCP 數據庫工具箱(MCP Toolbox for Databases) 是 Google 開源的一個數據庫伺服器工具,專為簡化 Gen AI 工具的開發而設計。該項目使開發者能夠更輕鬆、快速且安全地構建能夠訪問數據庫數據的 AI 代理工具。

項目地址: https://github.com/googleapis/genai-toolbox

核心功能與特性

1. 簡化開發流程

  • 快速集成:僅需不到 10 行代碼即可將工具集成到代理中
  • 工具復用:支持在多個代理或框架之間重複使用工具
  • 便捷部署:更輕鬆地部署工具的新版本

2. 性能優化

  • 連接池管理:內置連接池機制,優化數據庫連接性能
  • 最佳實踐:集成了數據庫訪問的最佳實踐
  • 高效處理:優化的數據處理和查詢執行

3. 增強安全性

  • 集成身份驗證:提供更安全的數據訪問機制
  • 安全連接:確保數據庫連接的安全性
  • 權限控制:支持細粒度的訪問控制

4. 端到端可觀測性

  • 內置監控:提供開箱即用的指標和追蹤功能
  • OpenTelemetry 支持:內置 OpenTelemetry 支持,便於監控和調試
  • 全鏈路追蹤:支持完整的請求鏈路追蹤

架構設計

工具箱位於應用程式的編排框架和數據庫之間,提供一個控制平面,用於修改、分發或調用工具。它通過提供一個集中的位置來存儲和更新工具,簡化了工具的管理,允許在代理和應用程式之間共享工具,並在不必重新部署應用程式的情況下更新這些工具。

安裝方式

二進制安裝

# 查看發布頁面獲取其他版本
export VERSION=0.4.0
curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox
chmod +x toolbox

容器鏡像

# 查看發布頁面獲取其他版本
export VERSION=0.4.0
docker pull us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:$VERSION

原始碼編譯

go install github.com/googleapis/genai-toolbox@v0.4.0

使用方法

基本使用流程

  1. 配置 tools.yaml 文件:定義您的工具
  2. 啟動伺服器
    ./toolbox --tools_file "tools.yaml"
    
  3. 加載工具到應用程式:使用相應的 SDK

支持的客戶端 SDK

Core SDK

from toolbox_core import ToolboxClient
client = ToolboxClient("http://127.0.0.1:5000")
tools = await client.load_toolset("toolset_name")

LangChain/LangGraph SDK

from toolbox_langchain import ToolboxClient
client = ToolboxClient("http://127.0.0.1:5000")
tools = client.load_toolset()

LlamaIndex SDK

from toolbox_llamaindex import ToolboxClient
client = ToolboxClient("http://127.0.0.1:5000")
tools = client.load_toolset()

配置說明

數據源配置

sources:
  my-pg-source:
    kind: postgres
    host: 127.0.0.1
    port: 5432
    database: toolbox_db
    user: toolbox_user
    password: my-password

工具配置

tools:
  search-hotels-by-name:
    kind: 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 || '%';

工具集配置

toolsets:
  my_first_toolset:
    - my_first_tool
    - my_second_tool
  my_second_toolset:
    - my_second_tool
    - my_third_tool

版本控制

  • MAJOR 版本:不兼容的 API 更改
  • MINOR 版本:向後兼容的功能添加
  • PATCH 版本:向後兼容的錯誤修復

適用場景

  • AI 代理開發:為 AI 代理構建數據庫訪問工具
  • 數據集成:簡化應用程式與數據庫的集成
  • 工具管理:集中管理和分發數據庫工具
  • 多框架支持:在不同的 AI 框架間共享工具

項目優勢

  1. 開源免費:完全開源,由 Google 維護
  2. 成熟穩定:基於 Google 的最佳實踐
  3. 生態兼容:支持主流 AI 框架
  4. 易於擴展:靈活的配置和擴展機制
  5. 企業級:提供企業級的安全性和可觀測性

總結

MCP 數據庫工具箱是一個功能強大且易於使用的開源項目,專為現代 AI 應用程式的數據庫集成需求而設計。它通過提供簡化的開發體驗、優化的性能、增強的安全性和全面的可觀測性,幫助開發者快速構建可靠的 AI 數據庫工具。

無論您是在開發 AI 代理、構建數據驅動的應用程式,還是需要在多個框架間共享數據庫工具,MCP 數據庫工具箱都是一個值得考慮的解決方案。其靈活的架構設計和豐富的 SDK 支持,使其能夠很好地適應各種開發場景和需求。