← Back to directory
M

MCP Metabase Server

Community
Comprehensive Metabase access for AI assistants (70+ tools)
GitHub source repository ↗
★ 82 Stars Category · Other Popular Source revision 464fc93edd22
59FMRS · C
Reliability
6/20
Security and permissions
12/20
Maintenance
12/20
Documentation
15/20
Setup experience
14/20

This MCP server provides comprehensive functionality for Metabase via its REST API, including dashboards, cards, databases, tables, collections, and user management. It supports multiple deployment methods and offers tool filtering for controlled access. It is a powerful tool for organizations looking to integrate Metabase with AI workflows, but careful management of API permissions is required to avoid unintended modifications.

Read the FMRS scoring method →

A Model Context Protocol (MCP) server for Metabase that gives AI assistants full access to your analytics platform — dashboards, cards, databases, tables, collections, and more. Developed and maintained by EaseCloud.

Tools

list_dashboards
List all dashboards
get_dashboard
Get a specific dashboard by ID
create_dashboard
Create a new dashboard
update_dashboard
Update an existing dashboard
delete_dashboard
Delete / archive a dashboard
copy_dashboard
Duplicate a dashboard (shallow or deep copy)
save_dashboard
Save a complete dashboard object with nested data
save_dashboard_to_collection
Move a dashboard into a specific collection
search_dashboards
Search dashboards by name or description
favorite_dashboard
Mark a dashboard as a favourite
unfavorite_dashboard
Remove a dashboard from favourites
get_dashboard_cards
Get all cards in a dashboard
add_card_to_dashboard
Add a card with positioning
add_text_block
Add a text or heading block to a dashboard
remove_card_from_dashboard
Remove a card from a dashboard
update_dashboard_card
Update card position, size, and settings
update_dashboard_cards
Bulk-replace all cards on a dashboard
update_dashcard
Update a specific dashcard's properties
execute_dashboard_card
Execute a specific dashcard and return results
create_dashboard_public_link
Create a public sharing link
delete_dashboard_public_link
Remove the public link
list_public_dashboards
List dashboards with public links
list_embeddable_dashboards
List dashboards enabled for embedding
get_dashboard_revisions
Get revision history (audit trail)
revert_dashboard
Revert to a previous revision
get_dashboard_related
Get related content suggestions
get_dashboard_queries
Extract all card queries with resolved field IDs
list_cards
List all questions / cards
get_card
Get a card by ID (includes full SQL / MBQL query)
create_card
Create a new question
update_card
Update an existing question
delete_card
Delete / archive a question
copy_card
Duplicate a card
move_cards
Move one or more cards to a different collection
move_cards_to_collection
Bulk-move cards from a source collection
execute_card
Run a card and return results
execute_pivot_card_query
Run a card formatted as a pivot table
export_card_result
Export results as CSV or JSON
get_card_param_values
Get available values for a card parameter
search_card_param_values
Search / filter parameter values
get_card_param_remapping
Get how parameter values are remapped for display
get_card_query_metadata
Get column types and display names
get_card_dashboards
List dashboards containing this card
get_card_series
Get series data or related card suggestions
create_card_public_link
Create a public sharing link
delete_card_public_link
Remove the public link
list_public_cards
List cards with public links
list_embeddable_cards
List cards enabled for embedding
list_databases
List all database connections
get_database
Get a specific database by ID
create_database_connection
Create a new database connection
update_database
Update a database connection's config or credentials
delete_database
Permanently remove a database connection
add_sample_database
Add the built-in H2 sample database with demo data
execute_query
Execute a SQL query against a database
get_database_schema
Get schema information
get_database_tables
Get all tables in a database
get_database_metadata
Get full metadata including all tables and field IDs
list_database_schemas
List all schemas within a database
sync_database_schema
Trigger a schema metadata sync
get_database_sync_status
Check sync status
check_database_health
Check connection health
validate_database
Validate connection settings before saving
test_database_connection
Test an existing connection
list_tables
List tables (optionally filtered by database)
get_table
Get table metadata by ID
get_table_metadata
Get full query metadata including field IDs and types
get_table_fks
Get foreign key relationships
get_table_related
Find related tables via FK relationships
get_table_data
Get a sample data preview from a table
get_field_id
Look up a field ID by table ID + column name (returns MBQL ref)
get_card_table_fks
Get FK relationships for a card's virtual table
get_card_table_query_metadata
Get query metadata for a card's virtual table
update_table
Update display name, description, or visibility
update_tables
Bulk-update multiple tables with the same config
reorder_table_fields
Change the display order of fields
sync_table_schema
Trigger a schema sync for a specific table
rescan_table_field_values
Rescan field values (updates filter dropdowns)
discard_table_field_values
Discard cached field values
append_csv_to_table
Append new rows from CSV content
replace_table_csv
Replace all table data with new CSV content
list_collections
List all collections
create_collection
Create a new collection
get_collection
Get collection details
update_collection
Update name, description, color, or parent
delete_collection
Delete a collection and its contents
get_collection_items
List cards, dashboards, and sub-collections
move_to_collection
Move a card or dashboard to a different collection
list_users
List all users
create_user
Create a new user
list_permission_groups
List all permission groups
create_permission_group
Create a new permission group
search_content
Search across all Metabase content
get_schema_cache
Return cached schema (auto-fetches if missing or stale)
refresh_schema_cache
Force-refresh cache for one or all databases

Setup

  1. Set environment variables METABASE_URL and METABASE_API_KEY (or use username/password).
  2. Run npx @easecloudio/mcp-metabase-server.
  3. Configure your MCP client to point to this command.
claude_desktop_config.json
{
  "mcpServers": {
    "metabase": {
      "command": "npx",
      "args": [
        "@easecloudio/mcp-metabase-server"
      ],
      "env": {
        "METABASE_URL": "https://your-metabase-instance.com",
        "METABASE_API_KEY": "your_metabase_api_key"
      }
    }
  }
}

Fit and risk

Best for

  • Organizations using Metabase that want AI-driven interactions with their BI platform
  • Developers building AI agents that need to interact with Metabase data
  • Teams needing automated Metabase administration and monitoring

Not for

  • Users not using Metabase
  • Scenarios requiring real-time, low-latency data queries (this server uses API calls)
  • Teams looking to avoid maintaining a Metabase instance

Required permissions

  • Requires an API key or username/password for the Metabase instance
  • Tools can read and modify dashboards, cards, databases, collections, and users, depending on API token permissions
  • Schema cache may require local filesystem write access (~/.easecloud/metabase-mcp/)

Risks and side effects

  • Accidental modification or deletion of Metabase resources if API token permissions are too broad
  • Write tools can cause irreversible changes if misused
  • Unencrypted API keys could be exposed
  • Potential rate limiting or increased load on the Metabase instance due to frequent requests

Troubleshooting

  1. Ensure METABASE_URL is accessible from the machine running the server
  2. Verify that the API key is valid and has sufficient permissions
  3. Check that Metabase version is v0.46 or higher, preferably v0.48+
  4. If using Docker, make sure environment variables are passed correctly
  5. Use the MCP Inspector to debug tool calls

Use cases

Automating dashboard, card, and database management in Metabase
Querying and manipulating Metabase data via natural language
Integrating AI assistants into BI workflows

Supported clients

Claude DesktopFull support