Provides containerized deployment of the MCP server through Docker and Docker Compose, enabling easy setup and configuration.
Allows AI assistants to interact with Metabase databases and actions, including listing and exploring databases, retrieving metadata about schemas and tables, visualizing table relationships, running SQL queries, and executing Metabase actions with parameters.
Metabase MCP Server
A Model Control Protocol (MCP) server that enables AI assistants to interact with Metabase databases and actions.
![Metabase MCP Server]
Overview
The Metabase MCP Server provides a bridge between AI assistants and Metabase, allowing AI models to:
List and explore databases configured in Metabase
Retrieve detailed metadata about database schemas, tables, and fields
Visualize relationships between tables in a database
List and execute Metabase actions
Perform operations on Metabase data through a secure API
This server implements the [Model Control Protocol (MCP)] specification, making it compatible with AI assistants that support MCP tools.
Features
Database Exploration: List all databases and explore their schemas
Metadata Retrieval: Get detailed information about tables, fields, and relationships
Relationship Visualization: Generate visual representations of database relationships
Action Management: List, view details, and execute Metabase actions
Secure API Key Handling: Store API keys encrypted and prevent exposure
Web Interface: Test and debug functionality through a user-friendly web interface
Docker Support: Easy deployment with Docker and Docker Compose
Prerequisites
Metabase instance (v0.46.0 or higher recommended)
Metabase API key with appropriate permissions
Docker (for containerized deployment)
Python 3.10+ (for local development)
Installation
Using Docker (Recommended)
Clone this repository:
git clone https://github.com/yourusername/metabase-mcp.git cd metabase-mcpBuild and run the Docker container:
docker-compose up -dAccess the configuration interface at http://localhost:5001
Manual Installation
Clone this repository:
git clone https://github.com/yourusername/metabase-mcp.git cd metabase-mcpInstall dependencies:
pip install -r requirements.txtRun the configuration interface:
python -m src.server.web_interfaceAccess the configuration interface at http://localhost:5000
Configuration
Open the web interface in your browser
Enter your Metabase URL (e.g., http://localhost:3000)
Enter your Metabase API key
Click "Save Configuration" and test the connection
Obtaining a Metabase API Key
Log in to your Metabase instance as an administrator
Go to Settings > Admin settings > API Keys
Create a new API key with appropriate permissions
Copy the generated key for use in the MCP server
Usage
Running the MCP Server
After configuration, you can run the MCP server:
Available Tools
The MCP server provides the following tools to AI assistants:
list_databases: List all databases configured in Metabase
get_database_metadata: Get detailed metadata for a specific database
db_overview: Get a high-level overview of all tables in a database
table_detail: Get detailed information about a specific table
visualize_database_relationships: Generate a visual representation of database relationships
run_database_query: Execute a SQL query against a database
list_actions: List all actions configured in Metabase
get_action_details: Get detailed information about a specific action
execute_action: Execute a Metabase action with parameters
Testing Tools via Web Interface
The web interface provides a testing area for each tool:
List Databases: View all databases configured in Metabase
Get Database Metadata: View detailed schema information for a database
DB Overview: View a concise list of all tables in a database
Table Detail: View detailed information about a specific table
Visualize Database Relationships: Generate a visual representation of table relationships
Run Query: Execute SQL queries against databases
List Actions: View all actions configured in Metabase
Get Action Details: View detailed information about a specific action
Execute Action: Test executing an action with parameters
Security Considerations
API keys are stored encrypted at rest
The web interface never displays API keys in plain text
All API requests use HTTPS when configured with a secure Metabase URL
The server should be deployed behind a secure proxy in production environments
Development
Project Structure
Adding New Tools
To add a new tool:
Implement the tool function in
src/tools/
Register the tool in
src/server/mcp_server.py
Add a testing interface in
templates/config.html
(optional)Add a route in
src/server/web_interface.py
(if adding a testing interface)
Troubleshooting
Common Issues
Connection Failed: Ensure your Metabase URL is correct and accessible
Authentication Error: Verify your API key has the necessary permissions
Docker Network Issues: When using Docker, ensure proper network configuration
Logs
Check the logs for detailed error information:
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
A Model Control Protocol server that enables AI assistants to interact with Metabase databases, allowing models to explore database schemas, retrieve metadata, visualize relationships, and execute actions.
Related MCP Servers
- -securityFlicense-qualityA comprehensive Model Context Protocol server implementation that enables AI assistants to interact with file systems, databases, GitHub repositories, web resources, and system tools while maintaining security and control.Last updated -361
- -securityFlicense-qualityA Model Context Protocol server that enables AI assistants to securely interact with Apache IoTDB databases through a controlled interface for listing tables, reading data, and executing SQL queries.
- -securityAlicense-qualityA Model Context Protocol server that provides AI assistants with comprehensive access to SQL databases, enabling schema inspection, query execution, and database operations with enterprise-grade security.Last updated -12MIT License
- AsecurityFlicenseAqualityA Model Context Protocol server that enables AI assistants to interact with SQLite databases by connecting to database files, listing tables, describing schemas, and executing queries.Last updated -6