Metabase MCP Server

Integrations

  • 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.

Servidor MCP de Metabase

Un servidor de Protocolo de Control de Modelos (MCP) que permite a los asistentes de IA interactuar con bases de datos y acciones de Metabase.

![Servidor MCP de metabase]

Descripción general

El servidor MCP de Metabase proporciona un puente entre los asistentes de IA y Metabase, lo que permite que los modelos de IA:

  • Enumere y explore las bases de datos configuradas en Metabase
  • Recupere metadatos detallados sobre esquemas, tablas y campos de bases de datos
  • Visualizar relaciones entre tablas en una base de datos
  • Enumerar y ejecutar acciones de Metabase
  • Realizar operaciones en datos de Metabase a través de una API segura

Este servidor implementa la especificación [Model Control Protocol (MCP)], lo que lo hace compatible con asistentes de IA que admiten herramientas MCP.

Características

  • Exploración de bases de datos : enumera todas las bases de datos y explora sus esquemas
  • Recuperación de metadatos : obtenga información detallada sobre tablas, campos y relaciones
  • Visualización de relaciones : genere representaciones visuales de relaciones de bases de datos
  • Gestión de acciones : enumerar, ver detalles y ejecutar acciones de la Metabase
  • Manejo seguro de claves API : almacene las claves API cifradas y evite la exposición
  • Interfaz web : pruebe y depure la funcionalidad a través de una interfaz web fácil de usar
  • Compatibilidad con Docker : Implementación sencilla con Docker y Docker Compose

Prerrequisitos

  • Instancia de metabase (se recomienda v0.46.0 o superior)
  • Clave API de Metabase con permisos adecuados
  • Docker (para implementación en contenedores)
  • Python 3.10+ (para desarrollo local)

Instalación

Uso de Docker (recomendado)

  1. Clonar este repositorio:
    git clone https://github.com/yourusername/metabase-mcp.git cd metabase-mcp
  2. Construya y ejecute el contenedor Docker:
    docker-compose up -d
  3. Acceda a la interfaz de configuración en http://localhost:5001

Instalación manual

  1. Clonar este repositorio:
    git clone https://github.com/yourusername/metabase-mcp.git cd metabase-mcp
  2. Instalar dependencias:
    pip install -r requirements.txt
  3. Ejecute la interfaz de configuración:
    python -m src.server.web_interface
  4. Acceda a la interfaz de configuración en http://localhost:5000

Configuración

  1. Abra la interfaz web en su navegador
  2. Ingrese la URL de su Metabase (por ejemplo, http://localhost:3000 )
  3. Ingrese su clave API de Metabase
  4. Haga clic en "Guardar configuración" y pruebe la conexión

Obtención de una clave API de Metabase

  1. Inicie sesión en su instancia de Metabase como administrador
  2. Vaya a Configuración > Configuración de administrador > Claves API
  3. Cree una nueva clave API con los permisos adecuados
  4. Copiar la clave generada para usarla en el servidor MCP

Uso

Ejecución del servidor MCP

Después de la configuración, puede ejecutar el servidor MCP:

# Using Docker docker run -p 5001:5000 metabase-mcp # Manually python -m src.server.mcp_server

Herramientas disponibles

El servidor MCP proporciona las siguientes herramientas a los asistentes de IA:

  1. list_databases : Lista todas las bases de datos configuradas en Metabase
  2. get_database_metadata : Obtener metadatos detallados para una base de datos específica
  3. db_overview : Obtenga una descripción general de alto nivel de todas las tablas de una base de datos
  4. table_detail : Obtener información detallada sobre una tabla específica
  5. visualize_database_relationships : Genera una representación visual de las relaciones de la base de datos
  6. run_database_query : ejecuta una consulta SQL contra una base de datos
  7. list_actions : Lista todas las acciones configuradas en Metabase
  8. get_action_details : Obtener información detallada sobre una acción específica
  9. execute_action : Ejecuta una acción de Metabase con parámetros

Herramientas de prueba a través de la interfaz web

La interfaz web proporciona un área de prueba para cada herramienta:

  1. Lista de bases de datos : Ver todas las bases de datos configuradas en Metabase
  2. Obtener metadatos de la base de datos : ver información detallada del esquema de una base de datos
  3. Descripción general de la base de datos : vea una lista concisa de todas las tablas de una base de datos
  4. Detalle de la tabla : Ver información detallada sobre una tabla específica
  5. Visualizar relaciones de bases de datos : generar una representación visual de las relaciones de las tablas
  6. Ejecutar consulta : ejecuta consultas SQL en bases de datos
  7. Lista de acciones : Ver todas las acciones configuradas en Metabase
  8. Obtener detalles de la acción : ver información detallada sobre una acción específica
  9. Ejecutar acción : prueba la ejecución de una acción con parámetros

Consideraciones de seguridad

  • Las claves API se almacenan cifradas en reposo
  • La interfaz web nunca muestra claves API en texto sin formato
  • Todas las solicitudes de API utilizan HTTPS cuando se configuran con una URL de Metabase segura
  • El servidor debe implementarse detrás de un proxy seguro en entornos de producción.

Desarrollo

Estructura del proyecto

metabase-mcp/ ├── src/ │ ├── api/ # Metabase API client │ ├── config/ # Configuration management │ ├── server/ # MCP and web servers │ └── tools/ # Tool implementations ├── templates/ # Web interface templates ├── docker-compose.yml # Docker Compose configuration ├── Dockerfile # Docker build configuration ├── requirements.txt # Python dependencies └── README.md # Documentation

Agregar nuevas herramientas

Para agregar una nueva herramienta:

  1. Implementar la función de la herramienta en src/tools/
  2. Registre la herramienta en src/server/mcp_server.py
  3. Agregue una interfaz de prueba en templates/config.html (opcional)
  4. Agregue una ruta en src/server/web_interface.py (si agrega una interfaz de prueba)

Solución de problemas

Problemas comunes

  • Error de conexión : asegúrese de que la URL de su metabase sea correcta y accesible
  • Error de autenticación : Verifique que su clave API tenga los permisos necesarios
  • Problemas de red de Docker : al usar Docker, asegúrese de tener una configuración de red adecuada

Registros

Consulte los registros para obtener información detallada del error:

# Docker logs docker logs metabase-mcp # Manual execution logs # Logs are printed to the console

Contribuyendo

¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.

-
security - not tested
F
license - not found
-
quality - not tested

Un servidor de Protocolo de Control de Modelos que permite a los asistentes de IA interactuar con las bases de datos de Metabase, lo que permite que los modelos exploren esquemas de bases de datos, recuperen metadatos, visualicen relaciones y ejecuten acciones.

  1. Overview
    1. Features
      1. Prerequisites
        1. Installation
          1. Using Docker (Recommended)
          2. Manual Installation
        2. Configuration
          1. Obtaining a Metabase API Key
        3. Usage
          1. Running the MCP Server
          2. Available Tools
          3. Testing Tools via Web Interface
        4. Security Considerations
          1. Development
            1. Project Structure
            2. Adding New Tools
          2. Troubleshooting
            1. Common Issues
            2. Logs
          3. Contributing
            ID: 9xo1x48d7y