| Transport HTTP JSON-RPC | aimcptrHttp | TransportOptions.Http | Une requête, une réponse, la connexion se ferme. |
| Transport HTTP Streamable | aimcptrHttpStreamable | TransportOptions.HttpStreamable | Keep-alive et un flux SSE, c'est lui qui porte les notifications et les requêtes initiées par le serveur. |
| Transport stdio | aimcptrStdio | hôte stdio séparé | Le client lance un sous-processus local. Le stdio côté serveur est fourni par une classe hôte dédiée plutôt que par le composant de palette. |
| Poignée de main | Initialize | OnMCPInitialize | Négociation des capacités et attribution de l'identifiant de session. |
| Sessions | Session, HeartBeat | OnMCPSessionNew, OnMCPSessionEnd, SessionTimeout | Les sessions inactives expirent sur le serveur, le client peut en maintenir une en vie avec des pings périodiques. |
| Outils | ListTools, RequestTool | Tools, OnMCPRequestTool | Lister et appeler. Le serveur déclenche un événement où ton code fait le travail. |
| Prompts | ListPrompts, RequestPrompt | Prompts, OnMCPRequestPrompt | Même schéma que pour les outils. |
| Ressources | ListResources, RequestResource, ListResourceTemplates | Resources, ResourceTemplates, OnMCPRequestResource | Les listes acceptent un curseur pour la pagination. |
| Abonnements aux ressources | SubscribeResource, UnsubscribeResource | SendNotificationResourcesUpdated | Suivre une ressource et être averti quand elle change. |
| Notifications de liste modifiée | reçues | SendNotificationToolsListChanged et les équivalents pour les prompts et les ressources | Nécessite le transport streamable. |
| Racines | OnMCPListRoots | RequestRootsList | Le serveur demande au client quelles racines de système de fichiers il peut utiliser. |
| Échantillonnage | OnMCPSamplingCreateMessage | RequestSamplingCreateMessage | Le serveur demande une complétion au modèle du client. |
| Sollicitation | OnMCPElicitationCreate | RequestElicitationCreate | Le serveur demande une saisie à l'utilisateur via le client. |
| Complétion | Complete | pris en charge | Complétion des valeurs d'arguments pour les outils et les prompts. |
| Journalisation | SetLoggingLevel | SendLogMessage | Messages de journal structurés à un niveau contrôlé par le client. |
| Authentification | clé API, en-tête personnalisé, OAuth 2.0 | clé API, en-tête personnalisé, OAuth 2.0 | MCPOptions.AuthenticationOptions des deux côtés. |
| Serveur d'autorisation intégré | — | ✓ | Enregistrement dynamique de client, page de consentement, PKCE et jetons de rafraîchissement, conformément à RFC 8414 et RFC 9728. |
| Validation de l'origine | — | HttpStreamable.ValidateOrigin | Attache une session à l'en-tête Origin avec lequel elle a été créée. |