Configurer MCP (Claude, Windsurf, Cursor)

Connectez votre IA préférée à vos données Skema. Demandez-lui de lister vos collections, créer du contenu, ou modifier vos données en langage naturel. C'est comme avoir un stagiaire qui ne dort jamais. Mais en mieux.

C'est quoi le MCP ?

Le Model Context Protocol est un standard ouvert créé par Anthropic. Il permet aux assistants IA d'interagir avec des systèmes externes via des outils. En gros, Claude peut maintenant lire et écrire dans votre base de données. Oui, c'est aussi cool que ça en a l'air.

Installation du package npm

Version actuelle : 1.2.0. Le package utilise l'endpoint /mcp avec JSON-RPC 2.0.

npm install -g @skemacms/mcp-server

Configuration par IDE

Claude Desktop

Fichier claude_desktop_config.json :

{
  "mcpServers": {
    "skema-cms": {
      "command": "skema-mcp",
      "env": {
        "SKEMA_API_KEY": "pk_live_xxx"
      }
    }
  }
}

Windsurf / Cursor

Dans vos paramètres MCP (Settings → MCP Servers) :

{
  "skema-cms": {
    "command": "skema-mcp",
    "env": {
      "SKEMA_API_KEY": "pk_live_xxx",
      
    }
  }
}

Alternative avec npx (pas besoin d'installer globalement) :

{
  "skema-cms": {
    "command": "npx",
    "args": ["-y", "@skemacms/mcp-server"],
    "env": {
      "SKEMA_API_KEY": "pk_live_xxx",
      
    }
  }
}

Claude CLI

claude mcp add skemacms -e SKEMA_API_KEY=pk_live_xxx -- skema-mcp

Les 11 outils disponibles

Une fois configuré, votre IA a accès à ces outils. Elle peut les utiliser en langage naturel. Dites-lui "liste mes commandes avec les clients" et elle fera le reste.

OutilCe que ça fait
get_collectionsListe les collections accessibles avec votre clé
get_collectionRécupère le schéma complet (champs, types, relations)
get_collection_itemsListe les items avec pagination, tri, filtres et populate
get_collection_itemRécupère un item par ID avec ses relations
search_collection_itemsRecherche textuelle dans une collection
count_collection_itemsCompte les items (avec filtres optionnels)
create_collection_itemCrée un nouvel item
update_collection_itemMet à jour un item (merge partiel)
delete_collection_itemSupprime un item. Définitivement. Sans retour.
batch_create_itemsCrée plusieurs items en une requête
batch_update_itemsMet à jour plusieurs items en une requête

Exemples de prompts

"Liste mes 10 dernières commandes avec les infos clients"

→ Utilise get_collection_items avec populate

"Crée un nouvel article avec le titre 'Mon super article'"

→ Utilise create_collection_item

"Combien de clients ai-je au total ?"

→ Utilise count_collection_items

"Recherche les produits contenant 'smartphone'"

→ Utilise search_collection_items

Sécurité

On ne rigole pas avec la sécurité. Voici ce qui se passe en coulisses :

  • -Permissions respectées : Si votre clé n'a pas le droit de supprimer, l'IA ne peut pas supprimer. Point.
  • -Collections filtrées : Seules les collections autorisées sont accessibles. Les autres n'existent pas.
  • -Relations protégées : Le populate ne charge que les relations vers des collections autorisées. Sinon, warning.
  • -Logs complets : Chaque appel est tracé. Vous saurez qui a fait quoi et quand.
  • -Aucun stockage local : Le package npm ne garde rien. Vos données transitent, c'est tout.

Prêt à tester ?

Installez le package, configurez votre IDE, et demandez à Claude de lister vos collections. Si ça marche, vous êtes opérationnel. Si ça ne marche pas, vérifiez votre clé API. C'est toujours la clé API.