Metabase

Metabase

easecloudio

Connects AI assistants to Metabase business intelligence platform for dashboard management, query execution, and analytics automation. Provides comprehensive control over Metabase instances including users, permissions, and databases.

Integrates with Metabase business intelligence platform to provide dashboard management, query execution, database connectivity with SQL capabilities, user management, and permission controls for automating analytics workflows and administrative tasks.

50408 views10Local (stdio)

What it does

  • Execute SQL queries and analytics workflows
  • Manage dashboards, cards, and visualizations
  • Control user accounts and permissions
  • Connect and sync databases
  • Monitor usage statistics and system health
  • Export data and manage public sharing

Best for

Enterprise teams automating BI workflowsData analysts managing Metabase instancesDevelopers integrating analytics into AI applicationsOrganizations with complex permission requirements
70+ tools availableComplete CRUD operationsWorks with Metabase Cloud and self-hosted

About Metabase

Metabase is a community-built MCP server published by easecloudio that provides AI assistants with tools and capabilities via the Model Context Protocol. Integrate Metabase business intelligence platform for automated dashboard management, database queries, and advanced ana It is categorized under developer tools, analytics data.

How to install

You can install Metabase in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.

License

Metabase is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.

Metabase MCP Server

License: MIT GitHub

A comprehensive Model Context Protocol (MCP) server for Metabase integration, designed for enterprises and developers who want to supercharge their AI assistants with live analytics and business intelligence.

Developed and maintained by EaseCloud — your trusted partner for cloud-native, AI-driven, and data infrastructure solutions.

This is a TypeScript-based MCP server that implements full integration with Metabase API. It allows AI assistants to interact with Metabase, providing comprehensive access to:

  • Complete CRUD Operations: Full lifecycle management for all Metabase entities
  • Advanced Dashboard Management: Card positioning, parameters, subscriptions, and alerts
  • User & Permission Management: Complete user lifecycle and permission system control
  • Database Management: Connection management, schema sync, and metadata exploration
  • Analytics & Monitoring: Usage statistics, activity tracking, and system health monitoring
  • Advanced Query Features: Export, bookmarking, public sharing, and complex query execution
  • Search & Discovery: Global search, popular items, and content recommendations
  • Settings & Configuration: System settings and instance configuration management

70+ Tools Available covering all major Metabase functionality for enterprise usage.

Supported Metabase Versions

This MCP server is compatible with:

  • Metabase v0.46.x and above (recommended: v0.48.x or later)
  • Metabase Cloud (fully supported)
  • Self-hosted Metabase instances (Docker, JAR, or cloud deployments)

Note: Some advanced features may require newer Metabase versions. For optimal compatibility, we recommend using Metabase v0.48.0 or later.

Why We Built This

At EaseCloud, we help companies modernize their data platforms and unlock the power of AI.
Metabase is a leading open-source BI tool — but connecting it with AI assistants like Claude, Cursor, and Windsurf requires complex API work.

This MCP server removes that barrier by providing 70+ ready-to-use tools that cover everything from dashboards to queries, permissions to monitoring.

Our goal is to make enterprise analytics accessible in natural language while showcasing our expertise in integration, automation, and cloud solutions.

Features

Resources

  • Access Metabase resources via metabase:// URIs
  • Dashboards: metabase://dashboard/{id} - Access dashboard details
  • Cards/Questions: metabase://card/{id} - Access question/card details
  • Databases: metabase://database/{id} - Access database information
  • Collections: metabase://collection/{id} - Access collection details
  • Users: metabase://user/{id} - Access user information
  • Tables: metabase://table/{id} - Access table metadata
  • Fields: metabase://field/{id} - Access field information
  • JSON content type for structured data access

Core Data Management Tools

Dashboard Management

  • list_dashboards - List all dashboards in Metabase
  • create_dashboard - Create a new dashboard
  • update_dashboard - Update an existing dashboard
  • delete_dashboard - Delete/archive a dashboard
  • get_dashboard_cards - Get all cards in a dashboard

Card/Question Management

  • list_cards - List all questions/cards in Metabase
  • create_card - Create a new question/card
  • update_card - Update an existing question/card
  • delete_card - Delete/archive a question/card
  • execute_card - Execute a card and get results

Database Operations

  • list_databases - List all databases in Metabase
  • execute_query - Execute a SQL query against a database

Collections Management

  • list_collections - List all collections
  • create_collection - Create a new collection
  • update_collection - Update an existing collection
  • delete_collection - Delete a collection
  • get_collection_items - Get all items in a collection
  • move_to_collection - Move items between collections

User & Permission Management

  • list_users - List all users
  • create_user - Create a new user
  • update_user - Update user details
  • delete_user - Deactivate a user
  • list_permissions - List permission groups and permissions
  • list_permission_groups - List all permission groups
  • create_permission_group - Create a new permission group
  • update_permission_group - Update a permission group
  • delete_permission_group - Delete a permission group
  • add_user_to_group - Add user to permission group
  • remove_user_from_group - Remove user from permission group

Advanced Query Features

  • export_card_results - Export card results to CSV/JSON/Excel
  • export_dashboard_data - Export dashboard data to various formats
  • bookmark_card - Bookmark a card
  • unbookmark_card - Remove card bookmark
  • bookmark_dashboard - Bookmark a dashboard
  • unbookmark_dashboard - Remove dashboard bookmark
  • list_bookmarked_items - List all bookmarked items
  • create_public_link - Create public sharing link
  • disable_public_link - Disable public sharing
  • get_public_link - Get public link information

Database Schema Operations

  • get_database_schema - Get database schema information
  • get_database_tables - Get all tables in a database
  • get_table_metadata - Get table metadata
  • get_table_fields - Get all fields in a table
  • get_field_values - Get field values
  • get_field_summary - Get field summary statistics
  • analyze_field_values - Analyze field values

Search & Discovery

  • search_content - Search across all Metabase content
  • get_recent_items - Get recently viewed items
  • get_popular_items - Get most popular cards and dashboards

Advanced Dashboard Features

  • add_card_to_dashboard - Add a card to a dashboard with positioning
  • remove_card_from_dashboard - Remove a card from a dashboard
  • update_dashboard_card - Update card position, size, and settings
  • get_dashboard_parameters - Get dashboard parameters
  • update_dashboard_parameters - Update dashboard parameters
  • create_dashboard_subscription - Create dashboard subscriptions/alerts
  • list_dashboard_subscriptions - List all dashboard subscriptions
  • update_dashboard_subscription - Update subscription settings
  • delete_dashboard_subscription - Delete a dashboard subscription

Analytics & Monitoring

  • get_user_activity - Get user activity and usage statistics
  • get_content_usage - Get usage statistics for cards and dashboards
  • get_system_usage_stats - Get system-wide usage statistics
  • get_system_health - Get system health status

Database Connection Management

  • create_database_connection - Create new database connections
  • test_database_connection - Test database connectivity
  • sync_database_schema - Sync database schema metadata
  • get_database_sync_status - Get database schema sync status

Settings & Configuration

  • get_metabase_settings - Get Metabase instance settings
  • update_metabase_settings - Update instance settings

Configuration

Before running the server, you need to set environment variables for authentication. The server supports two methods:

  1. API Key (Preferred):

    • METABASE_URL: The URL of your Metabase instance (e.g., https://your-metabase-instance.com).
    • METABASE_API_KEY: Your Metabase API key.
  2. Username/Password (Fallback):

    • METABASE_URL: The URL of your Metabase instance.
    • METABASE_USERNAME: Your Metabase username.
    • METABASE_PASSWORD: Your Metabase password.

The server will first check for METABASE_API_KEY. If it's set, API key authentication will be used. If METABASE_API_KEY is not set, the server will fall back to using METABASE_USERNAME and METABASE_PASSWORD. You must provide credentials for at least one of these methods.

Example setup:

Using API Key:

# Required environment variables
export METABASE_URL=https://your-metabase-instance.com
export METABASE_API_KEY=your_metabase_api_key

Or, using Username/Password:

# Required environment variables
export METABASE_URL=https://your-metabase-instance.com
export METABASE_USERNAME=your_username
export METABASE_PASSWORD=your_password

You can set these environment variables in your shell profile or use a .env file with a package like dotenv.

Development

Install dependencies:

npm install

Build the server:

npm run build

For development with auto-rebuild:

npm run watch

Installation & Usage

Method 1: Using npx (Recommended)

The easiest way to run the server is using npx:

# Set environment variables
export METABASE_URL=https://your-metabase-instance.com
export METABASE_API_KEY=your_metabase_api_key

# Run the server
npx @easecloudio/mcp-metabase-server

Method 2: Using Node.js directly

If you have the package installed locally or globally:

# Install globally
npm install -g @easecloudio/mcp-metabase-server

# Set environment variables
export METABASE_URL=https://your-metabase-instance.com
export METABASE_API_KEY=your_metabase_api_key

# Run the server
mcp-metabase-server

Or run from the built project:

# Clone and build the project
git clone https://github.com/easecloudio/mcp-metabase-server.git
cd mcp-metabase-server
npm install
npm run build

# Set environment variables
export METABASE_URL=https://your-metabase-instance.com
export METABASE_API_KEY=your_metabase_api_key

# Run the server
node dist/index.js

Method 3: Using Docker

You can run the server using Docker:

# Build the Docker image
docker build -t mcp-metabase-server .

# Run the container
docker run -it --rm \
  -e METABASE_URL=h

---

*README truncated. [View full README on GitHub](https://github.com/easecloudio/mcp-metabase-server).*

Alternatives

Related Skills

Browse all skills
mcp-developer

Use when building MCP servers or clients that connect AI systems with external tools and data sources. Invoke for MCP protocol compliance, TypeScript/Python SDKs, resource providers, tool functions.

0
ccxt-typescript

CCXT cryptocurrency exchange library for TypeScript and JavaScript developers (Node.js and browser). Covers both REST API (standard) and WebSocket API (real-time). Helps install CCXT, connect to exchanges, fetch market data, place orders, stream live tickers/orderbooks, handle authentication, and manage errors. Use when working with crypto exchanges in TypeScript/JavaScript projects, trading bots, arbitrage systems, or portfolio management tools. Includes both REST and WebSocket examples.

0
dotnet-backend

.NET/C# backend developer for ASP.NET Core APIs with Entity Framework Core. Builds REST APIs, minimal APIs, gRPC services, authentication with Identity/JWT, authorization, database operations, background services, SignalR real-time features. Activates for: .NET, C#, ASP.NET Core, Entity Framework Core, EF Core, .NET Core, minimal API, Web API, gRPC, authentication .NET, Identity, JWT .NET, authorization, LINQ, async/await C#, background service, IHostedService, SignalR, SQL Server, PostgreSQL .NET, dependency injection, middleware .NET.

64
supabase-developer

Build full-stack applications with Supabase (PostgreSQL, Auth, Storage, Real-time, Edge Functions). Use when implementing authentication, database design with RLS, file storage, real-time features, or serverless functions.

59
data-storytelling

Transform data into compelling narratives using visualization, context, and persuasive structure. Use when presenting analytics to stakeholders, creating data reports, or building executive presentations.

13
python-expert

Senior Python developer expertise for writing clean, efficient, and well-documented code. Use when: writing Python code, optimizing Python scripts, reviewing Python code for best practices, debugging Python issues, implementing type hints, or when user mentions Python, PEP 8, or needs help with Python data structures and algorithms.

13