Metabase MCP Server について
Metabase MCP Server は、AI アシスタントを Metabase 分析プラットフォームに接続する TypeScript 製の MCP サーバーです。ダッシュボード、保存済みの質問、データベースを AI アシスタントから参照したいチーム向けです。ユーザー名とパスワード、および API キーの 2 種類の認証方式に対応します。
主な機能
- 01metabase:// URI によるリソースへのアクセス
- 02ユーザー名・パスワードと API キーによる認証
- 03JSON 形式の構造化されたレスポンス
- 04ログレベルを設定できるロギング
- 05わかりやすいエラーメッセージによるエラー処理
活用シーン
- 01AI アシスタントによる Metabase のダッシュボードと保存済みの質問の一覧取得と実行
- 02接続済みデータベースに対するカスタム SQL クエリの実行
MCP 対応
MCP サーバーとして、list_dashboards、list_cards、list_databases、execute_card、get_dashboard_cards、execute_query などのツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Metabase MCP サーバー
作成者: Hyeongjun Yu (@hyeongjun-dev)
AI アシスタントを Metabase 分析プラットフォームと連携させる Model Context Protocol サーバーです。
概要
この TypeScript ベースの MCP サーバーは、Metabase API とシームレスに連携し、AI アシスタントが分析データを直接操作できるようにします。Claude やその他の MCP 対応 AI アシスタント向けに設計されており、分析プラットフォームと会話型 AI の橋渡しをします。
主な機能
- リソースへのアクセス: 直感的な
metabase://URI を使って Metabase のリソースを参照できます - 2 種類の認証方式: セッションベース認証と API キー認証の両方に対応しています
- 構造化データへのアクセス: AI アシスタントが簡単に利用できる JSON 形式の応答を返します
- 包括的なログ記録: デバッグや監視に役立つ詳細なログを記録します
- エラー処理: 明確なエラーメッセージを伴う堅牢なエラー処理を行います
利用可能なツール
サーバーは AI アシスタント向けに以下のツールを公開します。
list_dashboards: Metabase インスタンスで利用可能なすべてのダッシュボードを取得しますlist_cards: Metabase に保存されているすべての質問/カードを取得しますlist_databases: 接続されているすべてのデータベースソースを表示しますexecute_card: 保存された質問を実行し、オプションのパラメーターを指定して結果を取得しますget_dashboard_cards: 特定のダッシュボードからすべてのカードを抽出しますexecute_query: 接続されている任意のデータベースに対してカスタム SQL クエリを実行します
設定
このサーバーは 2 種類の認証方式に対応しています。
オプション 1: ユーザー名とパスワードによる認証
# Required
METABASE_URL=https://your-metabase-instance.com
[email protected]
METABASE_PASSWORD=your_password
# Optional
LOG_LEVEL=info # Options: debug, info, warn, error, fatal
オプション 2: API キー認証(本番環境に推奨)
# Required
METABASE_URL=https://your-metabase-instance.com
METABASE_API_KEY=your_api_key
# Optional
LOG_LEVEL=info # Options: debug, info, warn, error, fatal
これらの環境変数は直接設定するか、dotenv を使用して .env ファイルで設定できます。
インストール
前提条件
- Node.js 18.0.0 以降
- 適切な認証情報を備えた稼働中の Metabase インスタンス
開発環境のセットアップ
# Install dependencies
npm install
# Build the project
npm run build
# Start the server
npm start
# For development with auto-rebuild
npm run watch
Claude Desktop との連携
Claude Desktop で使用するには、次のサーバー設定を追加します。
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json を編集します
Windows: %APPDATA%/Claude/claude_desktop_config.json を編集します
{
"mcpServers": {
"metabase-mcp-server": {
"command": "/absolute/path/to/metabase-mcp-server/build/index.js",
"env": {
"METABASE_URL": "https://your-metabase-instance.com",
"METABASE_USER_EMAIL": "[email protected]",
"METABASE_PASSWORD": "your_password"
// Or alternatively, use API key authentication
// "METABASE_API_KEY": "your_api_key"
}
}
}
}
または、JSON 設定を使って npx 経由で Smithery ホスト版を使用できます。
API キー認証:
{
"mcpServers": {
"metabase-mcp-server": {
"command": "npx",
"args": [
"-y",
"@smithery/cli@latest",
"run",
"@hyeongjun-dev/metabase-mcp-server",
"--config",
"{\"metabaseUrl\":\"https://your-metabase-instance.com\",\"metabaseApiKey\":\"your_api_key\",\"metabasePassword\":\"\",\"metabaseUserEmail\":\"\"}"
]
}
}
}
ユーザー名とパスワードによる認証:
{
"mcpServers": {
"metabase-mcp-server": {
"command": "npx",
"args": [
"-y",
"@smithery/cli@latest",
"run",
"@hyeongjun-dev/metabase-mcp-server",
"--config",
"{\"metabaseUrl\":\"https://your-metabase-instance.com\",\"metabaseApiKey\":\"\",\"metabasePassword\":\"your_password\",\"metabaseUserEmail\":\"[email protected]\"}"
]
}
}
}
デバッグ
MCP サーバーは stdio 経由で通信するため、デバッグには MCP Inspector を使用します。
npm run inspector
Inspector では、リクエストとレスポンスを監視するためのブラウザベースのインターフェースが提供されます。
Docker のサポート
コンテナ化してデプロイするための Docker イメージを利用できます。
# Build the Docker image
docker build -t metabase-mcp-server .
# Run the container with environment variables
docker run -e METABASE_URL=https://your-metabase.com \
-e METABASE_API_KEY=your_api_key \
metabase-mcp-server
セキュリティに関する考慮事項
- 本番環境では API キー認証を使用することを推奨します
- API キーと認証情報は安全に管理してください
- 認証情報を直接コードに記述するのではなく、Docker secrets または環境変数の使用を検討してください
- Metabase インスタンスへのアクセスを制限するため、適切なネットワークセキュリティ対策を講じてください
コントリビューション
コントリビューションを歓迎します。お気軽にプルリクエストを送信してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。