Serveur MCP minimal en PHP
Un serveur Model Context Protocol fonctionnel en moins de 100 lignes de PHP natif. JSON-RPC, transport stdio, un tool exposé. De quoi comprendre la mécanique sans librairie.
L'ensemble des articles publiés, du plus récent au plus ancien.
Un serveur Model Context Protocol fonctionnel en moins de 100 lignes de PHP natif. JSON-RPC, transport stdio, un tool exposé. De quoi comprendre la mécanique sans librairie.
Un prompt est du code qui décide du comportement de ton produit. Le laisser en string hardcodée non versionnée est une dette. Comment traiter les prompts comme des artefacts.
Un wrapper PHP minimaliste pour logger chaque appel LLM (prompt, réponse, tokens, latence, coût) dans une table SQL. Compatible PSR-3, lisible, debuggable.
Comment tester du code qui appelle un LLM sans payer des tokens à chaque run ni dépendre d'une réponse non déterministe. Doublures, golden tests, et ce qu'on teste vraiment.
Mettre les appels LLM dans une queue Symfony Messenger pour découpler l'API utilisateur des temps de réponse imprévisibles. Setup minimal et patterns testés en production.
Obtenir du JSON structuré et valide d'un LLM de façon fiable : schéma dans le prompt, validation stricte, retry ciblé. Le pattern qui tient en prod.
Le LLM n'est pas le bon outil partout. Quand basculer une UI vers une interface conversationnelle, et quand un simple formulaire reste imbattable. Une heuristique courte pour décider.
Streamer les tokens d'un LLM vers le navigateur en Server-Sent Events, sans framework ni librairie. Le pattern, les pièges de buffering, et le code complet.
Pourquoi ce blog, ce qu'on y traitera : retours de terrain d'AI Engineering, MCP, agents, backend Symfony et l'art d'industrialiser ces sujets.