
Metabase
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.
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
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
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 Metabasecreate_dashboard- Create a new dashboardupdate_dashboard- Update an existing dashboarddelete_dashboard- Delete/archive a dashboardget_dashboard_cards- Get all cards in a dashboard
Card/Question Management
list_cards- List all questions/cards in Metabasecreate_card- Create a new question/cardupdate_card- Update an existing question/carddelete_card- Delete/archive a question/cardexecute_card- Execute a card and get results
Database Operations
list_databases- List all databases in Metabaseexecute_query- Execute a SQL query against a database
Collections Management
list_collections- List all collectionscreate_collection- Create a new collectionupdate_collection- Update an existing collectiondelete_collection- Delete a collectionget_collection_items- Get all items in a collectionmove_to_collection- Move items between collections
User & Permission Management
list_users- List all userscreate_user- Create a new userupdate_user- Update user detailsdelete_user- Deactivate a userlist_permissions- List permission groups and permissionslist_permission_groups- List all permission groupscreate_permission_group- Create a new permission groupupdate_permission_group- Update a permission groupdelete_permission_group- Delete a permission groupadd_user_to_group- Add user to permission groupremove_user_from_group- Remove user from permission group
Advanced Query Features
export_card_results- Export card results to CSV/JSON/Excelexport_dashboard_data- Export dashboard data to various formatsbookmark_card- Bookmark a cardunbookmark_card- Remove card bookmarkbookmark_dashboard- Bookmark a dashboardunbookmark_dashboard- Remove dashboard bookmarklist_bookmarked_items- List all bookmarked itemscreate_public_link- Create public sharing linkdisable_public_link- Disable public sharingget_public_link- Get public link information
Database Schema Operations
get_database_schema- Get database schema informationget_database_tables- Get all tables in a databaseget_table_metadata- Get table metadataget_table_fields- Get all fields in a tableget_field_values- Get field valuesget_field_summary- Get field summary statisticsanalyze_field_values- Analyze field values
Search & Discovery
search_content- Search across all Metabase contentget_recent_items- Get recently viewed itemsget_popular_items- Get most popular cards and dashboards
Advanced Dashboard Features
add_card_to_dashboard- Add a card to a dashboard with positioningremove_card_from_dashboard- Remove a card from a dashboardupdate_dashboard_card- Update card position, size, and settingsget_dashboard_parameters- Get dashboard parametersupdate_dashboard_parameters- Update dashboard parameterscreate_dashboard_subscription- Create dashboard subscriptions/alertslist_dashboard_subscriptions- List all dashboard subscriptionsupdate_dashboard_subscription- Update subscription settingsdelete_dashboard_subscription- Delete a dashboard subscription
Analytics & Monitoring
get_user_activity- Get user activity and usage statisticsget_content_usage- Get usage statistics for cards and dashboardsget_system_usage_stats- Get system-wide usage statisticsget_system_health- Get system health status
Database Connection Management
create_database_connection- Create new database connectionstest_database_connection- Test database connectivitysync_database_schema- Sync database schema metadataget_database_sync_status- Get database schema sync status
Settings & Configuration
get_metabase_settings- Get Metabase instance settingsupdate_metabase_settings- Update instance settings
Configuration
Before running the server, you need to set environment variables for authentication. The server supports two methods:
-
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.
-
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 skillsUse 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.
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.
.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.
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.
Transform data into compelling narratives using visualization, context, and persuasive structure. Use when presenting analytics to stakeholders, creating data reports, or building executive presentations.
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.