
データベース用MCPツールボックス
MCP Toolbox for Databases は現在ベータ版であり、最初の安定リリース (v1.0) まで互換性に影響する変更が加えられる可能性があります。
MCP Toolbox for Databasesは、データベース用のオープンソースMCPサーバーです。接続プールや認証といった複雑な処理を自動化することで、ツールの開発をより簡単、迅速、そして安全に行うことができます。
このREADMEでは概要を説明します。詳細については、完全なドキュメントをご覧ください。
このソリューションは、当初の開発が MCP より前であったため、「Gen AI Toolbox for Databases」という名前でしたが、最近追加された MCP 互換性に合わせて名前が変更されました。
目次
Related MCP server: MySQL MCP Server
なぜツールボックスなのか?
Toolbox は、エージェントがデータベース内のデータにアクセスできるようにする Gen AI ツールの構築に役立ちます。Toolbox には以下の機能があります。
開発の簡素化: 10 行未満のコードでエージェントにツールを統合し、複数のエージェントまたはフレームワーク間でツールを再利用し、新しいバージョンのツールをより簡単に展開できます。
パフォーマンスの向上: 接続プール、認証などのベスト プラクティス。
強化されたセキュリティ: 統合認証により、データへのより安全なアクセスが可能
エンドツーエンドの可観測性: OpenTelemetry の組み込みサポートを備えた、すぐに使用できるメトリックとトレース。
一般的なアーキテクチャ
Toolboxは、アプリケーションのオーケストレーションフレームワークとデータベースの間に位置し、ツールの変更、配布、呼び出しに使用するコントロールプレーンを提供します。ツールの保存と更新を一元的に行えるため、ツールの管理が簡素化されます。これにより、エージェントやアプリケーション間でツールを共有し、アプリケーションを再デプロイすることなくツールを更新できます。

はじめる
サーバーのインストール
最新バージョンについては、リリース ページを確認し、OS と CPU アーキテクチャに応じて次の手順に従ってください。
Toolbox をバイナリとしてインストールするには:
ソースからインストールするには、最新バージョンのGo がインストールされていることを確認してから、次のコマンドを実行します。
サーバーの実行
ツールを定義するためにtools.yamlを設定し、 toolboxを実行してサーバーを起動します。
フラグの完全なリストについては、 toolbox helpを参照してください。サーバーを停止するには、終了信号を送信します (ほとんどのプラットフォームではctrl+c )。
さまざまな環境への展開に関する詳細なドキュメントについては、 「ハウツー」セクションのリソースを参照してください。
アプリケーションの統合
サーバーが起動したら、アプリケーションにツールをロードできます。各種フレームワークを使用するためのクライアントSDKのリストは以下をご覧ください。
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 を参照してください。
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 を参照してください。
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 を参照してください。
構成
Toolbox を設定する主な方法は、 tools.yamlファイルを使用することです。複数のファイルがある場合は、 --tools-file tools.yamlフラグを使用して、どのファイルを読み込むかを Toolbox に指示できます。
すべてのリソース タイプに関する詳細なリファレンス ドキュメントは、「リソース」に記載されています。
出典
tools.yamlのsourcesセクションでは、ツールボックスがアクセスできるデータソースを定義します。ほとんどのツールには、実行対象となるソースが少なくとも 1 つあります。
さまざまなタイプのソースの構成の詳細については、 「ソース」を参照してください。
ツール
tools.yamlのtoolsセクションでは、エージェントが実行できるアクション (ツールの種類、影響を受けるソース、使用するパラメーターなど) を定義します。
さまざまな種類のツールの構成の詳細については、 「ツール」を参照してください。
ツールセット
tools.yamlのtoolsetsセクションでは、まとめてロードしたいツールのグループを定義できます。これは、エージェントやアプリケーションごとに異なるグループを定義する場合に便利です。
ツールセットを名前で読み込むことができます:
バージョン管理
このプロジェクトでは、次の値で増加するMAJOR.MINOR.PATCHバージョン番号を含むセマンティック バージョニングを使用します。
互換性のないAPIの変更を行った場合のメジャーバージョン
下位互換性のある機能を追加した場合のマイナーバージョン
後方互換性のあるバグ修正を行った場合のPATCHバージョン
これに適用されるパブリック API は、Toolbox に関連付けられた CLI、公式 SDK とのやり取り、およびtools.yamlファイル内の定義です。
貢献
貢献を歓迎します。まずは「貢献」をご覧ください。
このプロジェクトはコントリビューター行動規範に基づいてリリースされます。このプロジェクトに参加することにより、その規約を遵守することに同意したことになります。詳しくはコントリビューター行動規範をご覧ください。