Files
Max Isbey 88b76c629c Narrow message_handler's parameter to notifications and exceptions
The client's message_handler is only ever called with a validated
ServerNotification or a transport-level Exception; server-initiated
requests are answered by the typed callbacks. The RequestResponder arm
of the MessageHandlerFnT union was a v1 leftover with a typing-only
stub behind it, so every handler had to annotate a case the session
never delivers.

Type the parameter as an exported IncomingMessage alias
(ServerNotification | Exception) in mcp.client, delete the dead
RequestResponder stub, and drop the now-empty mcp.shared.session
compatibility module (ProgressFnT already lives in mcp.shared.dispatcher).
2026-07-25 17:24:16 +00:00
..

Python SDK examples

  • stories/the canonical reference. One self-verifying example per protocol feature, each with its own README. Start with stories/tools/; the stories README has the full table and how to run them.
  • snippets/ — short extracts that were embedded into the v1 README (now on the v1.x branch); superseded by docs_src/, which the docs and README embed today. Retained pending consolidation into stories/.
  • servers/everything-server/ — the conformance target for the cross-SDK conformance suite. Exercises every server capability in one process.
  • mcpserver/ — single-file v1-era examples retained for the migration guide; superseded by stories/ and slated for removal.
  • clients/ and the remaining servers/ directories (simple-*, sse-polling-demo, structured-output-lowlevel) — standalone v1-era projects retained pending consolidation into stories/ (the simple-auth pair is still linked from docs/run/authorization.md and docs/client/oauth-clients.md).

For real-world servers see the servers repository.