metabase-server
Enables integration with the Metabase API to list and access dashboards, questions/cards, and databases, as well as execute SQL queries and retrieve results from specific cards.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
metabase-mcp-mbql
Serveur MCP (Model Context Protocol) pour l'intégration avec Metabase, avec support complet de MBQL pour l'édition visuelle des requêtes.
Installation
npm install metabase-mcp-mbqlConfiguration MCP
Ajoutez cette configuration à votre client MCP (Claude Desktop, etc.) :
{
"mcpServers": {
"metabase": {
"command": "npx",
"args": ["metabase-mcp-mbql"],
"env": {
"METABASE_URL": "https://metabase.example.com",
"METABASE_API_KEY": "mb_votre_cle_api"
}
}
}
}Authentification
Deux méthodes sont supportées :
1. Clé API (recommandé) :
{
"METABASE_URL": "https://metabase.example.com",
"METABASE_API_KEY": "mb_votre_cle_api"
}2. Identifiants utilisateur :
{
"METABASE_URL": "https://metabase.example.com",
"METABASE_USERNAME": "votre_email",
"METABASE_PASSWORD": "votre_mot_de_passe"
}Outils disponibles
Dashboards
Outil | Description |
| Liste tous les dashboards |
| Récupère les détails complets d'un dashboard (cartes, paramètres) |
| Crée un nouveau dashboard |
| Met à jour un dashboard existant |
| Archive ou supprime un dashboard |
| Liste toutes les cartes d'un dashboard |
| Ajoute une carte à un dashboard |
| Retire une carte d'un dashboard |
| Met à jour les cartes avec leurs mappings de paramètres |
| Ajoute ou met à jour un filtre sur un dashboard |
Cards (Questions)
Outil | Description |
| Liste toutes les questions/cartes (filtres: |
| Récupère une carte avec sa configuration complète (dataset_query, template-tags) |
| Crée une nouvelle question |
| Met à jour une question existante |
| Archive ou supprime une question |
| Exécute une question et retourne les résultats |
Requêtes MBQL
Outil | Description |
| Crée une question en MBQL (éditable dans le query builder visuel) |
| Exécute une requête MBQL sans créer de carte |
Requêtes SQL
Outil | Description |
| Exécute une requête SQL native sur une base de données |
Bases de données
Outil | Description |
| Liste toutes les bases de données |
| Récupère les métadonnées complètes (tables, champs, IDs) |
| Récupère les métadonnées détaillées d'une table |
Collections
Outil | Description |
| Liste toutes les collections |
| Crée une nouvelle collection |
| Met à jour une collection |
Utilisateurs
Outil | Description |
| Liste tous les utilisateurs |
| Récupère les détails d'un utilisateur |
| Crée un nouvel utilisateur |
| Met à jour un utilisateur |
| Désactive un utilisateur |
Permissions
Outil | Description |
| Liste les groupes de permissions |
| Crée un groupe de permissions |
| Supprime un groupe de permissions |
| Récupère le graphe des permissions par collection |
| Met à jour les permissions d'un groupe sur une collection |
| Ajoute un utilisateur à un groupe |
| Retire un utilisateur d'un groupe |
Exemples d'utilisation
Créer une question MBQL
{
"name": "Ventes par mois",
"database_id": 1,
"query": {
"source-table": 123,
"aggregation": [["sum", ["field", 456, null]]],
"breakout": [["field", 789, {"temporal-unit": "month"}]]
},
"display": "line"
}Configurer un filtre avec template-tag
{
"card_id": 42,
"dataset_query": {
"type": "native",
"database": 1,
"native": {
"query": "SELECT * FROM orders WHERE status = {{status}}",
"template-tags": {
"status": {
"id": "abc-123",
"name": "status",
"display-name": "Statut",
"type": "dimension",
"dimension": ["field", 456, null],
"widget-type": "category"
}
}
}
}
}Connecter un filtre dashboard à une carte
{
"dashboard_id": 10,
"cards": [{
"id": 100,
"card_id": 42,
"row": 0,
"col": 0,
"size_x": 6,
"size_y": 4,
"parameter_mappings": [{
"parameter_id": "filter-1",
"card_id": 42,
"target": ["variable", ["template-tag", "status"]]
}]
}]
}Développement
# Installation des dépendances
npm install
# Build
npm run build
# Watch mode
npm run watch
# Inspector MCP (debug)
npm run inspectorLicence
MIT
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Connect AI assistants to Preset to explore data, charts, and dashboards in authorized workspaces.
Query and update Teable records, manage tables, and access the Teable API with AI agents.