MCP Toolbox for Databases について
MCP Toolbox for Databasesは、エージェント、IDE、アプリケーションをデータベースにつなぐオープンソースのMCPサーバーです。AIクライアントから企業データを扱う開発者向けに、汎用ツールとカスタムツールの設定機能を提供します。
主な機能
- 01汎用データベースツールの提供
- 02カスタムクエリとセマンティック検索ツールの設定
- 03ツールセット、プロンプト、リソースの定義
- 04クラウドおよびその他のデータベースに対応
- 05コネクションプーリング、統合認証、OpenTelemetry
活用シーン
- 01IDEやCLIからのデータベース探索とSQL実行
- 02エージェント向けの制限付き構造化クエリ設定
- 03セマンティック検索またはNL2SQLツールの構築
- 04クライアントへのデータベーススキーマリソース公開
MCP 対応
MCPサーバーとして、互換クライアントにデータベースツール、プロンプト、読み取り専用リソースを公開します。組み込みツールを使うほか、tools.yamlで独自機能を定義できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:1.15.0ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:1.15.0Streamable HTTPツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
データベース向け MCP Toolbox は、AI エージェント、IDE、アプリケーションを企業データベースに直接接続する、オープンソースの Model Context Protocol(MCP)サーバーです。
2 つの目的を果たします。
- すぐに使える MCP サーバー(ビルド時): 事前構築済みの汎用ツールを使って、Gemini CLI、Google Antigravity、Claude Code、Codex、その他の MCP クライアントをデータベースにすぐに接続できます。データと対話し、スキーマを調べ、定型コードを書くことなくコードを生成できます。
- カスタムツールフレームワーク(実行時): 本番環境のエージェント向けに、特化した高セキュリティの AI ツールを構築するための堅牢なフレームワークです。構造化クエリ、セマンティック検索、NL2SQL 機能を安全かつ簡単に定義できます。
この README では概要を簡単に説明します。詳しくはドキュメント全文をご覧ください。
重要
リポジトリ名の更新:genai-toolboxリポジトリは正式にmcp-toolboxに名称変更されました。ローカル環境にも新しい名前を反映するには、リモートを更新してください。git remote set-url origin https://github.com/googleapis/mcp-toolbox.git
メモ
このソリューションは、当初「Gen AI Toolbox for Databases」(github.com/googleapis/genai-toolbox)という名前でした。初期開発が MCP の登場前に始まったためですが、MCP との互換性に合わせて名称を変更しました。
目次
- MCP Toolbox を選ぶ理由
- クイックスタート:事前構築済みツール
- クイックスタート:カスタムツール
- Toolbox サーバーのインストールと実行
- Toolbox への接続
- その他の機能
- バージョン管理
- コントリビュート
- コミュニティ
MCP Toolbox を選ぶ理由
- すぐに使えるデータベースアクセス: IDE やコマンドラインから直接データをすぐに探索できる、
list_tablesやexecute_sqlなどの汎用ツールがあらかじめ用意されています。 - カスタムツール用フレームワーク: 独自の定義済みロジックを使って本番環境向けのツールを構築し、アクセス制限、構造化クエリ、セマンティック検索によって安全性を確保できます。
- 開発の簡素化: 10 行未満のコードで、ツールを Agent Development Kit(ADK)、LangChain、LlamaIndex、またはカスタムエージェントに統合できます。
- パフォーマンスの向上: 接続プーリング、統合認証(IAM)、エンドツーエンドの可観測性(OpenTelemetry)をすぐに利用できます。
- セキュリティの強化:統合認証によって、データへのアクセスをより安全にします。
- エンドツーエンドの可観測性:OpenTelemetry の組み込みサポートにより、メトリクスとトレーシングをすぐに利用できます。
クイックスタート:あらかじめ用意されたツール
コンテキストの切り替えをやめて、AI アシスタントを真の共同開発者にしましょう。MCP Toolbox を使って IDE をデータベースに接続すると、平易な英語でデータをクエリし、スキーマの検出と管理を自動化し、データベースを認識したコードを生成できます。
MCP サーバーを設定すれば、MCP 互換の IDE やクライアント(Gemini CLI、Google Antigravity、Claude Code、Codex など)で Toolbox を利用できます。
あらかじめ用意されたツールは、Google Antigravity MCP Store からも、クリックするだけでインストールできます。
-
クライアントの MCP 設定ファイル(通常は
mcp.jsonまたはclaude_desktop_config.json)に以下を追加します。{ "mcpServers": { "toolbox-postgres": { "command": "npx", "args": [ "-y", "@toolbox-sdk/server", "--prebuilt=postgres", "--stdio" ] } } } -
接続に必要な環境変数を設定します。詳細はあらかじめ用意されたツールのリファレンスを参照してください。
--prebuilt=<database> フラグを指定して Toolbox を実行すると、そのデータベースを操作するための標準ツールをすぐに利用できます。また、--prebuilt=<database>/<toolset> 構文を使って、特定のツールセットを指定することもできます(例:--prebuilt=postgres/data を指定すると、SQL ツールのみが読み込まれます)。
現在、以下のデータベースに対応しています。
- Google Cloud: AlloyDB、BigQuery、Cloud SQL(PostgreSQL、MySQL、SQL Server)、Spanner、Firestore、Knowledge Catalog(旧称 Dataplex)。
- その他のデータベース: PostgreSQL、MySQL、MariaDB、SQL Server、Oracle、MongoDB、Redis、Elasticsearch、CockroachDB、ClickHouse、Couchbase、Neo4j、Snowflake、Trino など。
対応するすべてのデータベースで利用可能なツールとその機能の一覧は、あらかじめ用意されたツールのリファレンスを参照してください。
Docker やバイナリなど、異なる実行方法については「Toolbox サーバーのインストールと実行」のセクションを参照してください。
ヒント
マネージドソリューションをお探しの方には、Google Cloud MCP Servers が、あらかじめ用意されたツールを備えたマネージド MCP 環境を提供しています。こちらから違いについて詳しく確認できます。
クイックスタート:カスタムツール
Toolbox は、カスタマイズしたツールのフレームワークとしても利用できます。
Toolbox の主な設定方法は tools.yaml ファイルを使うことです。複数のファイルがある場合は、--config tools.yaml フラグを使って、読み込むファイルを Toolbox に指定できます。
すべてのリソースタイプの詳細なリファレンスドキュメントは、リソースで確認できます。
ソース
tools.yaml の sources セクションでは、Toolbox がアクセスできるデータソースを定義します。ほとんどのツールには、実行対象となるソースが少なくとも 1 つあります。
kind: source
name: my-pg-source
type: postgres
host: 127.0.0.1
port: 5432
database: toolbox_db
user: toolbox_user
password: my-password
さまざまな種類のソースの設定について詳しくは、 ソースを参照してください。
ツール
tools.yaml の tools セクションでは、エージェントが実行できるアクションを定義します。ツールの種類、対象となるソース、使用するパラメーターなどを指定します。
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 || '%';
さまざまな種類のツールの設定について詳しくは、 ツールを参照してください。
ツールセット
tools.yaml の toolsets セクションでは、一緒に読み込めるツールのグループを定義できます。エージェントやアプリケーションに応じて異なるグループを定義する場合に便利です。
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
プロンプト
tools.yaml の prompts セクションでは、LLM とのやり取りに使用できるプロンプトを定義します。
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"
プロンプトの設定について詳しくは、 プロンプトを参照してください。
リソース
tools.yaml の resources セクションと resourceTemplates セクションでは、MCP クライアントが検出して取得できる読み取り専用のコンテンツ、ファイル、またはパラメーター化されたディレクトリツリーを定義します。
kind: resource
name: database_schema_ddl
type: text
description: "Core table definitions and constraints."
mimeType: text/x-sql
text: |
CREATE TABLE customers (
id SERIAL PRIMARY KEY,
name VARCHAR(255) NOT NULL,
email VARCHAR(255) UNIQUE NOT NULL
);
---
kind: resource
name: database_schema
type: file
description: "PostgreSQL schema definition."
path: "./schema.sql"
---
kind: resourceTemplate
name: server_logs
type: file
description: "Application log files."
uriTemplate: "file:///var/log/{path}"
allowedPaths:
- "/var/log"
リソースとリソーステンプレートの設定について詳しくは、 リソースを参照してください。
Toolbox サーバーのインストールと実行
設定ファイルを使って、Toolbox を直接実行できます。
npx @toolbox-sdk/server --config tools.yaml
これにより、設定ファイルを使用して、最新バージョンの Toolbox サーバーが実行されます。
メモ
この方法は、パフォーマンスよりも手軽さを重視しています。 より標準的で信頼性の高いインストール方法については、Toolbox サーバーのインストールと実行で説明されているバイナリまたはコンテナーイメージを使用してください。
Toolbox をインストールする
最新バージョンについては、リリースページを確認し、お使いの OS と CPU アーキテクチャに応じた以下の手順を使用してください。
バイナリ
Toolbox をバイナリとしてインストールするには、以下の手順に従ってください。
Linux(AMD64)
Linux(AMD64)に Toolbox をバイナリとしてインストールするには、以下の手順に従ってください。
# see releases page for other versions export VERSION=1.15.0 curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/linux/amd64/toolbox chmod +x toolboxmacOS(Apple Silicon)
macOS(Apple Silicon)に Toolbox をバイナリとしてインストールするには、以下の手順に従ってください。
# see releases page for other versions export VERSION=1.15.0 curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/darwin/arm64/toolbox chmod +x toolboxmacOS(Intel)
macOS(Intel)に Toolbox をバイナリとしてインストールするには、以下の手順に従ってください。
# see releases page for other versions export VERSION=1.15.0 curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/darwin/amd64/toolbox chmod +x toolboxWindows(コマンドプロンプト)
Windows(コマンドプロンプト)に Toolbox をバイナリとしてインストールするには、以下の手順に従ってください。
:: see releases page for other versions set VERSION=1.15.0 curl -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v%VERSION%/windows/amd64/toolbox.exe"Windows(PowerShell)
Windows(PowerShell)に Toolbox をバイナリとしてインストールするには、以下の手順に従ってください。
# see releases page for other versions $VERSION = "1.15.0" curl.exe -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/windows/amd64/toolbox.exe"Windows ARM64(コマンドプロンプト)
Windows ARM64(コマンドプロンプト)に Toolbox をバイナリとしてインストールするには、以下の手順に従ってください。
:: see releases page for other versions set VERSION=1.15.0 curl -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v%VERSION%/windows/arm64/toolbox.exe"Windows ARM64(PowerShell)
Windows ARM64(PowerShell)に Toolbox をバイナリとしてインストールするには、以下の手順に従ってください。
# see releases page for other versions $VERSION = "1.15.0" curl.exe -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/windows/arm64/toolbox.exe"
コンテナイメージ
Toolbox はコンテナとしてインストールすることもできます。# see releases page for other versions
export VERSION=1.15.0
docker pull us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:$VERSION
Homebrew
macOS または Linux で Homebrew を使用して Toolbox をインストールするには、以下の手順に従ってください。
brew install mcp-toolbox
ソースからコンパイル
ソースからインストールするには、最新バージョンの Go がインストールされていることを確認してから、次のコマンドを実行してください。
go install github.com/googleapis/[email protected]
Gemini CLI
[Gemini CLI 拡張機能](https://geminicli.com/extensions/)を確認して、AlloyDB、BigQuery、Cloud SQL などの特定のデータベース向けのビルド済みツールを Gemini CLI に直接インストールしてください。# 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 を通じて自然言語でカスタムツールを操作できます。
# Install the extension
gemini extensions install https://github.com/gemini-cli-extensions/mcp-toolbox
tools.yaml を設定してツールを定義し、toolbox を実行してサーバーを起動します。
バイナリ
バイナリから Toolbox を実行するには、次のコマンドを実行します。
./toolbox --config "tools.yaml"
ⓘ 注意
Toolbox では、デフォルトで動的な再読み込みが有効になっています。無効にするには、--disable-reloadフラグを使用します。
コンテナイメージ
コンテナイメージをプルした後にサーバーを実行するには、次のコマンドを実行します。
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"
ⓘ 注意
-vフラグはローカルのtools.yamlをコンテナにマウントし、-pは コンテナのポート5000をホストのポート5000に割り当てます。
ソース
ソースから直接サーバーを実行するには、プロジェクトのルートディレクトリに移動して、 次のコマンドを実行します。
go run .
ⓘ 注意
このコマンドはソースからプロジェクトを実行するため、開発やテストに適しています。$GOPATHにバイナリをコンパイルすることはありません。代わりにバイナリをコンパイルする場合は、 開発者向けドキュメントを参照してください。
Homebrew
Homebrew を使用して Toolbox をインストールした場合、toolbox
バイナリはシステムのパスから利用できます。同じコマンドでサーバーを起動できます。
toolbox --config "tools.yaml"
NPM
バイナリを手動でダウンロードせずに Toolbox を直接実行するには、次のコマンドを実行します(Node.js が必要です)。
npx @toolbox-sdk/server --config tools.yaml
Gemini CLI
[Gemini CLI 拡張機能](https://geminicli.com/extensions/)をインストールすると、使用時にビルド済みのツールを利用できます。# Run Gemini CLI
gemini
# List extensions
/extensions list
# List MCP servers
/mcp list
すべてのフラグの一覧を確認するには、toolbox help を使用してください。サーバーを停止するには、
終了シグナルを送信します(ほとんどのプラットフォームでは ctrl+c)。
さまざまな環境へのデプロイに関する詳しいドキュメントは、 Toolbox のデプロイに関するセクションのリソースを確認してください。
Toolbox に接続する
Toolbox サーバーが起動したら、ツールを MCP 対応のクライアントまたは アプリケーションに読み込むことができます。
MCP クライアント
次の設定を MCP クライアントの設定に追加します。
{
"mcpServers": {
"toolbox": {
"type": "http",
"url": "http://127.0.0.1:5000/mcp",
}
}
}
特定のツールセットに接続する場合は、url を "http://127.0.0.1:5000/mcp/{toolset_name}" に置き換えてください。
Toolbox SDK:アプリケーションとの統合
Toolbox クライアント SDK は、カスタムアプリケーションを MCP Toolbox サーバーに接続するための、使いやすい構成要素と高度な機能を提供します。さまざまなフレームワークで使用できるクライアント SDK の一覧を以下に示します。
Python(GitHub)
Core
Toolbox Core SDK をインストールします。
pip install toolbox-coreツールを読み込みます。
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 の使用方法について詳しくは、 プロジェクトの README を参照してください。
LangChain / LangGraph
Toolbox LangChain SDK をインストールします。
pip install toolbox-langchainツールを読み込みます。
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 の使用方法について詳しくは、 プロジェクトの READMEを参照してください。
LlamaIndex
Toolbox Llamaindex SDKをインストールします。
pip install toolbox-llamaindexツールを読み込みます。
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 の使用方法について詳しくは、 プロジェクトの READMEを参照してください。
Javascript/Typescript (Github)
コア
Toolbox Core SDKをインストールします。
npm install @toolbox-sdk/coreツールを読み込みます。
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 の使用方法について詳しくは、 プロジェクトの READMEを参照してください。
LangChain / LangGraph
Toolbox Core SDKをインストールします。
npm install @toolbox-sdk/coreツールを読み込みます。
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をインストールします。
npm install @toolbox-sdk/coreツールを読み込みます。
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'); // ツールの基本情報(名前、説明、スキーマ、コアロジック)を定義します const getTool = (toolboxTool) => ai.defineTool({ name: toolboxTool.getName(), description: toolboxTool.getDescription(), schema: toolboxTool.getParamSchema() }, toolboxTool) // Genkit アプリケーションでこれらのツールを使用します const tools = toolboxTools.map(getTool);ADK
Toolbox ADK SDK をインストールします。
npm install @toolbox-sdk/adkツールを読み込みます。
import { ToolboxClient } from '@toolbox-sdk/adk'; // URL をサーバーを指すように更新します const URL = 'http://127.0.0.1:5000'; let client = new ToolboxClient(URL); // これらのツールをアプリケーションに渡すことができます! const tools = await client.loadToolset('toolsetName');Toolbox ADK SDK の使用方法について詳しくは、 プロジェクトの README をご覧ください。
Go (GitHub)
Core
Toolbox Go SDK をインストールします。
go get github.com/googleapis/mcp-toolbox-sdk-goツールを読み込みます。
package main import ( "github.com/googleapis/mcp-toolbox-sdk-go/core" "context" ) func main() { // エラーチェックを必ず追加してください // URL をサーバーを指すように更新します URL := "http://127.0.0.1:5000"; ctx := context.Background() client, err := core.NewToolboxClient(URL) // フレームワークに依存しないツール tools, err := client.LoadToolset("toolsetName", ctx) }Toolbox Go SDK の使用方法について詳しくは、 プロジェクトの README をご覧ください。
LangChain Go
Toolbox Go SDK をインストールします。
go get github.com/googleapis/mcp-toolbox-sdk-goツールを読み込みます。
package main import ( "context" "encoding/json" "github.com/googleapis/mcp-toolbox-sdk-go/core" "github.com/tmc/langchaingo/llms" ) func main() { // エラーチェックを必ず追加してください // URL をサーバーを指すように更新します URL := "http://127.0.0.1:5000" ctx := context.Background() client, err := core.NewToolboxClient(URL) // フレームワークに依存しないツール tool, err := client.LoadTool("toolName", ctx) // ツールの入力スキーマを取得します inputschema, err := tool.InputSchema() var paramsSchema map[string]any _ = json.Unmarshal(inputschema, ¶msSchema) // このツールを LangChainGo で使用します langChainTool := llms.Tool{ Type: "function", Function: &llms.FunctionDefinition{ Name: tool.Name(), Description: tool.Description(), Parameters: paramsSchema, }, } }Genkit
Toolbox Go SDK をインストールします。
go get github.com/googleapis/mcp-toolbox-sdk-goツールを読み込みます。
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() { // エラーチェックを必ず追加してください // URLをサーバーを指すように更新してください URL := "http://127.0.0.1:5000" ctx := context.Background() g := genkit.Init(ctx) client, err := core.NewToolboxClient(URL) // フレームワークに依存しないツール tool, err := client.LoadTool("toolName", ctx) // tbgenkitパッケージを使用してツールを変換します // このツールを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をインストールします。
go get github.com/googleapis/mcp-toolbox-sdk-goツールを読み込みます。
package main import ( "context" "encoding/json" "github.com/googleapis/mcp-toolbox-sdk-go/core" "google.golang.org/genai" ) func main() { // エラーチェックを必ず追加してください // URLをサーバーを指すように更新してください URL := "http://127.0.0.1:5000" ctx := context.Background() client, err := core.NewToolboxClient(URL) // フレームワークに依存しないツール tool, err := client.LoadTool("toolName", ctx) // ツールの入力スキーマを取得します inputschema, err := tool.InputSchema() var schema *genai.Schema _ = json.Unmarshal(inputschema, &schema) funcDeclaration := &genai.FunctionDeclaration{ Name: tool.Name(), Description: tool.Description(), Parameters: schema, } // このツールをGo GenAIで使用します genAITool := &genai.Tool{ FunctionDeclarations: []*genai.FunctionDeclaration{funcDeclaration}, } }OpenAI Go
Toolbox Go SDKをインストールします。
go get github.com/googleapis/mcp-toolbox-sdk-goツールを読み込みます。
package main import ( "context" "encoding/json" "github.com/googleapis/mcp-toolbox-sdk-go/core" openai "github.com/openai/openai-go" ) func main() { // エラーチェックを必ず追加してください // URLをサーバーを指すように更新してください URL := "http://127.0.0.1:5000" ctx := context.Background() client, err := core.NewToolboxClient(URL) // フレームワークに依存しないツール tool, err := client.LoadTool("toolName", ctx) // ツールの入力スキーマを取得します inputschema, err := tool.InputSchema() var paramsSchema openai.FunctionParameters _ = json.Unmarshal(inputschema, ¶msSchema) // このツールをOpenAI Goで使用します openAITool := openai.ChatCompletionToolParam{ Function: openai.FunctionDefinitionParam{ Name: tool.Name(), Description: openai.String(tool.Description()), Parameters: paramsSchema, }, } }ADK Go
Toolbox Go SDKをインストールします。
go get github.com/googleapis/mcp-toolbox-sdk-goツールを読み込みます。
package main import ( "github.com/googleapis/mcp-toolbox-sdk-go/tbadk" "context" ) func main() { // エラーチェックを必ず追加してください // URLをサーバーを指すように更新してください 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) } // このツールをADK Goで使用します tool, err := client.LoadTool("toolName", ctx) if err != nil { return fmt.Sprintln("Could not load Toolbox Tool", err) } }Toolbox Go SDKの使用方法について詳しくは、 プロジェクトのREADMEをご覧ください。
追加機能
Toolbox UI でツールをテストする
Toolbox のインタラクティブ UI を起動するには、--ui フラグを使用します。認証済みパラメーターなどの機能を使って、ツールやツールセットをテストできます。詳しくは、Toolbox UIをご覧ください。
./toolbox --ui
テレメトリー
Toolbox は、OpenTelemetry を介してトレースとメトリクスを出力します。--telemetry-otlp=<endpoint> を使用すると、Google Cloud Monitoring、Agnost AI などの OTLP 互換バックエンドにエクスポートできます。詳細は、テレメトリーのドキュメントをご覧ください。
エージェントスキルを生成する
skills-generate コマンドを使うと、ツールセットをAgent Skill の仕様に準拠した Agent Skill に変換できます。ツールをポータブルなスキルパッケージとして配布する場合に便利です。
toolbox --config tools.yaml skills-generate \
--name "my-skill" \
--toolset "my_toolset" \
--description "A skill containing multiple tools"
生成したスキルは、Gemini CLI にインストールできます。
gemini skills install ./skills/my-skill
詳細は、スキル生成ガイドをご覧ください。すでにお持ちのスキルを MCP 経由で提供する方法については、MCP 経由でスキルを提供するをご覧ください。
このリポジトリには、すぐに使える Agent Skills(メンテナーのワークフローなど)も含まれています。カタログとインストール手順については、skills/をご覧ください。
バージョン管理
MCP Toolbox for Databases はセマンティックバージョニングに従っています。
公開 API には、Toolbox Server(CLI、構成マニフェスト、ビルド済みツールセット)とクライアント SDK が含まれます。
- メジャーバージョンは、互換性のない CLI やマニフェストの変更など、破壊的変更がある場合に上げます。
- マイナーバージョンは、ビルド済みツールセットの変更やベータ機能など、新機能を追加する場合に上げます。
- パッチバージョンは、後方互換性のあるバグ修正に対して上げます。
コンテナのタグ付けポリシーなどの詳細は、バージョン管理ポリシー全文をご覧ください。
コントリビューション
コントリビューションを歓迎します。始めるには、CONTRIBUTINGガイドをご覧ください。
Toolbox 自体の開発環境をセットアップする技術的な詳細については、DEVELOPERガイドをご覧ください。
このプロジェクトには、コントリビューター行動規範が定められています。このプロジェクトに参加することで、その規約に従うことに同意したものとみなされます。詳細は、コントリビューター行動規範をご覧ください。
コミュニティ
Discord コミュニティに参加して、開発者と交流しましょう!
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
