MCP Toolbox for Databasesは、オープンソースのデータベースツール管理プラットフォームで、開発者がデータベースツールをより簡単、迅速、安全に作成、管理できるように設計されています。アプリケーションとデータベース間のコントロールプレーンとして機能し、ツールの開発、配布、起動を簡素化します。このプラットフォームは、LangChain、LlamaIndex、GoogleGenAIなどの複数の開発フレームワークをサポートし、ローカルまたはクラウドに展開することができます。MCP Toolboxは、パフォーマンスとセキュリティを確保するために、コネクションプーリング、認証、その他の機能を提供します。AIエージェントのデータアクセスや自動データベース管理など、データベースツールの迅速な開発を必要とするシナリオに適しています。現在のバージョンは0.9.0で、まだベータ版ですが、今後メジャーアップデートの可能性があります。
機能一覧
- ツールの一元管理:ツールの保存と更新のための統一プラットフォームを提供し、アプリケーション間およびエージェント間の共有をサポートします。
- ツールの動的ロード:アプリケーションを再起動することなくツールの設定を更新するためのツールの動的ロードをサポートします。
- データベース接続の最適化: 組み込みの接続プーリングと認証メカニズムにより、パフォーマンスとセキュリティを向上。
- マルチフレームワーク対応:LangChain、LlamaIndex、GoogleGenAI、その他の開発フレームワークと互換性があります。
- 自然言語クエリ: 複雑なSQLを記述することなく、自然言語を通じてデータベースに直接クエリを実行できる。
- 自動データベース管理:クエリの自動生成、テーブルの作成、インデックスの追加をサポート。
- コンテキストを考慮したコード生成:データベーススキーマに基づいてアプリケーションコードとテストケースを生成します。
- クロスプラットフォームのデプロイメント:Linux、Windows、macOS、およびコンテナ化されたデプロイメント(Dockerなど)がサポートされています。
ヘルプの使用
設置プロセス
MCPツールボックスは、開発環境に応じてさまざまなインストール方法を提供します。以下に詳しいインストール手順を示します:
1.バイナリインストール
ユーザーは自分のオペレーティングシステム用のバイナリファイルを直接ダウンロードできる:
- 公式リリースページにアクセスし、対応するバージョンを選択する(現在
0.9.0
). - オペレーティングシステムやCPUアーキテクチャ(例えば
linux/amd64
もしかしたらdarwin/arm64
) バイナリファイルをダウンロードする:export OS="linux/amd64" curl -O https://storage.googleapis.com/genai-toolbox/v0.9.0/$OS/toolbox chmod +x toolbox
- そうしれいかん
toolbox
ファイルをシステムパス(例えば/usr/local/bin
)を実行する。
2.コンテナ設置
Dockerを使ったインストールは本番環境に適している:
- 公式Dockerイメージをプルする:
export VERSION=0.9.0 docker pull us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:$VERSION
- コンテナを実行し、ポート(デフォルトは
5000
)が利用できる:docker run -p 5000:5000 us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:$VERSION
3.ソースコードのインストール
Go言語環境が必要(最新版推奨):
- 以下のコマンドを実行してインストールする:
go install github.com/googleapis/genai-toolbox@v0.9.0
- 設定が完了したら
toolbox
サーバーを起動します。
4.tools.yamlの設定
インストール後 tools.yaml
ファイルでデータソースとツールを定義する:
- 確立
tools.yaml
ファイルのサンプル・コンフィギュレーションは以下の通りである:sources: my-pg-source: kind: postgres host: 127.0.0.1 port: 5432 database: toolbox_db user: ${USER_NAME} password: ${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.
- 環境変数を使う(例
${USER_NAME}
) 機密情報を保存し、ハードコーディングは避ける。 - ファイルを保存したら、以下のコマンドを実行してサーバーを起動する:
./toolbox
- ダイナミック・オーバーロードはデフォルトで有効になっています。
--disable-reload
ロゴ
主な機能
1.ローディングツール
MCPツールボックスは、さまざまなフレームワーク用のSDKを介したツールのロードをサポートしています。以下はPython SDKの例です:
- SDKをインストールする(フレームワークに応じて選択):
pip install toolbox-langchain
- ツールセットの読み込み:
from toolbox_langchain import ToolboxClient async with ToolboxClient("http://127.0.0.1:5000") as client: tools = await client.load_toolset("toolset_name")
- ロードされたツールは、アプリケーションやAIエージェントに直接渡すことができる。
2.自然言語クエリー
ユーザーは自然言語でデータベースに問い合わせることができる。例えば、「2024年に納品された注文とその商品」というクエリです:
- データソースを設定した後、ツールは自動的に自然言語をSQLクエリに変換する。
- サポートされているIDEで、"Find hotels in Basel with its name"(バーゼルのホテルを検索)のように入力すると、ツールは次のように呼び出します。
search-hotels-by-name
結果を返すツール。
3.自動化されたデータベース管理
MCP Toolboxは、データベース操作を自動的に生成することができます。例えば
- テーブルの作成:「ユーザー情報を格納するデータテーブルを作成する」などの要件を記述すると、ツールが対応するSQLを生成します。
- Add Index:「Add Index to User Table」と入力すると、ツールが自動的に実行される。
- ユーザーはIDEに要件を入力するだけで、複雑な操作はツールが処理する。
4.コンテキストを考慮したコード生成
このツールは、データベーススキーマに基づいてコードを生成します。例
- Generate User Management Module Code "と入力すると、ツールはテーブル構造に基づいてCRUD操作コードを生成します。
- コードの信頼性を確保するためのテストケースの生成をサポート。
サーバーの停止
稼働中のサーバーには Ctrl+C
終了する。バックグラウンドで実行するには、DockerまたはSystem Service Managerツールを使用する。
ほら
- 現在のバージョンはベータ版(
0.9.0
)、不安定になる可能性がありますので、公式リリースページに注意することをお勧めします。 - 安定したインターネット接続があることを確認してください。Dockerイメージのプルには、科学的なインターネット接続が必要な場合があります。
- 機密情報(データベースパスワードなど)は、漏洩を避けるために環境変数を使って管理すべきである。
アプリケーションシナリオ
- AIエージェント開発
開発者はMCP Toolboxを使用して、AIエージェント用のデータベースツールを迅速に構築します。例えば、ホテル予約ボットは、自然言語を通じてホテル情報を照会し、予約操作を自動化することで、手作業によるコーディング作業を削減できます。 - データベース管理の自動化
データアナリストは、複雑なSQLを記述する必要はありません、要件の自然言語記述を通じて(例えば "2024年の売上高の統計")、あなたは迅速なデータ探査に適したクエリの結果を得ることができます。 - チーム横断的なツールの共有
開発チームはMCP Toolboxにツールを保存し、複数のプロジェクトやAIエージェントで共有できるため、ツールの再利用が可能になり、メンテナンスコストを削減できる。 - リアルタイム・コード生成
初心者や多忙な開発者は、コンテキストを意識した機能を活用することで、データベース関連のアプリケーションコードを素早く生成し、開発サイクルを短縮することができる。
品質保証
- MCP Toolboxはどのデータベースをサポートしていますか?
現在、PostgreSQLが主なサポートで、他のデータベースは開発中です。ユーザはtools.yaml
で対応するデータソースを設定する。 - ツールの安全性はどのように確保するのですか?
このプラットフォームは、組み込みの認証メカニズムを提供し、機密情報を管理し、ハードコーディングを避けるための環境変数をサポートしています。サーバーの展開にはHTTPSを推奨します。 - 実行するには高度に設定可能な環境が必要か?
いいえ、MCP Toolboxは軽量で、通常の開発マシンやクラウドサーバーで動作するように設計されており、Dockerデプロイメントによって環境要件がさらに軽減されます。 - アプリを再起動せずにツールをアップデートするには?
動的リロードはデフォルトで有効になっており、新しいツールや構成の更新は、サーバーを再起動することなく自動的に有効になります。