La semaine dernière, l'équipe Laravel a discrètement poussé quelque chose dans l'écosystème qui pourrait bien changer la façon dont vous pensez vos applications. Un package baptisé laravel/mcp. Pas de grand discours. Juste une commande composer et des API propres. Mais derrière cette simplicité se cache quelque chose d'important.
Nous sommes en 2025 et les assistants IA comme Claude, ChatGPT, Cursor et GitHub Copilot traitent plus de trois milliards de messages par jour. Ce sont devenus des points d'entrée à part entière, au même titre que le navigateur ou l'API REST. Vos applications Laravel sont riches en données, en logique métier, en actions, mais inaccessibles depuis ces nouveaux points d'entrée. Laravel MCP change cela.
À travers cet article, Laravel CI vous donne les bases pour comprendre le Model Context Protocol, pourquoi ça compte pour la communauté Laravel en Côte d'Ivoire et en Afrique francophone, et comment le mettre en place dans votre application dès aujourd'hui.
C'est quoi le Model Context Protocol ?
Le Model Context Protocol (MCP) est un standard ouvert lancé par Anthropic. Son objectif est simple : définir un protocole universel permettant aux assistants IA de se connecter à n'importe quelle source de données ou service applicatif de manière structurée et sécurisée.
Pensez à MCP comme au HTTP des intégrations IA. De la même façon que HTTP a normalisé la communication entre navigateurs et serveurs web, MCP normalise la communication entre agents IA et vos services. Un client MCP peut invoquer n'importe quel serveur MCP sans code d'intégration spécifique, exactement comme un navigateur peut ouvrir n'importe quel site web.
Il repose sur trois primitives fondamentales.
- Tools. Ce que l'IA peut faire dans votre application : créer une facture, envoyer un email, déclencher un déploiement. Tout ce que vous pouvez coder peut devenir un Tool.
- Resources. Ce que l'utilisateur partage avec l'IA comme contexte : un document, une fiche produit, un historique client. L'utilisateur choisit ce qu'il donne à lire à l'assistant.
- Prompts. Des templates de conversation réutilisables que l'utilisateur peut invoquer d'un clic : "Résume cet itinéraire", "Fais une revue de code", "Génère un rapport de sprint".
Installation
Le package est compatible Laravel 10, 11 et 12, et requiert PHP 8.1+.
composer require laravel/mcp
php artisan vendor:publish --tag=ai-routes
La commande vendor:publish crée routes/ai.php, l'équivalent de routes/api.php pour vos serveurs MCP. C'est là que vous déclarez quels serveurs exposer et avec quelle protection.
Les quatre piliers en pratique
Voici les quatre concepts fondamentaux côte à côte. L'exemple utilise un serveur de réservation de vols, identique à celui de la documentation officielle.
Authentification
Laravel MCP s'intègre nativement avec Sanctum pour les tokens Bearer et Passport pour OAuth 2.1. La deuxième option est recommandée quand vous voulez que des clients tiers comme Claude Desktop ou Cursor se connectent à votre serveur de façon sécurisée.
Avec Sanctum
Mcp::web('/mcp/flights', FlightServer::class)
->middleware('auth:sanctum');
Avec OAuth 2.1 via Passport
// routes/ai.php
Mcp::oauthRoutes();
Mcp::web('/mcp/flights', FlightServer::class)
->middleware('auth:api');
Mode Local pour les IDE
En mode local, le serveur tourne en stdio et se branche directement dans Cursor, VS Code ou Claude Desktop. Il suffit d'un fichier .mcp.json à la racine du projet.
{
"mcpServers": {
"flights": {
"command": "php",
"args": ["artisan", "mcp:start", "flights"]
}
}
}
L'assistant de votre IDE peut désormais appeler vos Tools directement, sans quitter l'éditeur.
Consommer des serveurs MCP tiers
Laravel MCP inclut aussi un client pour appeler des serveurs MCP externes depuis votre propre application. Vous pouvez ainsi orchestrer des services de partenaires ou des APIs tierces qui exposent un serveur MCP.
use Laravel\Mcp\Client;
use Laravel\Mcp\Facades\Mcp;
Mcp::registerClient('weather', fn () =>
Client::web('https://weather.example.com/mcp')
->withToken(fn () => auth()->user()->weatherToken())
);
$result = Mcp::client('weather')->callTool('get-forecast', ['city' => 'Abidjan']);
echo $result->text();
Ce que ca change concrètement
Pour vous donner une idée du champ des possibles, voici quelques cas que vous pourriez implémenter cette semaine dans vos projets.
- Un SaaS de gestion de projet qui expose des Tools pour créer des tickets, assigner des tâches et générer des rapports de sprint. Votre client peut désormais demander à Claude de faire tout cela en langage naturel.
- Une plateforme e-commerce avec des Tools pour rechercher des produits, passer des commandes et suivre des livraisons. Plus besoin d'application mobile dédiée pour les utilisateurs power-users.
- Un CRM avec des Prompts préconçus pour générer des emails de relance ou résumer un historique client en quelques secondes.
- Des outils DevOps où l'IA devient un copilote d'infrastructure, capable de déclencher des déploiements, lire des logs et scaler des instances depuis une conversation.
Voir MCP en action
L'équipe Laravel a publié une introduction de 3 minutes pour montrer concrètement l'impact de MCP sur une app Laravel.
Et pour aller jusqu'au bout, le tutoriel complet de construction d'une vraie app MCP avec Laravel.
Pour aller plus loin
MCP n'est pas une mode. C'est une infrastructure. De la meme facon que les APIs REST ont ouvert les applications web a des integrations infinies dans les annees 2010, MCP ouvre vos applications aux agents IA aujourd'hui. La difference, c'est que le rythme d'adoption est bien plus rapide.
Avec plus d'un milliard d'utilisateurs envoyant plus de 20 milliards de messages par semaine aux assistants IA, chaque semaine passee sans MCP est une semaine ou vos utilisateurs ne peuvent pas acceder a votre application depuis leur interface preferee. Laravel vous donne maintenant les outils pour changer ca.