
Une application Laravel possède déjà ce dont les outils WebMCP ont besoin : des routes, de la validation, des policies et une session. Il suffit d’ajouter un petit script à la page. Vous découvrez le sujet ? Commencez par ce qu’est WebMCP.
Étape 1 : une petite route JSON
Utilisez une route dans routes/web.php, pour que la session du visiteur s’applique, et ajoutez une limite de débit :
Route::get('/agent/products', function (Illuminate\Http\Request $request) {
$data = $request->validate(['q' => 'required|string|max:80']);
return App\Models\Product::query()
->where('published', true)
->where('name', 'like', '%'.$data['q'].'%')
->limit(5)
->get(['name', 'price', 'slug']);
})->middleware('throttle:30,1');Ne sélectionnez que les colonnes qu’un client a le droit de voir. Ne renvoyez jamais un modèle entier.
Étape 2 : enregistrer l’outil dans Blade
Ajoutez un script à votre layout, ou ajoutez-le uniquement aux pages qui en ont besoin :
@push('scripts')
<script>
const mc = document.modelContext || navigator.modelContext;
if (mc && mc.registerTool) {
mc.registerTool({
name: 'search_products',
description: 'Search published products. Returns name, price and slug.',
inputSchema: {
type: 'object',
properties: { q: { type: 'string', description: 'Keywords' } },
required: ['q'],
},
annotations: { readOnlyHint: true },
execute: async ({ q }) => {
const res = await fetch('/agent/products?q=' + encodeURIComponent(q));
return await res.text();
},
});
}
</script>
@endpushÉtape 3 : les formulaires Blade comme outils
Ajoutez toolname et tooldescription à un formulaire existant. Les champs avec libellé deviennent les paramètres de l’outil. Conservez @csrf. Le navigateur remplit le formulaire et, par défaut, c’est le visiteur qui clique sur le bouton.
Étape 4 : les actions sensibles
Pour un outil POST, envoyez le jeton CSRF dans l’en-tête X-CSRF-TOKEN et autorisez l’action avec une policy, comme d’habitude. Signalez l’outil avec consequentialHint: true.
Règles de sécurité
- Commencez en lecture seule. La recherche et les détails d’abord ; signalez-les avec
readOnlyHint. - Demandez avant d’agir. Signalez les actions de panier, de réservation et de formulaire avec
consequentialHint, pour que le visiteur confirme. - Vérifiez côté serveur. Le navigateur n’est pas une barrière de sécurité : validez chaque paramètre et chaque permission dans votre backend.
- Renvoyez le minimum. N’envoyez que ce qu’un client a le droit de voir, jamais de données d’administration ni les informations d’autres clients.
Testez
- Utilisez une version récente de Chrome avec WebMCP activé, via l’origin trial ou le flag de test.
- Appelez chaque outil avec des paramètres valides et invalides.
- Vérifiez que les visiteurs habituels ne voient aucune différence.
- Lancez le vérificateur WebMCP gratuit sur la page précise où se trouvent vos outils.
Vous préférez nous le confier ?
Nous ajoutons WebMCP aux applications Laravel et PHP. Découvrez nos services d’intégration WebMCP, ou contrôlez votre version actuelle de PHP avec notre vérificateur de version PHP gratuit.
Questions fréquentes
Ai-je besoin d’un package Laravel pour WebMCP ?
Non. WebMCP est une API du navigateur : un petit script et une route normale suffisent. Un package ne fait gagner que quelques lignes de code.
Comment fonctionne l’authentification avec WebMCP dans Laravel ?
Les outils s’exécutent dans la page : les requêtes de même origine transportent donc le cookie de session du visiteur. Votre middleware d’authentification et vos policies fonctionnent comme d’habitude.
Qu’en est-il du CSRF pour les outils POST ?
Envoyez le jeton CSRF issu de la balise meta de la page dans l’en-tête X-CSRF-TOKEN, comme pour toute requête JavaScript.
Cela fonctionne-t-il avec Livewire ou Inertia ?
Oui. Chargez le script dans votre layout principal, ou enregistrez les outils dans un composant Vue ou React si vous utilisez Inertia.
Comment nous pouvons vous aider
- Services d’intégration WebMCPWebMCP development for any stack, from WordPress and Shopify to Next.js, Laravel and Django: search, FAQs and forms offered as secure tools for AI browser agents, with a free audit.
- Migration PHP vers Next.js & FastAPIMigration d'applications PHP, Laravel, CodeIgniter et WordPress anciennes vers Next.js et Python FastAPI, avec devis ferme, URL, SEO et données conservés et bascule sans interruption.
- Développement d'applications web sur mesureDéveloppement d'applications web full-stack sur mesure pour le SaaS, les outils internes, les tableaux de bord et les portails d'entreprise avec React, Next.js, Node, Laravel et Django.
Parlez de votre projet à un ingénieur
Dites-nous ce que vous construisez. Nous répondons sous un jour ouvrable avec un avis franc sur le périmètre, l’approche et l’effort.
Réservez un appel stratégique gratuitRédigé par l'équipe d'ingénierie d'UnlockLive IT. UnlockLive IT Limited travaille avec ses clients depuis son siège de Los Angeles et son bureau de Toronto et livre l'ingénierie depuis son centre de livraison de Dhaka. À propos de nous