データベース向けMCPツールボックス¶
ADKでサポートPythonGo
データベース向けMCPツールボックスは、データベース向けのオープンソースMCPサーバーです。エンタープライズグレードと本番品質を念頭に置いて設計されています。接続プーリング、認証などの複雑さを処理することで、ツールをより簡単、迅速、安全に開発できます。
GoogleのAgent Development Kit(ADK)は、ツールボックスを組み込みでサポートしています。ツールボックスのはじめにまたは構成の詳細については、ドキュメントを参照してください。

サポートされているデータソース¶
MCPツールボックスは、次のデータベースとデータプラットフォーム向けにすぐに使えるツールセットを提供します。
Google Cloud¶
- BigQuery(SQL実行、スキーマ検出、AIを活用した時系列予測用のツールを含む)
- AlloyDB(PostgreSQL互換、標準クエリと自然言語クエリの両方のツールを含む)
- AlloyDB Admin
- Spanner(GoogleSQLとPostgreSQLの両方のダイアлектをサポート)
- Cloud SQL(Cloud SQL for PostgreSQL、Cloud SQL for MySQL、Cloud SQL for SQL Serverの専用サポートを含む)
- Cloud SQL Admin
- Firestore
- Bigtable
- Dataplex(データ検出とメタデータ検索用)
- Cloud Monitoring
リレーショナルおよびSQLデータベース¶
- PostgreSQL(汎用)
- MySQL(汎用)
- Microsoft SQL Server(汎用)
- ClickHouse
- TiDB
- OceanBase
- Firebird
- SQLite
- YugabyteDB
NoSQLおよびキー値ストア¶
グラフデータベース¶
データプラットフォームとフェデレーション¶
その他¶
構成と展開¶
ツールボックスは、自分で展開および管理するオープンソースサーバーです。展開と構成の詳細については、公式のツールボックスドキュメントを参照してください。
ADK用クライアントSDKのインストール¶
ADKは、ツールボックスを使用するためにtoolbox-core pythonパッケージに依存しています。開始する前にパッケージをインストールしてください。
ツールボックスツールの読み込み¶
ツールボックスサーバーが構成されて実行されたら、ADKを使用してサーバーからツールを読み込むことができます。
from google.adk.agents import Agent
from toolbox_core import ToolboxSyncClient
toolbox = ToolboxSyncClient("https://127.0.0.1:5000")
# 特定のツールセットを読み込む
tools = toolbox.load_toolset('my-toolset-name'),
# 単一のツールを読み込む
tools = toolbox.load_tool('my-tool-name'),
root_agent = Agent(
...,
tools=tools # エージェントにツールのリストを提供する
)
ADKは、ツールボックスを使用するためにmcp-toolbox-sdk-go goモジュールに依存しています。開始する前にモジュールをインストールしてください。
ツールボックスツールの読み込み¶
ツールボックスサーバーが構成されて実行されたら、ADKを使用してサーバーからツールを読み込むことができます。
package main
import (
"context"
"fmt"
"github.com/googleapis/mcp-toolbox-sdk-go/tbadk"
"google.golang.org/adk/agent/llmagent"
)
func main() {
toolboxClient, err := tbadk.NewToolboxClient("https://127.0.0.1:5000")
if err != nil {
log.Fatalf("MCPツールボックスクライアントの作成に失敗しました: %v", err)
}
// 特定のツールセットを読み込む
toolboxtools, err := toolboxClient.LoadToolset("my-toolset-name", ctx)
if err != nil {
return fmt.Sprintln("ツールボックスツールセットを読み込めませんでした", err)
}
toolsList := make([]tool.Tool, len(toolboxtools))
for i := range toolboxtools {
toolsList[i] = &toolboxtools[i]
}
llmagent, err := llmagent.New(llmagent.Config{
...,
Tools: toolsList,
})
// 単一のツールを読み込む
tool, err := client.LoadTool("my-tool-name", ctx)
if err != nil {
return fmt.Sprintln("ツールボックスツールを読み込めませんでした", err)
}
llmagent, err := llmagent.New(llmagent.Config{
...,
Tools: []tool.Tool{&toolboxtool},
})
}
高度なツールボックス機能¶
ツールボックスには、データベース向けのGen AIツールを開発するためのさまざまな機能があります。詳細については、次の機能について詳しくお読みください。
- 認証済みパラメータ: ツール入力をOIDCトークンの値に自動的にバインドし、機密性の高いクエリをデータ漏洩の可能性なく簡単に実行できるようにします
- 承認済み呼び出し: ユーザーの認証トークンに基づいてツールを使用するためのアクセスを制限します
- OpenTelemetry: OpenTelemetryを使用してツールボックスからメトリックとトレースを取得します