mcpField
M
Metabase MCP Server

Metabase MCP Server

ローカル
github.com/hyeongjun-devデータ・分析3680 週間前に更新

Metabase MCP Server について

Metabase MCP Server は、AI アシスタントを Metabase 分析プラットフォームに接続する TypeScript 製の MCP サーバーです。ダッシュボード、保存済みの質問、データベースを AI アシスタントから参照したいチーム向けです。ユーザー名とパスワード、および API キーの 2 種類の認証方式に対応します。

主な機能

  1. 01metabase:// URI によるリソースへのアクセス
  2. 02ユーザー名・パスワードと API キーによる認証
  3. 03JSON 形式の構造化されたレスポンス
  4. 04ログレベルを設定できるロギング
  5. 05わかりやすいエラーメッセージによるエラー処理

活用シーン

  1. 01AI アシスタントによる Metabase のダッシュボードと保存済みの質問の一覧取得と実行
  2. 02接続済みデータベースに対するカスタム SQL クエリの実行

MCP 対応

MCP サーバーとして、list_dashboards、list_cards、list_databases、execute_card、get_dashboard_cards、execute_query などのツールを MCP クライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"metabase": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
起動コマンドdocker run -i --rm build

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocibuild

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Metabase MCP サーバー

作成者: Hyeongjun Yu (@hyeongjun-dev)

smithery badge

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 インスタンスへのアクセスを制限するため、適切なネットワークセキュリティ対策を講じてください

コントリビューション

コントリビューションを歓迎します。お気軽にプルリクエストを送信してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。