PluginBench
MCP Server
Maintained
Apache-2.0

io.github.enessari/metabase-ai-assistant MCP Server

io.github.enessari/metabase-ai-assistant

Enterprise MCP server connecting LLMs to Metabase with 152 tools for SQL generation, dashboards, dbt integration, and semantic layer management.

What is the io.github.enessari/metabase-ai-assistant MCP server?

The Metabase AI Assistant is an MCP server that integrates Large Language Models and AI coding assistants directly with Metabase Business Intelligence instances. It provides 152 dedicated tools for SQL generation, dashboard creation, dbt metadata syncing, semantic layer management, and autonomous query healing across Metabase v0.43+.

This server transforms Claude, Cursor, ChatGPT, and Gemini into full Metabase power users. It enables natural language to SQL conversion, autonomous dashboard architecture, dbt deep scanning with multi-hop lineage joins, semantic memory governance, self-healing SQL execution, PII masking, and query optimization—all with enterprise-grade security and backward compatibility across Metabase versions.

How to install io.github.enessari/metabase-ai-assistant

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • METABASE_URL
    required

    Metabase instance URL (e.g., http://localhost:3000)

  • METABASE_USERNAME

    Metabase username for authentication

  • METABASE_PASSWORD
    secret

    Metabase password for authentication

  • METABASE_API_KEY
    secret

    Metabase API key (alternative to username/password)

  • DATABASE_HOST

    PostgreSQL database host for direct SQL execution

  • DATABASE_PORT

    PostgreSQL database port

  • DATABASE_NAME

    PostgreSQL database name

  • DATABASE_USER

    PostgreSQL database user

  • DATABASE_PASSWORD
    secret

    PostgreSQL database password

~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "metabase-ai-assistant": {
      "command": "npx",
      "args": [
        "-y",
        "metabase-ai-assistant"
      ],
      "env": {
        "METABASE_URL": "<YOUR_METABASE_URL>",
        "METABASE_USERNAME": "<YOUR_METABASE_USERNAME>",
        "METABASE_PASSWORD": "<YOUR_METABASE_PASSWORD>",
        "METABASE_API_KEY": "<YOUR_METABASE_API_KEY>",
        "DATABASE_HOST": "<YOUR_DATABASE_HOST>",
        "DATABASE_PORT": "<YOUR_DATABASE_PORT>",
        "DATABASE_NAME": "<YOUR_DATABASE_NAME>",
        "DATABASE_USER": "<YOUR_DATABASE_USER>",
        "DATABASE_PASSWORD": "<YOUR_DATABASE_PASSWORD>"
      }
    }
  }
}

Tools & capabilities

Tools this server exposes to the agent.

  • dbt_project_scan_deep — 9-tier architectural classification of dbt models with doc() resolution and catalog.json profiling
  • dbt_lineage_joins_graph — Resolves shortest join paths via Dijkstra algorithms with DAG cycle detection
  • dbt_semantic_preagg_advisor — Generates multi-dialect materialized view DDLs for pre-aggregation and rollup optimization
  • dbt_build_dashboard_from_yaml — Translates meta.metabase and meta.lightdash formatting into Metabase dashboards
  • dbt_semantic_export_yaml — Serializes business rules into dbt schema.yml and semantic_models.yml code blocks
  • ai_sql_execute_and_heal — Autonomous self-healing SQL engine with 3-iteration error recovery across multiple dialects
  • dbt_inspect_models — Parses dbt manifest.json and MetricFlow semantic models
  • dbt_prioritize_sources — Routes natural language questions to pre-aggregated dimensional and fact tables
  • semantic_memory_propose — Proposes business rules in PENDING_APPROVAL status
  • semantic_memory_approve — Activates rules with required data steward comments
  • semantic_memory_deprecate — Soft-archives rules with mandatory audit reasons
  • semantic_memory_restore — Restores archived semantic memory rules
  • semantic_memory_list — Lists all rules with complete audit history and timestamps
  • card_create — Creates questions/cards in Metabase
  • card_execute — Executes card queries with parametric filtering
  • dashboard_create — Creates dashboards with grid placement and filter linking
  • dashboard_tab_management — Manages multi-tab dashboard layouts
  • query_optimizer — Optimizes query performance
  • query_explainer — Explains query logic and execution
  • collection_tree_traversal — Traverses collection hierarchies

Use cases

  • Generate SQL queries from natural language descriptions and execute them against your Metabase database with automatic error healing
  • Create and configure dashboards programmatically with grid layouts, filters, and tabs using dbt metadata and YAML specifications
  • Analyze dbt project lineage, identify join paths, and generate pre-aggregation recommendations across multiple SQL dialects
  • Propose, approve, and manage semantic business rules with full governance audit trails and soft-deprecation workflows
  • Mask sensitive PII data in query results and enforce zero-leak enterprise data protection policies

io.github.enessari/metabase-ai-assistant MCP server FAQ

What is the Metabase AI Assistant MCP server?

It's an enterprise-grade MCP server with 152 tools that connects LLMs (Claude, Cursor, ChatGPT, Gemini) directly to Metabase instances, enabling natural language SQL generation, autonomous dashboard creation, dbt integration, semantic layer management, and self-healing query execution.

Is it free to use?

Yes, it's open-source under Apache License 2.0. You only need a Metabase instance (open-source or enterprise) and an API key to connect.

How do I install it in Claude Desktop?

Add the server to your claude_desktop_config.json with your Metabase URL and API key, or use the one-click Smithery CLI: `npx -y @smithery/cli install metabase-ai-assistant --client claude`.

How do I install it in Cursor?

Add the server definition to `.cursor/mcp.json` with your Metabase credentials (METABASE_URL and METABASE_API_KEY environment variables).

What authentication is required?

You need a Metabase API key (generated in Metabase admin settings) and the URL of your Metabase instance. The server supports both session token and API key authentication.

Which Metabase versions are supported?

Full support for Metabase v0.43 through v0.61+, including both open-source and enterprise editions with automatic feature detection.

README (reference)

Source of truth, from the repository.

Metabase AI Assistant — Model Context Protocol (MCP) Server

npm version License Node.js MCP SDK

Metabase AI Assistant is an enterprise-grade Model Context Protocol (MCP) server that connects Large Language Models (LLMs), AI coding assistants, and automated data workflows directly to your Metabase Business Intelligence instance.

Featuring 152 dedicated tools, native dbt Metadata & Metrics Auto-Syncer, Metabase to dbt Reverse Lineage Exposures, dbt-Smart Question Creator, Lightdash Code-as-BI YAML-to-Dashboard generation, Cube.js-style Pre-aggregations & Multi-Hop Lineage Joins, Omni.co Controlled Semantic-to-YAML bridge, autonomous self-healing SQL execution, full-scale dashboard architecting, proactive anomaly detection, query index advisory, zero-leak PII masking, and strict security guardrails. Works seamlessly with Claude, Cursor, ChatGPT, Gemini, and Google Antigravity.


🌍 Language Versions / Dil Seçenekleri / 语言版本 / النسخ اللغوية


Table of Contents


Core Architectural Highlights

Metabase AI Assistant transforms standard AI interfaces (Claude Desktop, Cursor, VS Code, ChatGPT, Gemini, automated agent frameworks) into full-fledged Metabase power users:

  1. dbt Deep Scanning & MetricFlow Integration (dbt_project_scan_deep): 9-tier architectural classification, doc('...') resolution, and catalog.json table/column profiling.
  2. Cube.js Multi-Hop Lineage Joins (dbt_lineage_joins_graph): Resolves shortest join paths via Dijkstra Min-Heap algorithms with 3-color DAG cycle detection.
  3. Cube.js Pre-Aggregation & Rollup Advisor (dbt_semantic_preagg_advisor): Generates multi-dialect Materialized View DDLs (Postgres, BigQuery, Snowflake, ClickHouse, DuckDB, Redshift, MySQL) with HyperLogLog distinct counts.
  4. Lightdash Code-as-BI Dashboard Builder (dbt_build_dashboard_from_yaml): Translates meta.metabase and meta.lightdash formatting options into collision-free 24-column Metabase Dashboards.
  5. Omni.co Controlled Semantic-to-YAML Exporter (dbt_semantic_export_yaml): Serializes approved business rules into clean dbt schema.yml / semantic_models.yml code blocks.
  6. Autonomous Self-Healing SQL Engine (ai_sql_execute_and_heal): 3-iteration automated error-recovery loop for resilient querying.
  7. Zero-Leak Enterprise PII Masker: Real-time sanitization of emails, phone numbers, national IDs, credit cards, IP addresses, and tokens.

Next-Gen Autonomous Features (v5.1)

1. dbt Architectural Hierarchy & Source Prioritization

$$\mathbf{Gold;Marts;(fct_,;dim_,;rpt_)} ;\gg; \mathbf{Silver;(int_)} ;\gg; \mathbf{Bronze;Staging;(stg_)}$$

  • dbt_inspect_models: Parses dbt manifest.json and MetricFlow semantic models.
  • dbt_prioritize_sources: Dynamically routes natural language questions to pre-aggregated, tested dimensional and fact tables.

2. Governance-First Semantic Memory (No Silent Learning, No Hard-Deletes)

  • semantic_memory_propose: Proposes a business rule in PENDING_APPROVAL status.
  • semantic_memory_approve: Explicitly activates the rule with required data steward comments.
  • semantic_memory_deprecate: Safely soft-archives rules with mandatory audit reasons (DEPRECATED).
  • semantic_memory_restore: Instantly restores archived rules.
  • semantic_memory_list: Lists all rules with complete audit history and timestamps.

3. Autonomous Self-Healing SQL Engine (ai_sql_execute_and_heal)

  • Catches syntax errors, Levenshtein-distance column misspellings, missing GROUP BY clauses, and dialect quirks across Postgres, MySQL, BigQuery, Snowflake, and SQLite.
  • Preserves fix history in _provenance.healing_trail.

Metabase Version Compatibility

Metabase AI Assistant provides backward and forward compatibility across all major Metabase architectures:

Metabase Version RangeCompatibility LevelKey Features Supported
Metabase v0.55 – v0.61+ (Current)Full SupportModern MBQL 5 format (stages, lib/type), /api/upload/csv, updated collection permissions, multi-tab dashboards
Metabase v0.50 – v0.54Full SupportCollection tree hierarchies (/api/collection/tree), Model cards, API Key auth (x-api-key), sequential parametric queries
Metabase v0.43 – v0.49Full SupportSession token authentication (X-Metabase-Session), legacy MBQL query pipelines, database introspection
Metabase Open Source & EnterpriseFull SupportAutomatic feature detection (whitelabeling, audit logs, granular data permissions)

Quick Start & Installation

Global Execution via NPX

npx metabase-ai-assistant

Manual Installation via NPM

npm install -g metabase-ai-assistant

Client Configuration & Desktop Setup

1. Claude Desktop

Option A: One-Click Extension (DXT / MCPB)

  1. Open Claude Desktop Settings -> Developer / Extensions -> Install Local Extension.
  2. Select this repository folder.
  3. Or install via Smithery CLI:
    npx -y @smithery/cli install metabase-ai-assistant --client claude
    

Option B: Manual JSON Configuration

Add the server definition to claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "metabase": {
      "command": "npx",
      "args": ["-y", "metabase-ai-assistant"],
      "env": {
        "METABASE_URL": "https://your-metabase-instance.com",
        "METABASE_API_KEY": "mb_your_api_key_here",
        "METABASE_READ_ONLY_MODE": "true"
      }
    }
  }
}

2. Cursor IDE, Windsurf & VS Code

Add to .cursor/mcp.json or VS Code MCP settings:

{
  "mcpServers": {
    "metabase": {
      "command": "npx",
      "args": ["-y", "metabase-ai-assistant"],
      "env": {
        "METABASE_URL": "https://your-metabase-instance.com",
        "METABASE_API_KEY": "mb_your_api_key_here",
        "METABASE_READ_ONLY_MODE": "true"
      }
    }
  }
}

3. ChatGPT Custom GPTs & Actions

Expose Metabase AI Assistant as an OpenAPI Action for ChatGPT Plus / Team / Enterprise:

  1. Start the Remote SSE/HTTP server: npm run start:sse
  2. In ChatGPT, create a Custom GPT -> Actions -> Import from URL: https://your-domain.com/tools/openapi.json
  3. Detailed setup guide: docs/integrations/CHATGPT_ACTIONS_GUIDE.md

4. Google Gemini & Google AI Studio

Pass tool definitions to Gemini Function Calling SDKs (@google/genai or google-generativeai):

5. Cloudflare Workers (Serverless Edge)

Deploy directly to Cloudflare's edge network for free:

cd deploy/cloudflare
npx wrangler deploy

Tool Categories Overview (143 Tools)

The 143 MCP tools are categorized into 10 operational domains:

  1. dbt & Semantic Layer (6 tools): Model hierarchy inspection, lineage resolution, source prioritization, governance-first business memory (propose, approve, soft-deprecate, restore).
  2. Autonomous AI BI Operations (4 tools): Self-healing SQL engine, end-to-end dashboard architect, query index advisor, proactive anomaly detector.
  3. SQL & Query Execution (14 tools): Direct SQL queries, async execution jobs, query status tracking, pagination, and speed benchmarks.
  4. AI Query Intelligence (6 tools): Natural language to SQL, query performance optimizer, query explainer, automated table description.
  5. Cards & Visualizations (34 tools): Question creation, query execution, parametric filtering, card cloning, visualization settings.
  6. Dashboards & Layouts (22 tools): Dashboard creation, grid placement, filter linking, tab management, executive templates.
  7. Collections & Organization (8 tools): Collection tree traversal, hierarchical moves, permission graphs, item listing.
  8. Schema & Data Modeling (18 tools): Schema retrieval, foreign key inference, data profiling, table definitions.
  9. User & Permission Administration (12 tools): User invitations, group assignments, membership controls, status toggling.
  10. Actions & Documentation (19 tools): Metabase actions execution, pulses, alerts, webhooks, metrics, segment definitions, workspace migration.

Testing & Quality Assurance

Backed by an automated multi-tier test suite covering unit logic, integration workflows, and security fuzzing:

# Run complete test suite (32 suites, 583 tests)
npm test

# Run unit tests
npm run test:unit

# Run integration workflows
npm run test:integration

# Run security & PII zero-leak fuzzing tests
npm run test:security

License

Licensed under the Apache License 2.0. See the LICENSE file for details.

Developed and maintained by Abdullah Enes SARI (ONMARTECH LLC).

Related MCP servers

MOMobiLoop logo

MobiLoop

Active

Guarded AI mobile Appium testing, security scanning, verification, and fix-retest loops.

12
TypeScript
MIT
View repository →

Folosat MCP — income allocation, savings goals, group expenses and wealth tracking. EN & AR.

Upload Android and iOS builds to buildtree and get install links, QR codes and tester feedback.

0
TypeScript
MIT
View repository →

Shared memory for Claude and ChatGPT—edit your notes in Obsidian, your AI reads and writes them.

10
Elixir
View repository →

Trace code history, commit reasoning, and PR context directly from Git logs.

View repository →

Cited, confidence-stamped patent intelligence over US university tech-transfer out-licensing.