MCP existe depuis novembre 2024 comme protocole standardisé pour connecter des agents à des outils externes ; il aura fallu un peu plus d’un an pour qu’une coopérative agricole du secteur céréalier commence à l’utiliser concrètement, non pas pour un usage interne, mais pour répondre à une demande venue de ses propres clients professionnels.
Plusieurs acheteurs B2B de la coopérative utilisaient déjà des agents d’achat automatisés pour surveiller les disponibilités chez leurs fournisseurs habituels. La coopérative a choisi de construire un serveur MCP exposant une partie de ses stocks à ces agents externes, tout en gardant les prix négociés strictement confidentiels.
Le problème posé par la demande des acheteurs
Les acheteurs professionnels souhaitaient qu’un agent de leur côté puisse interroger automatiquement la disponibilité de certaines céréales et légumineuses, plutôt que d’attendre une réponse par e-mail ou par téléphone. La coopérative gérait déjà ces informations dans WordPress, via un type de contenu lot_stock associé à des métadonnées de quantité et de catégorie.
Le choix : cinq catégories exposées, sur quarante gérées en interne
Plutôt que d’ouvrir l’ensemble du référentiel produit, l’équipe technique a sélectionné cinq catégories à forte demande externe — blé tendre, orge, maïs, colza et féverole — pour un premier outil MCP. Les trente-cinq autres catégories, incluant des produits sous contrat exclusif avec certains clients, sont restées hors du périmètre exposé.

Ce que l’outil MCP retourne, et ce qu’il tait
L’outil consulter_disponibilite accepte en paramètre une catégorie et retourne une quantité disponible arrondie à la tonne près, sans jamais inclure de prix. Les prix, négociés individuellement avec chaque client historique, restent gérés dans un système séparé, totalement inaccessible depuis le serveur MCP.
function consulter_disponibilite( array $args ): array {
$categories_autorisees = array( 'ble-tendre', 'orge', 'mais', 'colza', 'feverole' );
$categorie = sanitize_title( $args['categorie'] ?? '' );
if ( ! in_array( $categorie, $categories_autorisees, true ) ) {
return array( 'erreur' => 'categorie non exposee' );
}
$quantite = (int) get_option( 'stock_total_' . $categorie, 0 );
return array(
'categorie' => $categorie,
'quantite_t' => $quantite,
'unite' => 'tonnes',
);
}
L’authentification, pensée pour rester en lecture
Chaque agent d’achat externe reçoit un jeton propre à son entreprise cliente, valable uniquement pour l’outil de consultation de disponibilité. Aucun jeton ne permet de créer, modifier ou réserver un lot de stock : cette fonctionnalité reste gérée exclusivement par les commerciaux de la coopérative, par téléphone ou par e-mail.
- Les jetons sont rattachés à une entreprise cliente identifiée, pas à un usage anonyme.
- La rotation des jetons est prévue tous les six mois, avec révocation immédiate en cas de changement de contrat.
- Aucune information de prix, de marge ou de contrat n’est accessible via cette voie.
Ce que le lancement a révélé côté adoption
Les premiers clients à utiliser cet accès ont rapporté un gain de temps réel sur leur propre veille d’approvisionnement, en évitant des allers-retours par e-mail pour de simples questions de disponibilité. La coopérative, de son côté, a vu diminuer les sollicitations répétitives auprès de ses commerciaux sur ce type de question, sans perdre le contrôle sur la partie commerciale du processus.
Exposer une disponibilité n’est pas exposer un prix : la distinction, évidente en théorie, mérite d’être vérifiée ligne par ligne dans le code d’un outil MCP avant sa mise en production.
En résumé
Ce projet illustre un usage de MCP relativement rare dans les retours d’expérience disponibles : exposer des données à des agents appartenant à des organisations tierces, et non à un agent interne. La discipline appliquée — catégories limitées, prix exclus, jetons révocables — a permis à la coopérative de répondre à une demande réelle sans renoncer au contrôle sur les informations les plus sensibles de sa relation commerciale.