metabase-mcp
Servidor MCP de Metabase - Conecta asistentes de IA a tus análisis de Metabase
Un servidor del Protocolo de Contexto de Modelo (MCP) de alto rendimiento para Metabase, que permite a asistentes de IA como Claude, Cursor y otros clientes MCP interactuar sin problemas con tu instancia de Metabase. Consulta bases de datos, ejecuta SQL, gestiona paneles y automatiza flujos de trabajo de análisis con lenguaje natural a través de operaciones de base de datos impulsadas por IA.
Ideal para: Analistas de datos, desarrolladores y equipos que buscan integrar asistentes de IA con su plataforma de inteligencia empresarial Metabase para consultas SQL automatizadas, gestión de paneles y exploración de datos.
Características principales
Operaciones de base de datos
Listar bases de datos: Explora todas las bases de datos configuradas en Metabase
Descubrimiento de tablas: Explora tablas con metadatos y descripciones
Inspección de campos: Obtén información detallada de campos/columnas con paginación inteligente
Consultas y análisis
Ejecución de SQL: Ejecuta consultas SQL nativas con soporte para parámetros y plantillas
Soporte para MongoDB: Ejecuta consultas nativas de MongoDB con conversión automática a JSON para tuberías de agregación
Gestión de tarjetas: Ejecuta, crea y gestiona preguntas/tarjetas de Metabase (SQL y MongoDB)
Organización de colecciones: Crea y gestiona colecciones para una mejor organización
Consultas en lenguaje natural: Permite que los asistentes de IA traduzcan preguntas a consultas SQL o MongoDB
Autenticación y seguridad
Soporte para claves API: Autenticación segura mediante claves API de Metabase (recomendado)
Autenticación basada en sesión: Autenticación alternativa mediante correo electrónico/contraseña
Variables de entorno: Gestión segura de credenciales mediante archivos
.env
Integración con asistentes de IA
Claude Desktop: Integración nativa con la IA Claude de Anthropic
Cursor IDE: Integración perfecta para el desarrollo asistido por IA
Cualquier cliente MCP: Compatible con todos los clientes del Protocolo de Contexto de Modelo
Rendimiento y fiabilidad mejorados
Registro consciente del contexto: Registro en tiempo real con niveles de depuración, información, advertencia y error visibles para los clientes de IA
Gestión de errores adecuada: Excepciones
ToolErrorde FastMCP para mejores mensajes de error y depuraciónPila de middleware: Middleware integrado de gestión de errores y registro para la fiabilidad en producción
Mejores prácticas: Sigue los últimos patrones de FastMCP con prevención de duplicados y configuración limpia
Python moderno: Utiliza sugerencias de tipo de Python 3.12+ (sintaxis
|) para una mayor seguridad de tipos
Inicio rápido
Requisitos previos
Python 3.12+
Instancia de Metabase con acceso a la API
Gestor de paquetes
uvxouv
Instalación
Opción 1: Usando uvx (Más fácil - No requiere instalación)
# Run directly without installing (like npx for Python)
uvx metabase-mcp
# With environment variables
METABASE_URL=https://your-instance.com METABASE_API_KEY=your-key uvx metabase-mcpOpción 2: Instalar desde PyPI
# Install globally
uv tool install metabase-mcp
# Or with pip
pip install metabase-mcp
# Then run
metabase-mcpOpción 3: Configuración de desarrollo (Desde el código fuente)
# Clone the repository
git clone https://github.com/cheukyin175/metabase-mcp.git
cd metabase-mcp
# Install dependencies
uv sync
# Run the server
uv run python server.pyConfiguración
Crea un archivo .env con tus credenciales de Metabase:
cp .env.example .envOpciones de configuración
Opción 1: Autenticación con clave API (Recomendado)
METABASE_URL=https://your-metabase-instance.com
METABASE_API_KEY=your-api-key-hereOpción 2: Autenticación con correo electrónico/contraseña
METABASE_URL=https://your-metabase-instance.com
METABASE_USER_EMAIL=your-email@example.com
METABASE_PASSWORD=your-passwordOpcional: Tiempo de espera HTTP de la API de Metabase
METABASE_HTTP_TIMEOUT=30.0 # Default: 30.0 secondsOpcional: Host/puerto personalizado para SSE/HTTP
HOST=localhost # Default: 0.0.0.0
PORT=9000 # Default: 8000Uso
Ejecutar el servidor
Inicio rápido (No requiere configuración)
# Run directly with uvx
uvx metabase-mcp
# With custom Metabase instance
METABASE_URL=https://your-instance.com METABASE_API_KEY=your-key uvx metabase-mcpDesde el código fuente (Desarrollo)
# STDIO transport (default)
uv run python server.py
# SSE transport (uses HOST=0.0.0.0, PORT=8000 by default)
uv run python server.py --sse
# HTTP transport (uses HOST=0.0.0.0, PORT=8000 by default)
uv run python server.py --http
# Custom host and port via environment variables
HOST=localhost PORT=9000 uv run python server.py --sse
HOST=192.168.1.100 PORT=8080 uv run python server.py --httpIntegración con Cursor
Puedes configurar Cursor manualmente editando tus ajustes de Cursor.
Para transporte SSE: Debes iniciar el servidor antes de usar Cursor:
uv run python server.py --sseIntegración con Claude Desktop
Opción 1: Usando uvx (Recomendado)
Añade esto a ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"metabase-mcp": {
"command": "uvx",
"args": ["metabase-mcp"],
"env": {
"METABASE_URL": "https://your-metabase-instance.com",
"METABASE_API_KEY": "your-api-key-here"
}
}
}
}Opción 2: Usando instalación local
Si has clonado el repositorio:
{
"mcpServers": {
"metabase-mcp": {
"command": "uv",
"args": [
"run",
"--directory",
"/absolute/path/to/metabase-mcp",
"python",
"server.py"
],
"env": {
"METABASE_URL": "https://your-metabase-instance.com",
"METABASE_API_KEY": "your-api-key-here"
}
}
}
}Opción 3: Usando la CLI de FastMCP
fastmcp install server.py -n "Metabase MCP"Herramientas disponibles
Operaciones de base de datos
Herramienta | Descripción |
| Lista todas las bases de datos configuradas en Metabase |
| Obtiene todas las tablas en una base de datos específica con metadatos |
| Recupera información de campos/columnas para una tabla |
Operaciones de consulta
Herramienta | Descripción |
| Ejecuta consultas SQL nativas con soporte para parámetros |
| Ejecuta consultas nativas de MongoDB con conversión automática a JSON para tuberías de agregación |
| Ejecuta preguntas/tarjetas guardadas de Metabase |
Gestión de tarjetas
Herramienta | Descripción |
| Lista todas las preguntas/tarjetas guardadas |
| Crea nuevas preguntas/tarjetas con consultas SQL |
| Crea nuevas preguntas/tarjetas de MongoDB con soporte para consultas nativas |
Gestión de colecciones
Herramienta | Descripción |
| Explora todas las colecciones |
| Crea nuevas colecciones para la organización |
Métodos de transporte
El servidor admite múltiples métodos de transporte:
STDIO (predeterminado): Para integración con IDE (Cursor, Claude Desktop)
SSE: Eventos enviados por el servidor para aplicaciones web
HTTP: HTTP estándar para acceso a la API
uv run python server.py # STDIO (default)
uv run python server.py --sse # SSE (HOST=0.0.0.0, PORT=8000)
uv run python server.py --http # HTTP (HOST=0.0.0.0, PORT=8000)
HOST=localhost PORT=9000 uv run python server.py --sse # Custom host/portDesarrollo
Configurar el entorno de desarrollo
# Install with dev dependencies
uv sync --group dev
# Or with pip
pip install -r requirements-dev.txtCalidad del código
# Run linting
uv run ruff check .
# Format code
uv run ruff format .
# Type checking
uv run mypy server.pyEjemplos de uso
Ejemplos de consultas
# List all databases
databases = await list_databases()
# Execute a SQL query
result = await execute_query(
database_id=1,
query="SELECT * FROM users LIMIT 10"
)
# Create and run a card
card = await create_card(
name="Active Users Report",
database_id=1,
query="SELECT COUNT(*) FROM users WHERE active = true",
collection_id=2
)Estructura del proyecto
metabase-mcp/
├── server.py # Main MCP server implementation
├── pyproject.toml # Project configuration and dependencies
└── .env.example # Environment variables templateContribución
¡Las contribuciones son bienvenidas! Por favor, siéntete libre de enviar una solicitud de extracción (Pull Request).
Licencia
Licencia MIT - consulta el archivo LICENSE para más detalles
Recursos
Palabras clave y temas
metabase mcp model-context-protocol claude cursor ai-assistant fastmcp sql database analytics business-intelligence bi data-analysis anthropic llm python automation api data-science query-builder natural-language-sql
Historial de estrellas
Si encuentras útil este proyecto, ¡por favor considera darle una estrella! Ayuda a otros a descubrir esta herramienta.
Casos de uso
Consultas de base de datos en lenguaje natural: Pide a Claude que consulte tus bases de datos de Metabase usando inglés sencillo
Generación automatizada de informes: Usa IA para crear y gestionar tarjetas y colecciones de Metabase
Exploración de datos: Deja que los asistentes de IA te ayuden a descubrir información a partir de tus datos
Asistencia en consultas SQL: Obtén ayuda para escribir y optimizar consultas SQL a través de IA
Gestión de paneles: Automatiza la creación y organización de paneles de Metabase
Flujos de trabajo de análisis de datos: Integra análisis impulsados por IA en tu flujo de trabajo de desarrollo
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/voducdan/matebase-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server