データベースMCPサーバー
さまざまなデータベース システムに接続して対話するためのツールを提供するモデル コンテキスト プロトコル (MCP) サーバー。
特徴
マルチデータベースのサポート: SQLite、PostgreSQL、MySQL/MariaDB、SQL Server データベースに接続します
統合インターフェース: サポートされているすべてのデータベース タイプでデータベース操作を行うための共通ツール
データベース固有の拡張機能: 必要に応じて、データベース固有の機能のための特定のツール
スキーマ管理: テーブルとインデックスの作成、変更、削除
クエリ実行: 生のSQLクエリを実行するか、構造化クエリツールを使用する
トランザクションサポート: トランザクションの開始、コミット、ロールバック
Related MCP server: SQLite MCP Server
インストール
前提条件
Python 3.8以上
必要な Python パッケージ (pip で自動的にインストールされます):
SQLアルケミー
使用するデータベースに応じて、さまざまなデータベース ドライバーがあります。
SQLite (Python に含まれています)
PostgreSQL:
psycopg2-binaryMySQL/MariaDB:
mysql-connector-pythonSQL サーバー:
pyodbc
ソースからのインストール
構成
サーバーは、環境変数、構成ファイル、または実行時に接続の詳細を提供することで構成できます。
環境変数
DB_CONFIG_PATH: JSON設定ファイルへのパスDB_CONNECTIONS: 接続IDのカンマ区切りリスト、または接続の詳細を含むJSON文字列
設定ファイルの形式
使用法
サーバーの実行
クロードのMCPサーバーとして
スタンドアロン Web サーバーとして (任意の LLM 用)
利用可能なMCPツール
接続管理
add_connection: 新しいデータベース接続を追加するtest_connection: データベース接続をテストするlist_connections: すべてのデータベース接続を一覧表示するremove_connection: データベース接続を削除する
クエリ実行
execute_query: SQLクエリを実行するget_records: テーブルからレコードを取得するinsert_record: テーブルにレコードを挿入するupdate_record: テーブル内のレコードを更新するdelete_record: テーブルからレコードを削除する
スキーマ管理
list_tables: データベース内のすべてのテーブルを一覧表示するget_table_schema: テーブルのスキーマを取得するcreate_table: 新しいテーブルを作成するdrop_table: テーブルを削除するcreate_index: テーブルにインデックスを作成するdrop_index: インデックスを削除するalter_table: テーブル構造を変更する
トランザクション管理
begin_transaction: トランザクションを開始するcommit_transaction: トランザクションをコミットするrollback_transaction: トランザクションをロールバックする
例
接続を追加する
クエリを実行する
テーブルを作成する
レコードを挿入
発達
テストの実行
他のLLMからの接続
スタンドアロンのウェブサーバーとして実行する場合、他のLLM(Llama 3など)はHTTP経由でデータベースMCPサーバーに接続できます。サーバーは以下のエンドポイントを公開します。
エンドポイント
/list_tools- GET または POST: 利用可能なすべてのツールとその説明および入力スキーマのリストを返します。/call_tool- POST: 特定のデータベースツールを実行する
例: 別の LLM からの呼び出し
このサーバーを他のLLMと併用するには、LLMにサーバーへのHTTPリクエストを生成させます。Llama 3のようなLLMのプロンプトの構造例を以下に示します。
クライアント統合用のサンプル Python コード
ライセンス
This server cannot be installed