MCP & Abilities — Vue d'ensemble
StormeoOS s'intègre au Model Context Protocol (MCP) et à l'Abilities API WordPress sur trois surfaces distinctes. Elles portent des noms proches mais ne servent pas la même chose — ce chapitre les démêle.
| Surface | Où elle vit | Ce qu'elle fait |
|---|---|---|
| 1. Serveur MCP natif du site WordPress | Plugin Stormeo Connector (v3.13+), route /wp-json/stormeo/v1/mcp | Expose une liste explicite d'abilities en lecture seule aux clients MCP, via le MCP Adapter WordPress officiel |
| 2. Pilotage à distance avec approbation (HITL) | StormeoOS, routes /api/site-connectors/:id/mcp/* | Workflow brouillon → prévisualisation → approbation → exécution → rollback pour agir sur un site WP/PS depuis StormeoOS |
| 3. Outils IA de StormeoOS | StormeoOS, POST /api/mcp/execute + manifeste /.well-known/mcp.json | Expose 10 outils (clients, tickets, factures…) aux agents IA, authentifiés par clé API publique |
1. Serveur MCP natif WordPress
Depuis la v3.13, le plugin Stormeo Connector enregistre ses opérations comme abilities (Abilities API du core WordPress). Si le site dispose du MCP Adapter, le plugin publie un serveur MCP (serverId: stormeo) sur :
/wp-json/stormeo/v1/mcp- Transport : HTTP (transport standard du MCP Adapter WordPress).
- Auth : authentification REST WordPress +
permission_callbackpar ability (capabilities de l'utilisateur). - Exposition : une liste explicite (
EXPOSED) de 10 abilities en lecture et pré-contrôles. Les mutations et opérations sensibles sont retenues (WITHHELD) — jamais servies par le serveur MCP, uniquement accessibles via le workflow d'approbation (surface 2).
→ Détail des abilities : abilities.md
Maturité d'un connecteur
Le plugin remonte l'état de ses abilities dans le heartbeat (payload.abilities). StormeoOS classe chaque connecteur :
| Niveau | Signification |
|---|---|
unknown | Aucun rapport reçu (plugin < 3.13 ou heartbeat absent) |
legacy-only | Plugin à jour mais Abilities API absente du site |
abilities-ready | Abilities enregistrées, MCP Adapter absent |
mcp-ready | Serveur MCP actif avec au moins une ability exposée |
Le transport MCP natif n'est utilisé que pour les connecteurs mcp-ready ; les autres passent par le RPC propriétaire chiffré (voir ci-dessous).
2. Pilotage à distance avec approbation (HITL)
Toutes les mutations sur un site connecté (créer une page, mettre à jour un produit, changer un statut de commande…) passent par un workflow human-in-the-loop côté StormeoOS :
draft → preview → approve → execute → (rollback)Chaque commande est prévisualisée avant approbation, exécutée seulement après validation par un rôle approbateur, et réversible par snapshot. Le transport vers le site est un RPC chiffré (AES-256-GCM) et signé (HMAC-SHA256), distinct du protocole MCP malgré le nom des routes.
→ Détail du workflow et des routes : hitl-workflow.md
3. StormeoOS comme fournisseur d'outils IA
StormeoOS expose ses propres données (clients, projets, tickets, factures, sites, contacts, services, stats) sous forme d'outils appelables par un agent IA :
- Manifeste de découverte :
GET /.well-known/mcp.json - Exécution :
POST /api/mcp/execute - Auth : clé API publique
spk_*(scopes requis par outil) ou session
→ Détail des outils et du contrat d'appel : stormeo-tools.md
⚠️ Limite actuelle : cette surface suit un contrat HTTP simple (
{ tool, arguments }), pas le protocole JSON-RPC MCP complet (initialize,tools/list…). Un client MCP générique (ex. Claude Desktop) ne peut pas s'y connecter tel quel — utilisez un adaptateur HTTP. La conformité protocolaire complète est sur la roadmap.
Sommaire
| Document | Contenu |
|---|---|
| abilities.md | Les 10 abilities exposées, la politique EXPOSED/WITHHELD, le rapport runtime |
| hitl-workflow.md | Workflow d'approbation, routes /api/site-connectors/:id/mcp/*, transport chiffré |
| stormeo-tools.md | Outils IA de StormeoOS, manifeste, scopes, exemples |