
Par Youssef Douiri, cofondateur de Global Digital Agency
L’Abilities API est une interface intégrée au cœur de WordPress depuis la version 6.9, publiée le 2 décembre 2025. Elle permet à WordPress et à ses extensions de déclarer leurs fonctions, appelées « abilities », dans un registre commun : un nom, une description, les données attendues, les données renvoyées et une vérification des permissions. Ces fonctions deviennent alors découvrables et utilisables de façon standard, en PHP, par l’API REST ou par un assistant IA via un adaptateur MCP.
À quoi sert l’Abilities API ?
Avant WordPress 6.9, chaque extension exposait ses fonctions à sa manière : ses propres routes REST, ses propres réglages, sa propre documentation. Un outil extérieur devait apprendre chaque extension une par une.
L’Abilities API change cela. L’annonce officielle de WordPress 6.9 la décrit comme un registre standardisé des fonctions d’un site, et comme un système de permissions lisible par les machines. En clair : chaque extension remplit la même fiche pour dire ce qu’elle sait faire, et qui a le droit de le faire.
Le bénéfice le plus visible concerne l’IA. Un assistant peut lire ces fiches et savoir quelles actions sont possibles sur votre site, sans code spécifique à chaque extension.
Qu’est-ce qu’une « ability », concrètement ?
La note de développement de WordPress la définit comme une unité de fonctionnalité autonome, avec des entrées, des sorties, des permissions et une logique d’exécution. Chaque ability porte quelques informations clés.
| Élément | À quoi il sert | Exemple |
|---|---|---|
| Nom | Identifiant unique, préfixé par l’extension | mon-extension/calculer-devis |
| Libellé et description | Expliquer la fonction à un humain ou à une IA | « Calcule le prix d’un séjour » |
| Catégorie | Regrouper les abilities d’une même extension | « Réservations » |
| Schéma d’entrée | Décrire les données attendues (JSON Schema) | Dates d’arrivée et de départ |
| Schéma de sortie | Décrire la réponse | Total, taxes, acompte |
| Fonction d’exécution | Le code qui fait le travail | Le calcul du devis |
| Vérification des permissions | Dire qui a le droit d’appeler la fonction | Utilisateur pouvant gérer les réservations |
| Méta | Options d’exposition (REST, MCP) et annotations | Lecture seule, non destructif |
La description compte beaucoup. C’est elle que l’IA lit pour décider d’utiliser ou non la fonction. Une description claire réduit les erreurs d’appel.
Comment une extension déclare-t-elle une ability ?
Pour les développeurs, le mécanisme tient en deux fonctions et deux crochets, d’après la note officielle :
- Déclarer une catégorie avec
wp_register_ability_category(), sur le crochetwp_abilities_api_categories_init. - Déclarer l’ability avec
wp_register_ability(), sur le crochetwp_abilities_api_init. Hors de ce crochet, l’enregistrement échoue. - Fournir les schémas d’entrée et de sortie en JSON Schema dès qu’il y a une valeur à recevoir ou à renvoyer.
- Écrire la vérification des permissions, en s’appuyant sur les rôles et capacités WordPress.
- Choisir l’exposition dans les méta : l’accès par l’API REST n’est pas activé par défaut.
Schématiquement :
php
add_action( 'wp_abilities_api_init', function () {
wp_register_ability( 'mon-extension/calculer-devis', array(
'label' => 'Calculer un devis',
'description' => 'Prix détaillé d\'un séjour, sans créer de réservation.',
'category' => 'mon-extension',
'input_schema' => array( /* dates, voyageurs */ ),
'execute_callback' => 'mon_extension_calculer_devis',
'permission_callback' => function () { return current_user_can( 'edit_posts' ); },
'meta' => array( 'show_in_rest' => true ),
) );
} );
Une bonne pratique : vérifier que la fonction existe avant de l’appeler, pour que l’extension reste compatible avec les versions antérieures à 6.9. Sur ces versions, rien n’est déclaré, et le reste de l’extension fonctionne normalement.
Quel est le lien avec l’IA et MCP ?
L’Abilities API ne parle pas directement aux assistants. Elle tient le registre. Le lien avec l’IA passe par un adaptateur MCP, comme l’extension officielle MCP Adapter publiée par WordPress.org. Celle-ci transforme les abilities en outils MCP que Claude, ChatGPT ou un éditeur de code peuvent appeler.
Deux verrous s’ajoutent. Selon la documentation de MCP Adapter, les abilities sont privées par défaut : l’extension doit les marquer publiques pour MCP. Et à chaque appel, la vérification des permissions s’exécute pour l’utilisateur connecté. Nous détaillons la chaîne complète dans WordPress MCP : c’est quoi et comment connecter une IA à son site.
À quoi cela ressemble-t-il dans une vraie extension ?
Prenons notre extension de réservation, GDA Kraft Booking. Son édition téléchargée depuis l’espace client Kraft GDA déclare dix abilities dans une catégorie dédiée :
| Ability | Type |
|---|---|
get-overview (vue d’ensemble du site) |
Lecture |
list-properties et get-property (hébergements) |
Lecture |
get-availability (disponibilités d’un logement) |
Lecture |
get-quote (devis, sans créer de réservation) |
Lecture |
list-bookings (dernières réservations, sans données personnelles) |
Lecture |
list-design-components (blocs, modules et widgets disponibles) |
Lecture |
save-property (créer ou modifier un hébergement, brouillon par défaut) |
Écriture |
create-unit (ajouter un logement réservable) |
Écriture |
create-booking-page (page de réservation en brouillon) |
Écriture |
Chaque ability vérifie une capacité WordPress précise. Aucune n’est marquée destructive : rien n’est supprimé, et aucune ne gère l’annulation, le remboursement ou l’envoi d’e-mails. L’aide détaille ces règles : Piloter Kraft Booking avec une IA.
Qu’est-ce que cela change pour un propriétaire de site ?
Pour un non-développeur, trois choses.
- Rien ne s’ouvre tout seul. Une ability déclarée n’est pas accessible à une IA sans adaptateur, ni sans utilisateur authentifié.
- Les droits WordPress restent la règle. Un utilisateur sans droit de gestion ne pourra pas déclencher une action de gestion, même si l’IA le lui demande.
- La qualité dépend des extensions. Une extension qui décrit mal ses abilities, ou qui donne des permissions trop larges, reste un risque. Lisez ce qu’elle expose avant de la connecter.
Pour la mise en place pratique, lisez Donner l’accès de son site WordPress à une IA sans risque.
Quelles erreurs éviter quand on conçoit des abilities ?
Si vous développez une extension, quelques erreurs reviennent souvent. Elles rendent l’IA moins fiable ou le site moins sûr.
- Une description vague. « Gère les réservations » ne dit pas ce que fait la fonction. Préférez une phrase précise : ce qui est lu ou modifié, ce qui n’est jamais fait, la fonction à appeler d’abord.
- Une permission trop large. Vérifier seulement que l’utilisateur est connecté ne suffit pas. Choisissez la capacité qui correspond vraiment à l’action.
- Des schémas incomplets. Sans type, bornes ni champs obligatoires, l’IA devine. Un schéma strict refuse les données mal formées avant toute exécution.
- Des réponses trop bavardes. Renvoyer des données personnelles ou des champs inutiles expose plus que nécessaire. Ne renvoyez que ce dont l’usage a besoin.
- Des actions irréversibles exposées. Suppression, remboursement, envoi de message : demandez-vous si une IA doit vraiment pouvoir les déclencher. Souvent, la réponse est non.
- Des annotations absentes. Indiquez si la fonction est en lecture seule ou non, destructive ou non. Les clients MCP peuvent s’en servir pour demander une confirmation.
Questions fréquentes
L’Abilities API est-elle une extension à installer ?
Non. Elle fait partie du cœur de WordPress depuis la version 6.9. Ce sont les extensions qui y déclarent leurs fonctions.
L’Abilities API envoie-t-elle des données à une IA ?
Non. Elle ne fait que tenir un registre. Rien ne part vers une IA sans adaptateur MCP et sans connexion authentifiée.
Les abilities sont-elles accessibles par l’API REST ?
Seulement si l’extension l’active dans les méta de l’ability. Les points d’accès REST correspondants exigent un utilisateur authentifié.
Comment savoir quelles abilities mon site déclare ?
Une fois un adaptateur MCP branché, demandez à l’assistant de lister les abilities disponibles. Vous ne verrez que celles rendues publiques et autorisées pour votre utilisateur.
En résumé
L’Abilities API est un registre commun des fonctions d’un site WordPress, avec des permissions intégrées. Elle ne fait rien seule : elle prépare le terrain pour l’automatisation et l’IA, à travers un adaptateur. Pour un site professionnel, elle rend le pilotage par IA plus lisible et plus contrôlable.
Vous développez ou gérez un site de réservation ? Comparez ensuite les adaptateurs dans MCP Adapter officiel, Novamira et autres.
