Le Model Context Protocol (MCP) de Supabase permet aux LLMs (Claude, GPT-4, etc.) d’interagir directement avec votre base de données via des outils structurés. C’est une révolution pour le développement assisté par IA.
Pour les fondations, consultez notre guide complet Supabase. Pour comprendre les embeddings IA dans PostgreSQL, voir Supabase Vector et pgvector. Pour les Edge Functions que le MCP peut déclencher, voir Edge Functions Supabase. Pour l’exécution SQL via MCP, voir SQL, triggers et fonctions Supabase. Pour les migrations générées par IA, voir Supabase Migrations.
Qu’est-ce que le MCP Supabase ?
Le MCP (Model Context Protocol) est un standard ouvert créé par Anthropic qui permet aux LLMs de se connecter à des sources de données et outils externes de manière sécurisée. Le Supabase MCP Server expose votre base de données comme un ensemble d’outils que les IA peuvent utiliser.
Ce que vous pouvez faire avec Supabase MCP
- 🤖 Demander à Claude de créer des tables, migrations et policies
- 📊 Interroger votre base en langage naturel
- 🔧 Déboguer des queries SQL avec l’aide de l’IA
- 📝 Générer du code TypeScript à partir du schéma réel
- 🔍 Analyser les performances des requêtes
Installer le Supabase MCP Server
// claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/)
{
"mcpServers": {
"supabase": {
"command": "npx",
"args": [
"-y",
"@supabase/mcp-server-supabase@latest",
"--access-token",
"YOUR_SUPABASE_ACCESS_TOKEN"
]
}
}
}
Les Outils MCP Exposés
# Gestion des projets
list_projects → Lister tous vos projets Supabase
get_project → Détails d'un projet
create_project → Créer un nouveau projet
# Base de données
execute_sql → Exécuter du SQL arbitraire
get_tables → Lister les tables du schéma
get_table_schema → Schéma détaillé d'une table
apply_migration → Appliquer une migration SQL
list_migrations → Historique des migrations
# Edge Functions
list_edge_functions → Lister les fonctions déployées
deploy_edge_function → Déployer une nouvelle fonction
# Storage
list_storage_buckets → Lister les buckets
create_storage_bucket → Créer un bucket
Exemples d’Utilisation avec Claude
Créer une table en langage naturel
# Vous dites à Claude :
"Crée une table 'products' avec les champs :
- id (UUID, primary key)
- name (texte, obligatoire)
- price (décimal, positif)
- stock (entier, par défaut 0)
- category_id (FK vers categories)
Active la RLS et crée les policies de base."
# Claude utilise execute_sql pour créer la migration et l'appliquer
Analyser les performances
# Vous dites à Claude :
"Analyse les requêtes lentes sur ma base de données
et propose des indexes à créer."
# Claude exécute :
SELECT query, calls, total_exec_time, mean_exec_time
FROM pg_stat_statements
ORDER BY mean_exec_time DESC
LIMIT 20;
Créer votre Propre MCP Supabase
import { Server } from '@modelcontextprotocol/sdk/server/index.js'
import { createClient } from '@supabase/supabase-js'
const server = new Server({
name: 'mon-app-mcp',
version: '1.0.0'
}, {
capabilities: { tools: {} }
})
const supabase = createClient(URL, SERVICE_ROLE_KEY)
server.setRequestHandler('tools/call', async (request) => {
if (request.params.name === 'get_user_stats') {
const { user_id } = request.params.arguments
const { data } = await supabase
.from('user_stats')
.select('*')
.eq('user_id', user_id)
.single()
return { content: [{ type: 'text', text: JSON.stringify(data) }] }
}
})
Sécurité et Bonnes Pratiques MCP
- ✅ Utilisez un token d’accès avec les permissions minimales nécessaires
- ✅ Activez le mode lecture seule pour les environnements de démo
- ✅ Revoyez toujours le SQL généré avant de l’appliquer en production
- ✅ Utilisez des projets séparés (dev/staging/prod)
- ❌ Ne donnez jamais accès au token MCP à des tiers non fiables
- ❌ N’utilisez pas MCP directement sur la base de production sans validation humaine
👉 Articles du guide Supabase
Cet article fait partie du Guide Complet Supabase 2026. Retrouvez les autres articles :
- ✅ Supabase : Le Guide Complet 2026
- ✅ Supabase vs Firebase : Comparatif Complet 2026
- ✅ Installer Supabase en Local avec Docker
- ✅ Supabase Pricing : Quel Plan Choisir en 2026
- ✅ Architecture Supabase : Postgres, GoTrue, Realtime et Storage
- ✅ Créer et Structurer sa Base de Données Supabase
- ✅ Supabase RLS : Sécuriser ses Données avec Row Level Security
- ✅ Supabase SQL : Triggers, Fonctions et Procédures Stockées
- ✅ Supabase Migrations : Gérer l’Évolution de son Schéma
- ✅ Supabase Auth : Email, OAuth et Magic Links
- ✅ Supabase Rôles et Permissions
- ✅ Supabase JWT : Comprendre les Tokens
- ✅ Supabase avec Next.js : App Router
- ✅ Supabase avec React : Hooks et Contexte
- ✅ API REST Supabase : Requêtes sans Backend
- ✅ Supabase Edge Functions : Serverless avec Deno
- ✅ Supabase Realtime : Synchronisation en Temps Réel
- ✅ Supabase Storage : Gérer les Fichiers et Images
- ✅ Supabase Vector & pgvector : Recherche Sémantique et IA
- 📅 Déploiement en production — à paraître le 06/07
- 📅 CLI Supabase — à paraître le 08/07
