Telaria MCP - Implémentation Symfony
Ce document décrit l'implémentation Symfony de Telaria MCP côté serveur.
1. Composants clés
Composants recommandés :
McpController: point de terminaison unique/api/mcp.McpKernelouMcpService: validation JSON-RPC et routage.ToolRegistry: catalogue des tools et métadonnées.ResourceProvider: accès aux resources.PromptProvider: accès aux prompts.McpAuthenticator: authentification HTTP.McpLogger: journalisation MCP.
2. Flux de traitement
Étapes recommandées :
- Validation JSON-RPC (structure,
jsonrpc,method,id). - Vérification d'authentification et d'autorisation.
- Résolution de la méthode MCP.
- Validation des paramètres (JSON Schema).
- Exécution du handler.
- Construction de la réponse JSON-RPC.
- Journalisation et métriques.
3. Enregistrement des tools
Convention : tag de service Symfony mcp.tool (découverte automatique par ToolRegistry).
# config/services.yaml services: Telaria\Mcp\Tool\SearchDocsTool: tags: ["mcp.tool"]
4. Validation
Recommandations :
- Utiliser
symfony/validatorpour les DTO internes. - Valider les
inputSchemades tools via un validateur JSON Schema. - Rejeter toute entrée inattendue.
5. Gestion des erreurs
Recommandations :
- Mapper les erreurs de validation sur JSON-RPC
-32602. - Mapper les méthodes inconnues sur
-32601. - Éviter de divulguer des traces internes en production.
6. Sécurité
Recommandations :
- Protéger
/api/mcpavec le composant Security. - Ajouter un rate limiter pour prévenir les abus.
- Mettre en place une liste d'origines autorisées si HTTP.
Sources utiles : https://symfony.com/doc/current/security.html https://symfony.com/doc/current/rate_limiter.html https://symfony.com/doc/current/validation.html https://symfony.com/doc/current/service_container/tags.html