metabase-mcp
Metabase MCPサーバー - AIアシスタントをMetabase分析に接続
Metabase用の高性能なModel Context Protocol (MCP) サーバーです。ClaudeやCursorなどのAIアシスタントやその他のMCPクライアントが、Metabaseインスタンスとシームレスに連携できるようになります。AIを活用したデータベース操作を通じて、自然言語でデータベースのクエリ、SQLの実行、ダッシュボードの管理、分析ワークフローの自動化を実現します。
対象ユーザー: データアナリスト、開発者、およびAIアシスタントをMetabaseビジネスインテリジェンスプラットフォームと統合し、SQLクエリの自動化、ダッシュボード管理、データ探索を行いたいチーム。
主な機能
データベース操作
データベース一覧: 設定済みのすべてのMetabaseデータベースを閲覧
テーブル探索: メタデータや説明付きでテーブルを探索
フィールド検査: スマートなページネーションを備えた詳細なフィールド/カラム情報の取得
クエリと分析
SQL実行: パラメータサポートとテンプレート機能を備えたネイティブSQLクエリの実行
MongoDBサポート: 集計パイプライン用の自動JSON変換機能を備えたネイティブMongoDBクエリの実行
カード管理: Metabaseの質問/カード(SQLおよびMongoDB)の実行、作成、管理
コレクション整理: 整理を効率化するためのコレクションの作成と管理
自然言語クエリ: AIアシスタントに質問をSQLまたはMongoDBクエリに変換させる機能
認証とセキュリティ
APIキーサポート: Metabase APIキーによる安全な認証(推奨)
セッションベース認証: メールアドレス/パスワードによる代替認証
環境変数:
.envファイルによる安全な認証情報管理
AIアシスタント統合
Claude Desktop: AnthropicのClaude AIとのネイティブ統合
Cursor IDE: AI支援開発のためのシームレスな統合
MCPクライアント: すべてのModel Context Protocolクライアントと互換性あり
パフォーマンスと信頼性の向上
コンテキスト認識ログ: AIクライアントから確認可能なデバッグ、情報、警告、エラーレベルのリアルタイムログ
適切なエラーハンドリング: より良いエラーメッセージとデバッグのためのFastMCP
ToolError例外ミドルウェアスタック: 本番環境での信頼性を高めるためのエラーハンドリングおよびログ記録ミドルウェアを内蔵
ベストプラクティス: 重複防止とクリーンな設定を備えた最新のFastMCPパターンに従っています
モダンPython: 型安全性を高めるためにPython 3.12+の型ヒント(
|構文)を使用
クイックスタート
前提条件
Python 3.12+
APIアクセスが可能なMetabaseインスタンス
uvxまたはuvパッケージマネージャー
インストール
オプション 1: uvxを使用(最も簡単 - インストール不要)
# Run directly without installing (like npx for Python)
uvx metabase-mcp
# With environment variables
METABASE_URL=https://your-instance.com METABASE_API_KEY=your-key uvx metabase-mcpオプション 2: PyPIからインストール
# Install globally
uv tool install metabase-mcp
# Or with pip
pip install metabase-mcp
# Then run
metabase-mcpオプション 3: 開発セットアップ(ソースから)
# Clone the repository
git clone https://github.com/cheukyin175/metabase-mcp.git
cd metabase-mcp
# Install dependencies
uv sync
# Run the server
uv run python server.py設定
Metabaseの認証情報を含む .env ファイルを作成します:
cp .env.example .env設定オプション
オプション 1: APIキー認証(推奨)
METABASE_URL=https://your-metabase-instance.com
METABASE_API_KEY=your-api-key-hereオプション 2: メールアドレス/パスワード認証
METABASE_URL=https://your-metabase-instance.com
METABASE_USER_EMAIL=your-email@example.com
METABASE_PASSWORD=your-passwordオプション: Metabase API HTTPタイムアウト
METABASE_HTTP_TIMEOUT=30.0 # Default: 30.0 secondsオプション: SSE/HTTP用のカスタムホスト/ポート
HOST=localhost # Default: 0.0.0.0
PORT=9000 # Default: 8000使用方法
サーバーの実行
クイックスタート(設定不要)
# Run directly with uvx
uvx metabase-mcp
# With custom Metabase instance
METABASE_URL=https://your-instance.com METABASE_API_KEY=your-key uvx metabase-mcpソースから実行(開発用)
# STDIO transport (default)
uv run python server.py
# SSE transport (uses HOST=0.0.0.0, PORT=8000 by default)
uv run python server.py --sse
# HTTP transport (uses HOST=0.0.0.0, PORT=8000 by default)
uv run python server.py --http
# Custom host and port via environment variables
HOST=localhost PORT=9000 uv run python server.py --sse
HOST=192.168.1.100 PORT=8080 uv run python server.py --httpCursorとの統合
Cursorの設定を編集することで、手動で設定できます。
SSEトランスポートの場合: Cursorを使用する前にサーバーを起動する必要があります:
uv run python server.py --sseClaude Desktopとの統合
オプション 1: uvxを使用(推奨)
~/Library/Application Support/Claude/claude_desktop_config.json に以下を追加します:
{
"mcpServers": {
"metabase-mcp": {
"command": "uvx",
"args": ["metabase-mcp"],
"env": {
"METABASE_URL": "https://your-metabase-instance.com",
"METABASE_API_KEY": "your-api-key-here"
}
}
}
}オプション 2: ローカルインストールを使用
リポジトリをクローンした場合:
{
"mcpServers": {
"metabase-mcp": {
"command": "uv",
"args": [
"run",
"--directory",
"/absolute/path/to/metabase-mcp",
"python",
"server.py"
],
"env": {
"METABASE_URL": "https://your-metabase-instance.com",
"METABASE_API_KEY": "your-api-key-here"
}
}
}
}オプション 3: FastMCP CLIを使用
fastmcp install server.py -n "Metabase MCP"利用可能なツール
データベース操作
ツール | 説明 |
| Metabaseで設定されたすべてのデータベースを一覧表示 |
| 特定のデータベース内のすべてのテーブルをメタデータ付きで取得 |
| テーブルのフィールド/カラム情報を取得 |
クエリ操作
ツール | 説明 |
| パラメータサポート付きでネイティブSQLクエリを実行 |
| 集計パイプライン用の自動JSON変換機能を備えたネイティブMongoDBクエリを実行 |
| 保存されたMetabaseの質問/カードを実行 |
カード管理
ツール | 説明 |
| 保存されたすべての質問/カードを一覧表示 |
| SQLクエリを使用して新しい質問/カードを作成 |
| ネイティブクエリサポートを使用して新しいMongoDBの質問/カードを作成 |
コレクション管理
ツール | 説明 |
| すべてのコレクションを閲覧 |
| 整理用の新しいコレクションを作成 |
トランスポート方式
サーバーは複数のトランスポート方式をサポートしています:
STDIO (デフォルト): IDE統合用 (Cursor, Claude Desktop)
SSE: Webアプリケーション用のServer-Sent Events
HTTP: APIアクセス用の標準HTTP
uv run python server.py # STDIO (default)
uv run python server.py --sse # SSE (HOST=0.0.0.0, PORT=8000)
uv run python server.py --http # HTTP (HOST=0.0.0.0, PORT=8000)
HOST=localhost PORT=9000 uv run python server.py --sse # Custom host/port開発
開発環境のセットアップ
# Install with dev dependencies
uv sync --group dev
# Or with pip
pip install -r requirements-dev.txtコード品質
# Run linting
uv run ruff check .
# Format code
uv run ruff format .
# Type checking
uv run mypy server.py使用例
クエリの例
# List all databases
databases = await list_databases()
# Execute a SQL query
result = await execute_query(
database_id=1,
query="SELECT * FROM users LIMIT 10"
)
# Create and run a card
card = await create_card(
name="Active Users Report",
database_id=1,
query="SELECT COUNT(*) FROM users WHERE active = true",
collection_id=2
)プロジェクト構造
metabase-mcp/
├── server.py # Main MCP server implementation
├── pyproject.toml # Project configuration and dependencies
└── .env.example # Environment variables templateコントリビューション
コントリビューションを歓迎します!お気軽にプルリクエストを送信してください。
ライセンス
MITライセンス - 詳細はLICENSEファイルを参照してください
リソース
キーワードとトピック
metabase mcp model-context-protocol claude cursor ai-assistant fastmcp sql database analytics business-intelligence bi data-analysis anthropic llm python automation api data-science query-builder natural-language-sql
スターの履歴
このプロジェクトが役に立った場合は、ぜひスターを付けてください!他の人がこのツールを見つける助けになります。
ユースケース
自然言語データベースクエリ: Claudeに平易な英語でMetabaseデータベースをクエリするよう依頼
自動レポート生成: AIを使用してMetabaseのカードやコレクションを作成・管理
データ探索: AIアシスタントにデータから洞察を見つける手助けをさせる
SQLクエリ支援: AIを通じてSQLクエリの作成や最適化のサポートを受ける
ダッシュボード管理: Metabaseダッシュボードの作成と整理を自動化
データ分析ワークフロー: AIを活用した分析を開発ワークフローに統合
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/voducdan/matebase-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server