Model Context Protocol project
Python SDK 2.1.0 and 1.29.1 extend the request body limit to SSE and OAuth endpoints and keep crash detail off the wire
The official Python SDK released v2.1.0 and maintenance-line v1.29.1 together on 2026-08-24. Both lines extend the existing 4 MiB request body limit to the SSE transport and the OAuth endpoints, and the SSE message endpoint now rejects non-POST requests with 405. In 2.1.0, unexpected handler exceptions are logged server-side while the client receives only a generic error message, and the 2026-07-28 HTTP entry now acknowledges POSTed notifications with 202 instead of rejecting them with 400.
The official Python SDK shipped two releases on 2026-08-24: v2.1.0 on the current line and v1.29.1 on the v1.x maintenance line. The change common to both is a widening of the SDK's request size defense: the 4 MiB request body limit, which previously covered the streamable HTTP transport, now also applies to the SSE transport and the OAuth endpoints, and the SSE message endpoint answers 405 to anything other than POST. SseServerTransport and MCPServer.sse_app() take a max_request_body_size argument for tuning the ceiling.
v2.1.0 also changes what a connected client learns when a handler
crashes. An unexpected exception from a tool, resource or prompt
handler is now logged once at ERROR with its traceback on the server,
while the client sees only a generic message of the form "Error
executing tool
Two wire-level fixes land for the 2026-07-28 revision. A POSTed notification such as notifications/cancelled is acknowledged with HTTP 202 instead of being rejected with 400, and sessions negotiated at earlier revisions now ignore cache-hint fields introduced later instead of failing list_tools(). One behavior change deserves attention from server authors: a tool annotated to return content blocks such as TextContent or EmbeddedResource no longer advertises an outputSchema or returns structuredContent, unless structured_output=True is passed to keep the previous shape.
Related spec revisions
- MCP 2026-07-28 - current
Related publishers
How was this verified, and what are the sources?
Published · last verified · confidence 1.00.
- python-sdk v2.1.0 release (published 2026-08-24T19:00Z) - the 4 MiB request body limit now also covers the SSE transport and the OAuth endpoints (#3336), the SSE message endpoint answers 405 to non-POST requests, unexpected handler exceptions are logged once at ERROR with the client seeing only "Error executing tool <name>" (#3314), a POSTed notification such as notifications/cancelled is acknowledged with 202 instead of 400 on the 2026-07-28 HTTP entry (#3324, merged as #3326), and tools annotated to return content blocks no longer advertise outputSchema unless structured_output=True is passed (#3320) - accessed
- python-sdk v1.29.1 release (published 2026-08-24T18:24Z) - the maintenance line receives the same request-body-limit extension to the SSE and OAuth endpoints (#3344), completes the FastMCP Settings model at import time (#3352), and gives recursive tool return types an object-rooted output schema (#3377) - accessed