dependabot[bot] opened a new pull request, #44326:
URL: https://github.com/apache/superset/pull/44326

   Bumps [mcp](https://github.com/modelcontextprotocol/python-sdk) from 1.29.1 
to 2.2.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.2.0</h2>
   <p><code>pip install -U mcp</code>. Docs: <a 
href="https://py.sdk.modelcontextprotocol.io/";>https://py.sdk.modelcontextprotocol.io/</a></p>
   <p>A few defaults changed in this release. If you run a server or client on 
2.x, skim these first:</p>
   <h2>Behaviour changes</h2>
   <p><strong>HTTP client redirects are only followed within the endpoint's 
origin</strong> (<a 
href="https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3397";>#3397</a>)</p>
   <ul>
   <li><code>Client(&quot;https://...&quot;)</code>, 
<code>streamable_http_client</code> and <code>sse_client</code> follow a 
redirect only if it stays on the same scheme, host and port (or upgrades 
<code>http</code> to <code>https</code> on the same host).</li>
   <li>A redirect anywhere else is not followed: the call fails with 
<code>MCPError</code> and the session stays usable (an SSE connect fails with 
<code>httpx2.HTTPStatusError</code>). If that other URL is the server you 
meant, use it as the endpoint URL.</li>
   <li>The <code>follow_redirects</code> setting on an 
<code>httpx2.AsyncClient</code> you pass in is no longer used for MCP requests, 
so you don't need it for the trailing-slash redirect any more.</li>
   <li>The OAuth providers apply the same rule to their own requests.</li>
   </ul>
   <p><strong>Idle Streamable HTTP sessions now expire (legacy &lt;=2025-11-25 
spec(</strong> (<a 
href="https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3395";>#3395</a>)</p>
   <ul>
   <li>A stateful session with nothing in flight for 30 minutes is closed. The 
client's next request gets a 404 and it has to initialize again.</li>
   <li>Clients that keep the GET stream open (the SDK's <code>Client</code> 
does) are not affected. Neither are stateless servers or 2026-07-28 
connections.</li>
   <li>A server also holds at most 10 000 sessions at once; beyond that, new 
sessions get a 503.</li>
   <li>To turn either off: <code>mcp.run(transport=&quot;streamable-http&quot;, 
session_idle_timeout=None, max_sessions=None)</code> (also on 
<code>streamable_http_app()</code> and 
<code>run_streamable_http_async()</code>).</li>
   </ul>
   <p><strong>The OAuth client checks the authorization server's 
<code>issuer</code> on the legacy path too</strong> (<a 
href="https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3398";>#3398</a>)</p>
   <ul>
   <li>For servers without protected resource metadata, authorization server 
metadata whose <code>issuer</code> isn't the server's own origin is now 
rejected with <code>OAuthFlowError: Authorization server metadata issuer 
mismatch</code>. The protected-resource-metadata path has done this since 
2.0.</li>
   <li>A 403 that isn't an <code>insufficient_scope</code> challenge is 
returned to the caller instead of retried.</li>
   <li>If protected resource metadata can't be fetched because of a 5xx/429, 
the flow now stops instead of falling back to the legacy endpoints.</li>
   </ul>
   <p><strong>Two new <code>MCPDeprecationWarning</code>s</strong> (<a 
href="https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3435";>#3435</a>,
 <a 
href="https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3447";>#3447</a>)</p>
   <ul>
   <li><code>ClientCredentialsOAuthProvider</code> / 
<code>PrivateKeyJWTOAuthProvider</code> without <code>issuer=</code>. Pass your 
authorization server's issuer URL; 3.0 will require it.</li>
   <li><code>AuthSettings</code> with <code>resource_server_url</code> set but 
<code>validate_token_resource</code> unset. Set it to <code>True</code> or 
<code>False</code>; 3.0 defaults it to <code>True</code>.</li>
   <li>Both keep working as before in 2.x; this mostly matters if your tests 
turn warnings into errors.</li>
   </ul>
   <h2>New</h2>
   <ul>
   <li><code>AuthSettings.validate_token_resource</code>: only accept tokens 
your <code>TokenVerifier</code> reports as issued for this server (<a 
href="https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3447";>#3447</a>).</li>
   <li><code>issuer=</code> on <code>ClientCredentialsOAuthProvider</code> and 
<code>PrivateKeyJWTOAuthProvider</code> (<a 
href="https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3398";>#3398</a>).</li>
   <li><code>session_idle_timeout=</code> and <code>max_sessions=</code> on the 
Streamable HTTP server entry points (<a 
href="https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3395";>#3395</a>).</li>
   </ul>
   <h2>Fixes</h2>
   <ul>
   <li>A client <code>DELETE</code> frees its session immediately, and a 
refused opening request no longer leaves a session behind (<a 
href="https://redirect.github.com/modelcontextprotocol/python-sdk/issues/2455";>#2455</a>,
 <a 
href="https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3228";>#3228</a>,
 <a 
href="https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3300";>#3300</a>).</li>
   <li><code>$ref</code>s in a tool's <code>outputSchema</code> resolve within 
that schema only; an unresolvable one surfaces as <code>RuntimeError: Invalid 
schema for tool ...</code> (<a 
href="https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3394";>#3394</a>).</li>
   </ul>
   <h2>Known gaps</h2>
   <p>The tasks extension (SEP-2663), DPoP (SEP-1932) and the 
<code>jwt-bearer</code> grant are not implemented yet; <a 
href="https://github.com/modelcontextprotocol/python-sdk/blob/main/ROADMAP.md";>https://github.com/modelcontextprotocol/python-sdk/blob/main/ROADMAP.md</a>
 tracks them.</p>
   <h2>What's Changed</h2>
   <ul>
   <li>Gate draft PRs too and rewrite the auto-close comment by <a 
href="https://github.com/maxisbey";><code>@​maxisbey</code></a> in <a 
href="https://redirect.github.com/modelcontextprotocol/python-sdk/pull/3378";>modelcontextprotocol/python-sdk#3378</a></li>
   <li>Resolve tool output-schema references within the schema document only by 
<a href="https://github.com/maxisbey";><code>@​maxisbey</code></a> in <a 
href="https://redirect.github.com/modelcontextprotocol/python-sdk/pull/3394";>modelcontextprotocol/python-sdk#3394</a></li>
   <li>Expire idle Streamable HTTP sessions by default and cap concurrent 
sessions by <a href="https://github.com/maxisbey";><code>@​maxisbey</code></a> 
in <a 
href="https://redirect.github.com/modelcontextprotocol/python-sdk/pull/3395";>modelcontextprotocol/python-sdk#3395</a></li>
   <li>Validate the authorization server metadata issuer on every discovery 
path by <a href="https://github.com/maxisbey";><code>@​maxisbey</code></a> in <a 
href="https://redirect.github.com/modelcontextprotocol/python-sdk/pull/3398";>modelcontextprotocol/python-sdk#3398</a></li>
   </ul>
   <!-- raw HTML omitted -->
   </blockquote>
   <p>... (truncated)</p>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/modelcontextprotocol/python-sdk/commit/9972c21aa42054fb1450c5fc614761ed11847ec6";><code>9972c21</code></a>
 Replace RootModel wrappers with type aliases and TypeAdapter validation (<a 
href="https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3470";>#3470</a>)</li>
   <li><a 
href="https://github.com/modelcontextprotocol/python-sdk/commit/fd66270926b98b28e6cca21b35ec5ba0e4855892";><code>fd66270</code></a>
 docs: refresh translations, and translate pages in parallel (<a 
href="https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3458";>#3458</a>)</li>
   <li><a 
href="https://github.com/modelcontextprotocol/python-sdk/commit/08a3bc8eaf5bb69a6cb05ac708a86f5325977c20";><code>08a3bc8</code></a>
 docs: ask for AI disclosure on comments too (<a 
href="https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3459";>#3459</a>)</li>
   <li><a 
href="https://github.com/modelcontextprotocol/python-sdk/commit/7bb486a10fa68681b262f063e36438cc45260f7d";><code>7bb486a</code></a>
 docs: stop presenting the in-memory client as the way to connect (<a 
href="https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3443";>#3443</a>)</li>
   <li><a 
href="https://github.com/modelcontextprotocol/python-sdk/commit/0c9136841ff092987a20700ff9c2c9789bda2f40";><code>0c91368</code></a>
 Add AuthSettings.validate_token_resource to check a bearer token's resource 
(...</li>
   <li><a 
href="https://github.com/modelcontextprotocol/python-sdk/commit/9771e6b59c775ecb2584849d389ce9efba23a541";><code>9771e6b</code></a>
 Keep following a relative redirect when the endpoint URL carries userinfo (<a 
href="https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3";>#3</a>...</li>
   <li><a 
href="https://github.com/modelcontextprotocol/python-sdk/commit/a925e558938720d2a0f032c05ee3d72d26b80546";><code>a925e55</code></a>
 Bump the locked versions of eight dev and test dependencies (<a 
href="https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3449";>#3449</a>)</li>
   <li><a 
href="https://github.com/modelcontextprotocol/python-sdk/commit/e8b94867acee4d2752e22c8b7008d703ba694b32";><code>e8b9486</code></a>
 Bump pymdown-extensions from 11.0 to 11.0.1 (<a 
href="https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3285";>#3285</a>)</li>
   <li><a 
href="https://github.com/modelcontextprotocol/python-sdk/commit/c6762e821c527925f0b617db216d00fbd1d0bf99";><code>c6762e8</code></a>
 Follow redirects only within the MCP endpoint's origin (<a 
href="https://redirect.github.com/modelcontextprotocol/python-sdk/issues/3397";>#3397</a>)</li>
   <li><a 
href="https://github.com/modelcontextprotocol/python-sdk/commit/5fd3abc5481de7891a2c27145e8289bca3f0da3a";><code>5fd3abc</code></a>
 Skip automatic docs previews for fork PRs and drop the setup-uv retry steps 
(...</li>
   <li>Additional commits viewable in <a 
href="https://github.com/modelcontextprotocol/python-sdk/compare/v1.29.1...v2.2.0";>compare
 view</a></li>
   </ul>
   </details>
   <br />
   
   
   [![Dependabot compatibility 
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=mcp&package-manager=pip&previous-version=1.29.1&new-version=2.2.0)](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]

Reply via email to