Skip to content

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 ​

AbilityCapability WP requiseDescription
stormeo/get-connection-statusmanage_optionsÉtat du couplage StormeoOS ↔ site
stormeo/get-database-healthmanage_optionsSanté de la base de données
stormeo/get-disk-usagemanage_optionsOccupation disque (parcourt le système de fichiers — coûteux)
stormeo/get-seo-auditedit_others_postsAudit SEO des contenus publiés
stormeo/get-sitemap-urlsedit_postsURLs du sitemap
stormeo/get-traffic-statsmanage_optionsStatistiques de trafic (WP Statistics)
stormeo/get-core-integritymanage_optionsEmpreinte des fichiers core vs référence
stormeo/get-acf-field-groupsmanage_optionsGroupes de champs ACF
stormeo/check-update-readinessupdate_pluginsPré-contrôles avant mise à jour d'extension (PHP/WP/disque/mémoire)
stormeo/check-rollback-readinessupdate_pluginsPré-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) :

json
{
  "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 exposed est 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-ready ou legacy-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 ​

ComposantRôle
WordPress avec Abilities APIEnregistrement des abilities
MCP Adapter WordPressServeur + transport HTTP MCP
Plugin Stormeo Connector ≥ 3.13Déclare les abilities et le serveur stormeo

StormeoOS API