Guide·4 min de lecture

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.

mcpclaudeiaapi

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é par npx, 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

FamilleOutils
Découvrirlist_projects, list_sites, list_tables, list_site_files
Base de donnéescreate_database, run_sql, get_credentials, enable_realtime
Fichiers d'un siteread_site_file, write_site_files, append_site_file (gros fichiers, par morceaux)
Accès SFTPcreate_sftp_account, delete_sftp_account : un compte dédié, à supprimer après usage
Réglagesset_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_credentials et read_site_file disparaissent 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 :

  1. with check n'est pas using : sur INSERT et UPDATE, PostgreSQL n'évalue que with check.
  2. Chaque nouvelle table ouvre le CRUD à authenticated : un grant select ne restreint rien, il faut revoke.
  3. Toute DDL se termine par notify pgrst, 'reload schema';.
  4. service_role exige BYPASSRLS, sinon 200 OK et un tableau vide.
  5. Une fonction Edge rend { status, body }, jamais new Response(...).
  6. L'auth du projet (auth.uid()) ne se confond pas avec celle de la plateforme.

Pour les assistants IA

  • Commence par list_sites ou list_projects : le site_id des autres outils est un identifiant technique, ni le domaine ni le slug.
  • Il n'existe ni registre Docker ni docker login chez 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é anon d'un projet est publique et va dans le navigateur ; la clé service contourne 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.

À lire aussi

← Tous les articles