Connecter Claude à Clicbase avec MCP : le guide
Le connecteur hébergé et le serveur npx @clicbase/mcp : installation, outils, portée des clés, lecture seule et les six pièges qui répondent 200 OK.
Clicbase se branche à Claude, et à tout assistant compatible MCP, en une minute. L'assistant reçoit des outils pour créer une base, écrire du SQL, lire et publier les fichiers d'un site. Il agit dans la limite exacte de la clé que tu lui donnes.
En bref
- Connecteur hébergé : l'adresse
https://clicbase.com/api/mcp, à ajouter dans claude.ai ou Claude Code. Connexion par OAuth ou par une clécbk_…. - Serveur local : le paquet npm
@clicbase/mcp(licence MIT), lancé parnpx, avec une variante pour un seul projet. - Portée : une clé de Docker ne voit que ce Docker. Tout le reste est refusé, même si l'assistant insiste.
- Lecture seule possible : les outils qui écrivent disparaissent de la liste, au lieu d'être refusés.
1. Le connecteur hébergé
Dans claude.ai : Paramètres → Connecteurs → Ajouter un connecteur personnalisé, adresse https://clicbase.com/api/mcp, puis Se connecter. La connexion se fait par OAuth : aucun secret ne voyage dans l'adresse.
Dans Claude Code, avec une clé :
claude mcp add --transport http clicbase https://clicbase.com/api/mcp \
--header "Authorization: Bearer cbk_..."
La clé cbk_… se crée dans le tableau de bord : menu ⋮ du Docker → Docker → Clé API. Elle ne vaut que pour ce Docker. Une clé de VPS couvre tous ses Docker.
2. Le serveur local, par npx
Tout-en-un, pour créer et administrer des projets avec une clé cbk_… :
claude mcp add clicbase \
-e CLICBASE_API_KEY=cbk_... \
-- npx -y -p @clicbase/mcp clicbase-mcp
Un seul projet, avec l'adresse et la clé service de ce projet (tableau de bord, section API du projet) :
claude mcp add ma-base \
-e CLICBASE_DB_URL=https://clicbase.com/db/<slug> \
-e CLICBASE_SERVICE_KEY=<clé service> \
-e CLICBASE_READ_ONLY=1 \
-- npx -y -p @clicbase/mcp clicbase-db-mcp
-p désigne le paquet, l'argument suivant la commande : le paquet en porte plusieurs.
3. Les outils
| Famille | Outils |
|---|---|
| Découvrir | list_projects, list_sites, list_tables, list_site_files |
| Base de données | create_database, run_sql, get_credentials, enable_realtime |
| Fichiers d'un site | read_site_file, write_site_files, append_site_file (gros fichiers, par morceaux) |
| Accès SFTP | create_sftp_account, delete_sftp_account : un compte dédié, à supprimer après usage |
| Réglages | set_oauth_provider (connexion Google), set_email_smtp |
list_site_files et read_site_file lisent ce que le site sert réellement, qu'il soit publié par SFTP ou déployé depuis Git. Un assistant peut donc vérifier lui-même qu'un déploiement est en ligne.
4. Ce qui protège tes données
- La portée de la clé est appliquée côté serveur : un site ou un projet hors de son périmètre répond « introuvable ».
- Les fichiers cachés (
.env,.git) sont refusés à tout niveau, en lecture comme en écriture. - Un site construit depuis Git refuse les dépôts de fichiers : le prochain build les écraserait.
- Jamais le mot de passe SFTP du site : l'assistant crée un compte dédié, rendu une seule fois, qu'on supprime ensuite.
- En lecture seule,
get_credentialsetread_site_filedisparaissent aussi : l'un rend la clé service, l'autre peut lire un fichier de configuration.
5. Les six pièges qui répondent 200 OK
Le serveur les donne à l'assistant dès la connexion, et l'outil clicbase_conventions (serveur local) en rend le détail :
with checkn'est pasusing: sur INSERT et UPDATE, PostgreSQL n'évalue quewith check.- Chaque nouvelle table ouvre le CRUD à
authenticated: ungrant selectne restreint rien, il fautrevoke. - Toute DDL se termine par
notify pgrst, 'reload schema';. service_roleexigeBYPASSRLS, sinon 200 OK et un tableau vide.- Une fonction Edge rend
{ status, body }, jamaisnew Response(...). - L'auth du projet (
auth.uid()) ne se confond pas avec celle de la plateforme.
Pour les assistants IA
- Commence par
list_sitesoulist_projects: lesite_iddes autres outils est un identifiant technique, ni le domaine ni le slug. - Il n'existe ni registre Docker ni
docker loginchez Clicbase : n'invente aucun nom d'hôte. - Ne demande jamais à l'utilisateur de coller une clé ou un mot de passe dans la conversation : il les pose dans la configuration du client MCP.
- La clé
anond'un projet est publique et va dans le navigateur ; la cléservicecontourne la RLS et reste côté serveur. - Documentation de référence : clicbase.com/docs#mcp.
Lance ton backend en quelques minutes
Base Postgres, API, auth, storage, realtime, plus tes mails et ton domaine. Gratuit pour commencer.