Back to Explore

modelcontextprotocol/python-sdk

GitHub
4 updates · last 90 days1 watchersOpen source

Last release: 2026-06-11

The Model Context Protocol (MCP) Python SDK is the official Python implementation for building MCP servers and clients. It helps you expose MCP features like resources, prompts, and tools, and supports common transports such as stdio, SSE, and Streamable HTTP so LLM applications can connect in a standardized way.

Project status

  • Actively maintained: The repo shows recent activity (last upstream push on 2026-06-03), and multiple version updates in 2026 (v1.27.2, v1.27.1, v1.27.0).
  • Update cadence: After v1.26.0 in late Jan 2026, updates came in relatively quickly (v1.27.0 in early Apr, v1.27.1 in early May, v1.27.2 at end of May), suggesting ongoing development rather than maintenance mode.

AI summary generated 2026-06-04

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • v2.0.0a1

    2026-06-11

    v2.0.0a1 is the first alpha release of the MCP Python SDK, introducing the larger v2 architectural rewrite needed for the upcoming MCP spec changes. The release notes emphasize that this alpha is intentionally breaking, and direct users to the migration guide while noting it only implements the 2025-11-25 spec revision.

    BreakingFeatures
  • v1.27.2

    2026-05-29

    v1.27.2 updates authentication token modeling (adding subject and claims), and changes experimental task behavior to bind task visibility to the session that created them. It also adds infrastructure to bind session context to the authenticated principal and to scope experimental task identifiers accordingly.

    BreakingFeatures
  • v1.27.1

    2026-05-08

    Patch release focused on compatibility and input normalization rather than new functionality. It makes schema generation resilient to Pydantic 2.13's error type, accepts empty-string values for optional OAuth client URL metadata, and tightens the httpx dependency to the 0.x line while switching SSEError to httpx_sse's public API.

  • v1.27.0

    2026-04-02

    v1.27.0 is mostly a docs and CI refresh, but it also includes a handful of important runtime fixes. The user-facing code changes center on OAuth resource validation, StreamableHTTP session idle timeouts, more resilient stdio/request teardown handling, and a backported Tasks capability update.

    SecurityFeatures
  • v1.26.0

    2026-01-24

    v1.26.0 primarily adds metadata plumbing for FastMCP resources and resource templates, carrying `meta` through model construction, listing, and read responses. It also changes the streamable HTTP session error path so unknown session IDs return HTTP 404 instead of 400, and adds a CI-only all-green workflow job.

    BreakingFeatures
  • v1.25.0

    2025-12-18

    This release mainly fixes Url Elicitation handling so `UrlElicitationRequiredError` now propagates as the MCP `URL_ELICITATION_REQUIRED` error instead of being wrapped as a generic tool failure. It also updates CI to include the `v1.x` maintenance branch and formalizes the repo’s new branching strategy for v2 development. The notes advise users who need to remain on v1.x to pin `mcp>=1.25,<2`.

  • v1.24.0

    2025-12-12

    v1.24.0 adds client-side support for SEP-1577 sampling (including tooling) and introduces a new `streamable_http_client` that works with `httpx.AsyncClient`. It also fixes a JSON-RPC error response issue where the response ID was not matched correctly.

    Features
  • v1.23.3

    2025-12-09

    v1.23.3 is a small maintenance release focused on OAuth cleanup, SSE keep-alive handling, and relaxing FastMCP MIME type validation to accept RFC 2045 parameters. The release notes also mention release automation workflow changes, while the code diff itself is concentrated in auth, SSE, resource validation, and tests.

    Features
  • v1.23.2

    2025-12-04

    This release is mostly a StreamableHTTP stability and compatibility update. It fixes a race condition that could surface ClosedResourceError when requests fail early, and it avoids sending SSE priming events or close callbacks to older protocol versions. The examples and README were also updated to show mounting StreamableHTTP under a Starlette lifespan context manager.

  • v1.23.1

    2025-12-02

    This release updates the Model Context Protocol latest version from 2025-06-18 to 2025-11-25. The code change is narrowly scoped to protocol version metadata, with tests updated to accept the new negotiated version.

  • v1.23.0

    2025-12-02

    This release aligns the Python SDK with MCP spec 2025-11-25 and adds a broad set of experimental capabilities, including tasks, URL mode elicitation, SSE polling, and sampling with tools. It also expands OAuth and machine-to-machine auth support with client_secret_basic, client_credentials, and URL-based client IDs, while tightening local server security and tool validation.

    BreakingSecurityFeatures
  • v1.22.0

    2025-11-20

    v1.22.0 adds support for passing through and exposing additional parameters in ClientSessionGroup.call_tool and ClientSessionGroup.connect_to_server. It also introduces a lazy import for the jsonschema dependency to reduce unnecessary load, and refreshes documentation examples for stateless HTTP with JSON responses.

    Features