02-ce-que-je-construis/bundles/tlr-mcp/tlr-mcp-implementation-symfony.md

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 :

  1. McpController : point de terminaison unique /api/mcp.
  2. McpKernel ou McpService : validation JSON-RPC et routage.
  3. ToolRegistry : catalogue des tools et métadonnées.
  4. ResourceProvider : accès aux resources.
  5. PromptProvider : accès aux prompts.
  6. McpAuthenticator : authentification HTTP.
  7. McpLogger : journalisation MCP.

2. Flux de traitement

Étapes recommandées :

  1. Validation JSON-RPC (structure, jsonrpc, method, id).
  2. Vérification d'authentification et d'autorisation.
  3. Résolution de la méthode MCP.
  4. Validation des paramètres (JSON Schema).
  5. Exécution du handler.
  6. Construction de la réponse JSON-RPC.
  7. 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 :

  1. Utiliser symfony/validator pour les DTO internes.
  2. Valider les inputSchema des tools via un validateur JSON Schema.
  3. Rejeter toute entrée inattendue.

5. Gestion des erreurs

Recommandations :

  1. Mapper les erreurs de validation sur JSON-RPC -32602.
  2. Mapper les méthodes inconnues sur -32601.
  3. Éviter de divulguer des traces internes en production.

6. Sécurité

Recommandations :

  1. Protéger /api/mcp avec le composant Security.
  2. Ajouter un rate limiter pour prévenir les abus.
  3. 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

Assistant documentaire

Posez une question sur la documentation. Les réponses citent leurs sources — un clic ouvre le document à gauche.

Loading…
Loading the web debug toolbar…
Attempt #