| HTTP JSON-RPC-transport | aimcptrHttp | TransportOptions.Http | Eén verzoek, één antwoord, daarna sluit de verbinding. |
| HTTP Streamable-transport | aimcptrHttpStreamable | TransportOptions.HttpStreamable | Keep-alive plus een SSE-stream, en die draagt de notificaties en de door de server gestarte verzoeken. |
| stdio-transport | aimcptrStdio | aparte stdio-host | De client start een lokaal subproces. stdio aan serverzijde komt van een aparte hostklasse in plaats van van de paletcomponent. |
| Handshake | Initialize | OnMCPInitialize | Onderhandeling over de capabilities en toekenning van het sessie-id. |
| Sessies | Session, HeartBeat | OnMCPSessionNew, OnMCPSessionEnd, SessionTimeout | Inactieve sessies verlopen op de server, de client kan er een in leven houden met periodieke pings. |
| Tools | ListTools, RequestTool | Tools, OnMCPRequestTool | Opsommen en aanroepen. De server roept een event aan waarin jouw code het werk doet. |
| Prompts | ListPrompts, RequestPrompt | Prompts, OnMCPRequestPrompt | Hetzelfde patroon als bij tools. |
| Resources | ListResources, RequestResource, ListResourceTemplates | Resources, ResourceTemplates, OnMCPRequestResource | Lijsten accepteren een cursor voor paginering. |
| Resource-abonnementen | SubscribeResource, UnsubscribeResource | SendNotificationResourcesUpdated | Volg een resource en krijg bericht wanneer die verandert. |
| Meldingen bij gewijzigde lijsten | ontvangen | SendNotificationToolsListChanged en de equivalenten voor prompts en resources | Vereist het streamable transport. |
| Roots | OnMCPListRoots | RequestRootsList | De server vraagt de client welke roots van het bestandssysteem hij mag gebruiken. |
| Sampling | OnMCPSamplingCreateMessage | RequestSamplingCreateMessage | De server vraagt het model van de client om een completion. |
| Elicitation | OnMCPElicitationCreate | RequestElicitationCreate | De server vraagt de gebruiker via de client om invoer. |
| Completion | Complete | afgehandeld | Aanvullen van argumentwaarden voor tools en prompts. |
| Logging | SetLoggingLevel | SendLogMessage | Gestructureerde logberichten op een door de client bepaald niveau. |
| Authenticatie | API-sleutel, aangepaste header, OAuth 2.0 | API-sleutel, aangepaste header, OAuth 2.0 | MCPOptions.AuthenticationOptions aan beide kanten. |
| Ingebouwde autorisatieserver | — | ✓ | Dynamische clientregistratie, toestemmingspagina, PKCE en refresh tokens, volgens RFC 8414 en RFC 9728. |
| Origin-validatie | — | HttpStreamable.ValidateOrigin | Koppelt een sessie vast aan de Origin-header waarmee die is aangemaakt. |
| MCP 2026-07-28 (stateless) | MCPOptions.ProtocolEra, Discover | era per verzoek gedetecteerd | Per-request _meta, server/discover, gevalideerde Mcp-Method-, Mcp-Name- en Mcp-Param-headers. De client valt automatisch terug op 2025-11-25. |
| Cache hints | ontvangen | MCPOptions.Cache | ttlMs en cacheScope op 2026-07-28-resultaten. |
| subscriptions/listen | SubscriptionsListen, SubscriptionsCancel | MCPOptions.Subscriptions | Eén stream voor lijstwijzigingen en resource-updates. |
| Multi Round-Trip Requests | OnMCPInputRequired | aResponse.InputRequired, MCPOptions.MRTR | Elicitation (formulier en URL), sampling en roots met een HMAC-ondertekende requestState. |
| Tasks-extensie | MCPOptions.Tasks.Enabled, TasksGet | CreateTask, MCPOptions.Tasks | io.modelcontextprotocol/tasks voor langlopende tool-aanroepen; de client polt automatisch met AutoPoll. |
| Client-autorisatie | MCPOptions.Authorization | — | Protected resource metadata discovery, Client ID Metadata Documents, dynamische registratie als fallback, PKCE, resource-indicatoren, RFC 9207 iss-validatie, credentials per issuer. |