dependabot[bot] opened a new pull request, #43611: URL: https://github.com/apache/superset/pull/43611
Bumps [mcp](https://github.com/modelcontextprotocol/python-sdk) from 1.29.1 to 2.0.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/modelcontextprotocol/python-sdk/releases">mcp's releases</a>.</em></p> <blockquote> <h2>v2.0.0</h2> <h1>MCP Python SDK v2 Stable Release</h1> <p>This is v2.0.0, the stable v2 release of the MCP Python SDK. It supports the 2026-07-28 revision of the Model Context Protocol and serves every earlier revision from the same server. <code>pip install mcp</code> now installs 2.x.</p> <pre lang="bash"><code>pip install "mcp[cli]" # or uv add "mcp[cli]" </code></pre> <h3>Documentation Rewrite</h3> <p>The <a href="https://py.sdk.modelcontextprotocol.io/">documentation</a> has the full tutorial and API reference. Coming from v1? <a href="https://py.sdk.modelcontextprotocol.io/whats-new/">What's new in v2</a> is the tour of what changed and why, and the <a href="https://py.sdk.modelcontextprotocol.io/migration/">migration guide</a> lists every breaking change with before-and-after code.</p> <h3>V1 Maintenance mode</h3> <p><strong>v1.x is in maintenance mode and will only receive security fixes from now on</strong> The 1.x line lives on the <a href="https://github.com/modelcontextprotocol/python-sdk/tree/v1.x"><code>v1.x</code> branch</a>, continues to receive critical bug fixes and security patches, and is documented at <a href="https://py.sdk.modelcontextprotocol.io/v1/">https://py.sdk.modelcontextprotocol.io/v1/</a>. If your project is not ready to migrate, keep a <code><2</code> upper bound on your requirement (for example <code>mcp>=1.28,<2</code>).</p> <h2>Highlights</h2> <h3>One SDK, both protocol eras</h3> <p>v2 speaks the 2026-07-28 revision (stateless requests with no handshake, <code>server/discover</code>, <code>subscriptions/listen</code>, multi-round-trip requests) and still serves every 2025-era client from the same <code>MCPServer</code>, over Streamable HTTP and stdio, with nothing to configure. <code>Client(target)</code> negotiates the version automatically.</p> <h3><code>FastMCP</code> is now <code>MCPServer</code>, and there is a first-class <code>Client</code></h3> <p>The decorator API is unchanged; the low-level <code>Server</code> is rebuilt around a shared dispatcher engine, and one <code>Client</code> object replaces v1's transport-plus-<code>ClientSession</code>-plus-<code>initialize()</code> layering. It connects to a URL, a stdio subprocess, a custom transport, or straight to a server object in memory for tests.</p> <h3>Multi-round-trip requests and resolver dependency injection</h3> <p>At 2026-07-28 the server can no longer call the client, so tools return the question instead. A <code>Resolve(fn)</code> parameter is filled by your function invisibly to the model and can put a question to the user; one tool body serves both eras.</p> <h3>Extension APIs, OpenTelemetry, and a standalone types package</h3> <p>Servers and clients compose protocol extensions through pluggable extension APIs (MCP Apps built in); OpenTelemetry tracing ships on by default; every protocol type is its own package, <code>mcp-types</code> (imported as <code>mcp_types</code>), published in lock-step with <code>mcp</code>.</p> <h3>Hardened stdio and auth</h3> <p>stdio servers keep handler subprocesses and stray prints off the wire, and stdout is diverted to stderr while serving. OAuth adds RFC 9207 issuer validation, the SEP-990 identity-assertion flow, and the client-credentials extension.</p> <h2>Coming from a v2 pre-release</h2> <p>Since the last release candidate: the per-version wire packages are private (<code>mcp_types._v*</code>), <code>mcp.types</code> is a permanent alias for <code>mcp_types</code>, the auth registration request model is split from the registered-client record, cancelled requests are no longer answered, and log notifications are gated on the per-request log-level opt-in at 2026-07-28. Since the betas: <code>Client(cache=False)</code> is now <code>cache=None</code> with <code>CacheConfig()</code> the default; <code>Context.client_id</code>, <code>RFC7523OAuthClientProvider</code>, and <code>OAuthClientProvider(timeout=)</code> are removed; the client-credentials providers take <code>scope=</code>; <code>message_handler</code> receives notifications and exceptions only; <code>FileResource(is_binary=)</code> becomes <code>encoding</code>; <code>MCP_*</code> env vars are gone with <code>pydantic-settings</code>; Streamable HTTP servers reject bodies over 4 MiB with HTTP 413. The migrat ion guide covers all of it.</p> <h2>Known gaps</h2> <p>The tasks extension (SEP-2663) is not part of this release. On the client, the DPoP proof binding (SEP-1932) and the workload-identity <code>jwt-bearer</code> grant are not implemented; both are additive and can land in 2.x.</p> <h2>Feedback</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/modelcontextprotocol/python-sdk/commit/6f69a3758ebf2ee55ce050f58b470ce11af71133"><code>6f69a37</code></a> Present v2 as the stable release across the README, docs, and policies (<a href="https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3178">#3178</a>)</li> <li><a href="https://github.com/modelcontextprotocol/python-sdk/commit/78e6fbb7e46d43069f88935e80cbea206d807e18"><code>78e6fbb</code></a> Serve v2 docs at the site root, with permanent per-major paths (<a href="https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3176">#3176</a>)</li> <li><a href="https://github.com/modelcontextprotocol/python-sdk/commit/af06330a31c379d8a3ab5ffba88e0ad682aa0ed9"><code>af06330</code></a> Remove unused StreamableHTTPTransport.get_session_id() (<a href="https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3205">#3205</a>)</li> <li><a href="https://github.com/modelcontextprotocol/python-sdk/commit/68ca87e20b5a999d879745332d94c7277a012492"><code>68ca87e</code></a> Document the two-line release process for stable v2 (<a href="https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3179">#3179</a>)</li> <li><a href="https://github.com/modelcontextprotocol/python-sdk/commit/c9c431b71aeb48e3c4405f9d32144f8ed13fd116"><code>c9c431b</code></a> Expose the middleware chain on MCPServer and stop sending unrequested change ...</li> <li><a href="https://github.com/modelcontextprotocol/python-sdk/commit/528e36655819a686d5b07e23d70748fcecebfc0a"><code>528e366</code></a> Fail fast on server-to-client requests in JSON-response mode instead of hangi...</li> <li><a href="https://github.com/modelcontextprotocol/python-sdk/commit/27f5cc7a46bc22be525c5b0a6fce8006d6fcea08"><code>27f5cc7</code></a> Remove unused mcpserver.exceptions.ValidationError (<a href="https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3199">#3199</a>)</li> <li><a href="https://github.com/modelcontextprotocol/python-sdk/commit/89c5e700f2340b4382785609e8844f384e1a8043"><code>89c5e70</code></a> Gate log notifications on the per-request log-level opt-in at 2026-07-28 (<a href="https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3198">#3198</a>)</li> <li><a href="https://github.com/modelcontextprotocol/python-sdk/commit/b61ce388dd9fe3ec202a68331f218b4ed740f0fa"><code>b61ce38</code></a> docs: fix off-by-one hl_lines in apps.md (<a href="https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3196">#3196</a>)</li> <li><a href="https://github.com/modelcontextprotocol/python-sdk/commit/b7c9a916d672d543917fcbd11e0dc9df2efa99c7"><code>b7c9a91</code></a> Add mcp.types as a permanent alias for mcp_types (<a href="https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3190">#3190</a>)</li> <li>Additional commits viewable in <a href="https://github.com/modelcontextprotocol/python-sdk/compare/v1.29.1...v2.0.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
