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:
- Build and run the Docker container:
- Access the configuration interface at http://localhost:5001
Manual Installation
- Clone this repository:
- Install dependencies:
- Run the configuration interface:
- Access 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.
Ein Model Control Protocol-Server, der KI-Assistenten die Interaktion mit Metabase-Datenbanken ermöglicht, sodass Modelle Datenbankschemata erkunden, Metadaten abrufen, Beziehungen visualisieren und Aktionen ausführen können.
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 -71
- -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.Last updated -
- -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 -62MIT 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