メタベースMCPサーバー
AI アシスタントが Metabase データベースおよびアクションと対話できるようにするモデル制御プロトコル (MCP) サーバー。
![メタベースMCPサーバー]
概要
Metabase MCP サーバーは、AI アシスタントと Metabase の間にブリッジを提供し、AI モデルが次のことを実行できるようにします。
Metabase で構成されたデータベースの一覧と探索
データベースのスキーマ、テーブル、フィールドに関する詳細なメタデータを取得します
データベース内のテーブル間の関係を視覚化する
メタベースアクションの一覧表示と実行
安全なAPIを介してメタベースデータに対する操作を実行する
このサーバーは、[モデル制御プロトコル (MCP)] 仕様を実装しており、MCP ツールをサポートする AI アシスタントと互換性があります。
Related MCP server: MCP Toolkit
特徴
データベース探索: すべてのデータベースを一覧表示し、そのスキーマを探索します
メタデータの取得: テーブル、フィールド、関係に関する詳細情報を取得します
関係の視覚化: データベースの関係を視覚的に表現する
アクション管理: メタベースアクションの一覧表示、詳細の表示、実行
安全なAPIキーの取り扱い:APIキーを暗号化して保存し、漏洩を防止します。
Web インターフェース: ユーザーフレンドリーな Web インターフェースを通じて機能をテストおよびデバッグします
Docker サポート: Docker と Docker Compose による簡単なデプロイ
前提条件
メタベースインスタンス(v0.46.0以上を推奨)
適切な権限を持つメタベース API キー
Docker(コンテナ化されたデプロイメント用)
Python 3.10+ (ローカル開発用)
インストール
Dockerの使用(推奨)
このリポジトリをクローンします:
git clone https://github.com/yourusername/metabase-mcp.git cd metabase-mcpDocker コンテナをビルドして実行します。
docker-compose up -dhttp://localhost:5001で設定インターフェースにアクセスします。
手動インストール
このリポジトリをクローンします:
git clone https://github.com/yourusername/metabase-mcp.git cd metabase-mcp依存関係をインストールします:
pip install -r requirements.txt構成インターフェースを実行します。
python -m src.server.web_interfacehttp://localhost:5000で設定インターフェースにアクセスします。
構成
ブラウザでウェブインターフェースを開きます
メタベース URL を入力します (例: http://localhost:3000 )
Metabase APIキーを入力してください
「設定を保存」をクリックして接続をテストします
メタベースAPIキーの取得
メタベースインスタンスに管理者としてログインします
設定 > 管理者設定 > APIキーに移動します
適切な権限を持つ新しいAPIキーを作成する
生成されたキーをMCPサーバーで使用するためにコピーします
使用法
MCPサーバーの実行
設定後、MCP サーバーを実行できます。
利用可能なツール
MCP サーバーは、AI アシスタントに次のツールを提供します。
list_databases : Metabase に設定されているすべてのデータベースを一覧表示します
get_database_metadata : 特定のデータベースの詳細なメタデータを取得する
db_overview : データベース内のすべてのテーブルの概要を取得します
table_detail : 特定のテーブルに関する詳細情報を取得する
visualize_database_relationships : データベースの関係を視覚的に表現する
run_database_query : データベースに対してSQLクエリを実行する
list_actions : Metabase で設定されているすべてのアクションを一覧表示します
get_action_details : 特定のアクションに関する詳細情報を取得する
execute_action : パラメータ付きでメタベースアクションを実行する
Webインターフェース経由のテストツール
Web インターフェースには、各ツールのテスト領域が用意されています。
データベースの一覧表示: メタベースに設定されているすべてのデータベースを表示します
データベースメタデータの取得: データベースの詳細なスキーマ情報を表示する
DB概要: データベース内のすべてのテーブルの簡潔なリストを表示します
テーブルの詳細: 特定のテーブルに関する詳細情報を表示します
データベース関係の視覚化: テーブル関係の視覚的表現を生成する
クエリの実行: データベースに対してSQLクエリを実行する
アクションの一覧表示: メタベースで設定されたすべてのアクションを表示します
アクションの詳細を取得: 特定のアクションに関する詳細情報を表示します
アクション実行: パラメータ付きアクションの実行をテストする
セキュリティに関する考慮事項
APIキーは暗号化されて保存されます
ウェブインターフェースではAPIキーはプレーンテキストで表示されません
安全なメタベース URL が設定されている場合、すべての API リクエストは HTTPS を使用します。
実稼働環境では、サーバーは安全なプロキシの背後に配置する必要があります。
発達
プロジェクト構造
新しいツールの追加
新しいツールを追加するには:
src/tools/にツール機能を実装するsrc/server/mcp_server.pyにツールを登録します。templates/config.htmlにテストインターフェースを追加する(オプション)src/server/web_interface.pyにルートを追加します(テストインターフェースを追加する場合)
トラブルシューティング
よくある問題
接続に失敗しました: メタベース URL が正しくアクセス可能であることを確認してください
認証エラー: APIキーに必要な権限があることを確認してください
Dockerネットワークの問題: Dockerを使用する場合は、適切なネットワーク構成を確認してください
ログ
詳細なエラー情報についてはログを確認してください。
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。