Database Mcp について
Database MCPはGORMを介してデータベースに接続するGoサービスです。MySQL、PostgreSQL、SQLite、SQL Server、ClickHouseに対応し、YAML、コマンドライン引数、環境変数で設定できます。
主な機能
- 015種類のデータベースに接続
- 02YAML、コマンドライン、環境変数で設定
- 03データベースのテーブル一覧
- 04テーブルとカラムの詳細確認
- 05SQLクエリの実行
活用シーン
- 01MCPクライアントからテーブルやカラムを調査
- 02SQLを実行して結果または更新行数を取得
MCP 対応
MCPサーバーは`get_tables`、`get_table_detail`、`execute_sql`ツールをクライアントに提供します。文書に記載されたローカルSSE URLなど、設定したMCPエンドポイントから接続できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Database MCP Service
GORM を通じて複数のデータベースタイプをサポートする、データベース機能を備えた MCP(Metoro Control Protocol)サービスです。
機能
- 複数のデータベースタイプをサポート:
- MySQL
- PostgreSQL
- SQLite
- SQL Server
- ClickHouse
- 以下を通じた設定:
- 設定ファイル(YAML)
- コマンドライン引数
- 環境変数
- MCP プロトコルとの統合
- GORM ORM のサポート
インストール
- リポジトリをクローンします
- 依存関係をインストールします:
go mod tidy
設定
設定ファイル(config.yaml)
以下の構成で config.yaml ファイルを作成します:
database:
type: "mysql" # mysql, postgres, sqlite, sqlserver, clickhouse
host: "localhost"
port: 3306
username: "root"
password: "password"
database: "mydb"
ssl_mode: "disable" # for postgres
file: "database.db" # for sqlite
コマンドライン引数
コマンドライン引数を使用して、設定ファイルの設定を上書きできます:
./database-mcp --config=config.yaml \
--db-type=mysql \
--db-host=localhost \
--db-port=3306 \
--db-user=root \
--db-pass=password \
--db-name=mydb \
--db-ssl-mode=disable \
--db-file=database.db
使用可能なコマンドライン引数:
--config:設定ファイルへのパス(デフォルト:"config.yaml")--db-type:データベースタイプ(mysql、postgres、sqlite、sqlserver、clickhouse)--db-host:データベースホスト--db-port:データベースポート--db-user:データベースのユーザー名--db-pass:データベースのパスワード--db-name:データベース名--db-ssl-mode:SSL モード(PostgreSQL 用)--db-file:データベースファイル(SQLite 用)
使用方法
-
サービスを起動します:
./database-mcp --db-type=mysql --db-host=127.0.0.1 --db-port=3306 --db-user=dbuser --db-pass=passwd --db-name=dbname --db-ssl-mode=disable --mode=http -
サービスは以下を実行します:
- ファイルおよび/またはコマンドラインから設定を読み込みます
- データベース接続を初期化します
- MCP サーバーを起動します
- 使用可能なツールとリソースを登録します
MCP の設定
MCP サービスを使用するには、MCP クライアントで MCP エンドポイントを設定します:
http://127.0.0.1:8080/sse
これにより、MCP クライアントはポート 8080 で実行されているローカルサービスに接続します。
MCP ツール
このサービスでは、以下の MCP ツールを提供します:
get_tables:データベース内のすべてのテーブルを取得します- 名前とコメントを含むテーブルの一覧を返します
get_table_detail:特定のテーブルの詳細情報を取得します- 引数:
table_name:詳細を取得するテーブルの名前
- 以下を含むテーブル情報を返します:
- テーブル名とコメント
- カラム情報(名前、タイプ、コメント、NULL 許容、デフォルト値)
- 引数:
execute_sql:SQL クエリを実行します- 引数:
query:実行する SQL クエリ
- 戻り値:
- SELECT クエリの場合:結果の配列
- その他のクエリの場合:影響を受けた行数
- 引数:
ライセンス
MIT License
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。