Abilities WordPress — liste exposée
Le plugin Stormeo Connector (v3.13+) enregistre ~30 abilities via l'Abilities API WordPress. Le serveur MCP natif (/wp-json/stormeo/v1/mcp) n'en sert qu'une liste explicite : toute ability est classée exposée (EXPOSED) ou retenue (WITHHELD) — jamais de drapeau implicite, le harnais de tests échoue si une ability n'est pas classée.
Abilities exposées (10) — lecture et pré-contrôles uniquement
| Ability | Capability WP requise | Description |
|---|---|---|
stormeo/get-connection-status | manage_options | État du couplage StormeoOS ↔ site |
stormeo/get-database-health | manage_options | Santé de la base de données |
stormeo/get-disk-usage | manage_options | Occupation disque (parcourt le système de fichiers — coûteux) |
stormeo/get-seo-audit | edit_others_posts | Audit SEO des contenus publiés |
stormeo/get-sitemap-urls | edit_posts | URLs du sitemap |
stormeo/get-traffic-stats | manage_options | Statistiques de trafic (WP Statistics) |
stormeo/get-core-integrity | manage_options | Empreinte des fichiers core vs référence |
stormeo/get-acf-field-groups | manage_options | Groupes de champs ACF |
stormeo/check-update-readiness | update_plugins | Pré-contrôles avant mise à jour d'extension (PHP/WP/disque/mémoire) |
stormeo/check-rollback-readiness | update_plugins | Pré-contrôles avant retour arrière |
Chaque ability applique son permission_callback (capability WordPress de l'utilisateur authentifié) en seconde barrière — la première barrière est la liste d'exposition elle-même.
Abilities retenues (20)
Les 12 mutations (create/update/delete-page|post|product, update-order-status, update-user, restore-snapshot) et 8 opérations (run-security-scan, run-disk-scan, generate-maintenance-report, flush-cache, reset-integrity-baseline, set-auto-update-policy, update-plugin, rollback-plugin) sont enregistrées comme abilities mais jamais servies au serveur MCP.
Elles restent accessibles uniquement via le workflow d'approbation HITL piloté depuis StormeoOS : une IA connectée au serveur MCP du site peut observer, pas modifier.
Rapport runtime & heartbeat
Le plugin remonte l'état réel à chaque heartbeat (POST /api/plugin/v2/heartbeat, champ payload.abilities) :
{
"abilities": {
"available": true,
"mcpAdapter": true,
"mcpServer": {
"available": true,
"serverId": "stormeo",
"route": "/wp-json/stormeo/v1/mcp",
"exposed": ["stormeo/get-connection-status", "..."],
"withheld": 20
}
}
}Points de comportement à connaître :
- La liste
exposedest l'intersection entre la liste déclarée et les abilities réellement enregistrées sur le site : un identifiant déclaré mais non enregistré n'empêche pas le démarrage, il devient simplement visible dans le rapport. - Le serveur MCP ne démarre que si le MCP Adapter et l'Abilities API sont présents sur le site — sinon le bootstrap est un no-op silencieux et le connecteur reste
abilities-readyoulegacy-only. - PrestaShop n'a ni Abilities API ni serveur MCP : les connecteurs PS sont toujours pilotés par le RPC propriétaire.
Prérequis côté site WordPress
| Composant | Rôle |
|---|---|
| WordPress avec Abilities API | Enregistrement des abilities |
| MCP Adapter WordPress | Serveur + transport HTTP MCP |
| Plugin Stormeo Connector ≥ 3.13 | Déclare les abilities et le serveur stormeo |