Releases: modelcontextprotocol/python-sdk
Releases · modelcontextprotocol/python-sdk
v1.10.1
v1.10.0
🚀 Implementation for Spec revision 2025-06-18
- feat: implement MCP-Protocol-Version header requirement for HTTP transport by @felixweinberger in #898
- Rename ResourceReference to ResourceTemplateReference by @ihrpr in #947
- feat: add _meta to more objects by @felixweinberger in #963
- Include context into completions by @ihrpr in #966
- Add support for Elicitation by @ihrpr in #625
- Update _meta usage guidance in types by @ihrpr in #971
- Add title to tools, resources, prompts by @felixweinberger in #972
- Add resource Link by @ihrpr in #974
- MCP server separation into Authorization Server (AS) and Resource Server (RS) roles per spec PR #338 by @ihrpr in #982
- RFC 8707 Resource Indicators Implementation by @ihrpr in #991
- Fix
/.well-known/oauth-authorization-server
dropping path by @ihrpr in #1014 - Make "resource" optional on earlier protocols by @dr3s in #1017
- Add schema validation to lowlevel server by @bhosmer-ant in #1005
- feat: Add structured output support for tool functions by @bhosmer-ant in #993
- Update latest protocol version to 2025-06-18 by @ihrpr in #1036
Other changes
- set timeout for sse in httpx_client_factory by @ihrpr in #943
- clean-up: removed unused ci file by @DarkDk123 in #950
- ci: add timeout on the test job by @Kludex in #955
- Fix uncaught exception in MCP server by @ddworken in #967
- Allow longer duration in test_188_concurrency by @msabramo in #969
- Add support for DNS rebinding protections by @ddworken in #861
- Fix Windows subprocess NotImplementedError (STDIO clients) by @theailanguage in #596
- Remove github from auth examples by @ihrpr in #1011
- refactor: rename DummyProcess to FallbackProcess in Windows stdio by @felixweinberger in #1015
- ci: add --frozen flag to all uv commands in workflows by @dsp-ant in #970
- unpin jsonschema version by @ihrpr in #1037
New Contributors 🙏
- @DarkDk123 made their first contribution in #950
- @msabramo made their first contribution in #969
- @theailanguage made their first contribution in #596
Full Changelog: v1.9.4...v1.10.0
v1.9.4
What's Changed
- Support Cursor OAuth client registration by @sam-tombury in #895
- feat: support audio content by @LucaButBoring in #725
- Use
total_seconds
instead ofseconds
on timeout by @Kludex in #896 - normalize string ID to int in server messages for compatibility by @wangxm345566462 in #851
- relax validation by @dr3s in #879
- Fix uncaught exception in MCP server by @ddworken in #822
- Use
FileUrl
on theresources/list
call in thesimple-resource
example by @nandsha in #907 - Create issue templates by @Kludex in #935
- chore: create union for working with message content by @LucaButBoring in #939
- Allow to pass timeout as float by @Kludex in #941
New Contributors
- @vincent-pli made their first contribution in #899
- @sam-tombury made their first contribution in #895
- @LucaButBoring made their first contribution in #725
- @wangxm345566462 made their first contribution in #851
- @dr3s made their first contribution in #879
- @ddworken made their first contribution in #822
- @nandsha made their first contribution in #907
Full Changelog: v1.9.3...v1.9.4
v1.9.3
v1.9.2
What's Changed
- Fix
ClientSessionGroup
cleanup logic by @mkeid in #787 - Chatbot example: clean up servers in correct order by @clareliguori in #353
- llamallama-3.2-90b-vision-preview is deprecated by @Arash-IND in #523
- Support custom httpx client creation by @nickcoai in #752
- Python lint: Ruff rule PLW1510 -- subprocess-run-without-check by @cclauss in #794
- add support for parallel run by @lk-naath in #739
- Fix async callable object tools by @stephanlensky in #568
- [DOC] Fix example usage of get_context (plus a little more) by @hesreallyhim in #801
- Pin uv version by @Kludex in #806
- Fix building auth metadata paths by @Rodriguespn in #779
- Fix auth tests and ruff format by @ihrpr in #818
- send errors to pending requests if server closes by @mroch in #333
- RFC: Lower log levels used for connections by @nickcoai in #821
- Support for http request injection propagation to tools by @ihrpr in #816
- Prevent stdio connection hang for missing server path. by @TimChild in #401
- Fix and update
OAuthAuthorizationServerProvider
snippet inREADME.md
by @alvarobartt in #830 - Client sampling and roots capabilities set to None if not implemented by @lorenzocesconetto in #802
- Support for http request injection propagation in StreamableHttp by @ihrpr in #833
New Contributors
- @clareliguori made their first contribution in #353
- @Arash-IND made their first contribution in #523
- @nickcoai made their first contribution in #752
- @lk-naath made their first contribution in #739
- @stephanlensky made their first contribution in #568
- @hesreallyhim made their first contribution in #801
- @Rodriguespn made their first contribution in #779
- @mroch made their first contribution in #333
- @TimChild made their first contribution in #401
- @alvarobartt made their first contribution in #830
- @lorenzocesconetto made their first contribution in #802
Full Changelog: v1.9.1...v1.9.2
v1.9.1
What's Changed
- Add OAuth authentication client for HTTPX by @ihrpr in #751
- fastmcp: allow passing Tool directly to FastMCP constructor by @vbarda in #699
- add auth client sse by @ihrpr in #760
- Change default binding from 0.0.0.0 to 127.0.0.1 to align with security recommendations by @ciccolo-anthropic in #738
- fix: Pass cursor parameter to server by @nbarbettini in #745
New Contributors
- @vbarda made their first contribution in #699
- @ciccolo-anthropic made their first contribution in #738
Full Changelog: v1.9.0...v1.9.1
v1.9.0
Protocol Version Update
Now the latest protocol version for Python SDK is 2025-03-26
What's Changed
- Fix typo in authentication section of README by @mopg in #676
- fix: 204 is an acceptable response to DELETEing the session by @nbarbettini in #697
- Minor tweaks to README for Streamable HTTP by @evalstate in #690
- Properly infer prefix for SSE messages by @jlowin in #659
- Simple Auth Example to use shttp in addition to sse by @ihrpr in #695
- Create
ClientSessionGroup
for managing multiple session connections. by @mkeid in #639 - fix typo: server has get_context attribute instead of request_context. by @shimizukawa in #446
- docs: clarify LLM API configuration in mcp_simple_chatbot README by @ddltn in #487
- fix: Add checks and better error messages on server object for mcp run by @john0312 in #297
- Fix hanging on streams when stdio_client exiting by @LionNatsu in #559
- feat: add message to ProgressNotification by @aksheyd in #435
- Update CI configuration to support multiple OS environments by @DanielAvdar in #708
- feat: add cursor pagination support to all client list methods by @jerome3o-anthropic in #718
- Add example for stateless server with JSON response by @5enxia in #704
- Include server examples folder in pyright check by @ihrpr in #667
- Set 2025-03-26 as the latest protocol version by @ihrpr in #719
- Fix example for multiple stateless servers by @ihrpr in #720
- fix: Update @mcp.resource to use function documentation as default descrip… by @jingyugao in #489
- Add progress notification callback for client by @ihrpr in #721
- Servers to accept older versions of client by @ihrpr in #722
New Contributors
- @mopg made their first contribution in #676
- @nbarbettini made their first contribution in #697
- @jlowin made their first contribution in #659
- @mkeid made their first contribution in #639
- @shimizukawa made their first contribution in #446
- @ddltn made their first contribution in #487
- @LionNatsu made their first contribution in #559
- @aksheyd made their first contribution in #435
- @DanielAvdar made their first contribution in #708
- @5enxia made their first contribution in #704
- @jingyugao made their first contribution in #489
Full Changelog: v1.8.1...v1.9.0
v1.8.1
v1.8.0
Streamable HTTP release
This is the first release supporting the new Streamable HTTP transport from protocol version 2025-03-26, which supersedes the SSE transport from protocol version 2024-11-05. 🎉
Please report any issues at https://github.com/modelcontextprotocol/python-sdk/issues
Other Changes
- Handle SSE Disconnects Properly by @akash329d in #612
- Add mount_path support for proper SSE endpoint routing with multiple FastMCP servers by @tim-watcha in #540
- docs: fix broken link to OAuthServerProvider in Authentication section of README by @samad-yar-khan in #651
- Fix the issue of get Authorization header fails during bearer auth by @yabea in #637
- Auth SSE simple example by @ihrpr in #610
- Fix: Use absolute path to uv executable in Claude Desktop config by @arcAman07 in #440
- Introduce a function to create a standard AsyncClient with options by @ihrpr in #655
New Contributors
- @akash329d made their first contribution in #612
- @tim-watcha made their first contribution in #540
- @samad-yar-khan made their first contribution in #651
- @yabea made their first contribution in #637
- @arcAman07 made their first contribution in #440
Full Changelog: v1.7.0...v1.8.0
v1.7.1
Full Changelog: v1.7.0...v1.7.1