GitHub / modelcontextprotocol/python-sdk / commits
The official Python SDK for Model Context Protocol servers and clients
| SHA | Message | Author | Date | Stats |
|---|---|---|---|---|
| 1a8c14a5 | refactor: replace `mcp.types as types` to `from mcp import types` (#1986) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
3 days ago | |
| 4fc49c62 | feat: add `ClientRequestContext` type alias for client-side handlers (#1989) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
3 days ago | |
| 74f41ff1 | Add more maintainers to the PyPI metadata (#1976) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
3 days ago | |
| b1f7eec3 | refactor: split `RequestContext` between server and client (#1987) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
3 days ago | |
| 050aeb64 | Remove unnecessary MCPServer alias (#1984) |
Max Isbey <2****y@u****m>
Committed by: GitHub <n****y@g****m> |
3 days ago | |
| 71e78842 | feat: add theme field to Icon type for light/dark mode support (#1978) |
Guillaume FORTAINE <g****b@f****m>
Committed by: GitHub <n****y@g****m> |
3 days ago | |
| 6f8b791f |
chore(deps): bump the github-actions group with 5 updates (#1981)
Co-authored-by: dependabot[bot] <4****]@u****m> Signed-off-by: dependabot[bot] <s****t@g****m> |
dependabot[bot] <4****]@u****m>
Committed by: GitHub <n****y@g****m> |
5 days ago | |
| 21822053 | Support different transports in Client (#1972) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
7 days ago | |
| 2137c8fb |
fix: revert README to v1.x documentation on main (#1971)
Co-authored-by: Marcelo Trylesinski <m****e@g****m> |
Max Isbey <2****y@u****m>
Committed by: GitHub <n****y@g****m> |
7 days ago | |
| b38716e5 | ci: skip Claude code review for Dependabot PRs (#1963) |
Max Isbey <2****y@u****m>
Committed by: GitHub <n****y@g****m> |
10 days ago | |
| 14744c66 | Add tests for `MCPServer.read_resource` exception handling (#1957) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
10 days ago | |
| 6f0e8e78 |
refactor: code style improvements and formatting cleanup (#1962)
Co-authored-by: Claude Opus 4.5 <n****y@a****m> |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
10 days ago | |
| 1b5287c7 | fix: remove unused `requests` dependency from simple-chatbot example (#1958) |
Max Isbey <2****y@u****m>
Committed by: GitHub <n****y@g****m> |
11 days ago | |
| acba5478 |
refactor: `McpError` renamed to `MCPError` and flatten parameters (#1956)
Co-authored-by: Max Isbey <2****y@u****m> |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
11 days ago | |
| 65c614e4 | Rename `FastMCP` to `MCPServer` (#1951) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
12 days ago | |
| 4a2d83a0 | ci: skip claude code review for fork PRs (#1952) |
Max Isbey <2****y@u****m>
Committed by: GitHub <n****y@g****m> |
12 days ago | |
| ce75b2d7 | refactor: improve type docstrings and remove internal type exports (#1950) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
13 days ago | |
| a7ddfdae | ci: add strict-no-cover to detect unnecessary coverage pragmas (#1897) |
Max Isbey <2****y@u****m>
Committed by: GitHub <n****y@g****m> |
13 days ago | |
| 3cfdea0e | refactor: move stdio package to its own module (#1942) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
14 days ago | |
| a1d330de | Proper handle extra data in MCP objects (#1937) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
14 days ago | |
| 53012982 | Add claude GitHub action (#1922) |
Max Isbey <2****y@u****m>
Committed by: GitHub <n****y@g****m> |
15 days ago | |
| f0ab53e1 | Add `meta` to `Client` methods (#1923) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
15 days ago | |
| d77292fb | refactor: drop test classes (#1924) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
15 days ago | |
| 7b728a24 | refactor: drop unused logger/logging (#1926) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
15 days ago | |
| 656f887a | fix: replace http code by jsonrpc (#1920) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
16 days ago | |
| 213cf993 | Add conformance testing CI pipeline (#1915) |
Max Isbey <2****y@u****m>
Committed by: GitHub <n****y@g****m> |
16 days ago | |
| 3bcdc176 | refactor: create the types subpackage, and the jsonrpc module (#1918) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
16 days ago | |
| ae7793ef | refactor: avoid double JSON parsing (#1917) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
16 days ago | |
| 6d463bb3 | refactor: replace `AnyFunction` by proper types (#1916) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
16 days ago | |
| bcb07c2b | refactor: flatten the methods in `Client` (#1914) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
17 days ago | |
| 3dc8b720 | refactor: replace `pydantic_core.from_json` by `json.loads` (#1912) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
17 days ago | |
| 34e66a38 | refactor: move streamable HTTP app creation from FastMCP to lowlevel Server (... |
Max Isbey <2****y@u****m>
Committed by: GitHub <n****y@g****m> |
18 days ago | |
| 0f9a41d7 |
chore: include cli and ws extras in dev environment (#1905)
Co-authored-by: Marcelo Trylesinski <m****e@g****m> |
Rin <d****0@g****m>
Committed by: GitHub <n****y@g****m> |
18 days ago | |
| 1c258ae2 | Don't block the event loop on non-async functions (#1909) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
18 days ago | |
| 5fdd48a0 | Completely drop `RootModel` from `types` module (#1910) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
18 days ago | |
| f4672c50 | Drop `RootModel` from `JSONRPCMessage` (#1908) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
18 days ago | |
| dcc9b4f8 | refactor: use Client class in tests (#1900) |
Felix Weinberger <3****r@u****m>
Committed by: GitHub <n****y@g****m> |
20 days ago | |
| d41d0c01 | chore: add D212 lint rule to enforce Google-style docstrings (#1892) |
Felix Weinberger <3****r@u****m>
Committed by: GitHub <n****y@g****m> |
21 days ago | |
| df039bf9 | Add ergonomic Client class for testing MCP servers (#1870) |
Felix Weinberger <3****r@u****m>
Committed by: GitHub <n****y@g****m> |
21 days ago | |
| 8adb5bdc |
refactor: move transport-specific parameters from FastMCP constructor to run(...
Co-authored-by: Claude Opus 4.5 <n****y@a****m> |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
21 days ago | |
| 5d80f4ef | refactor: move inline imports to module level (#1893) |
Max Isbey <2****y@u****m>
Committed by: GitHub <n****y@g****m> |
21 days ago | |
| c0636212 | chore: add more opinions to CLAUDE.md (#1887) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
21 days ago | |
| e94b386a | refactor: use snake case instead of camel case in types (#1894) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
21 days ago | |
| 7080fcf1 | refactor: move inline imports to top of routes.py (#1888) |
Max Isbey <2****y@u****m>
Committed by: GitHub <n****y@g****m> |
21 days ago | |
| 0622babb | fix: URL-decode parameters extracted from resource templates (#1864) |
Felix Weinberger <3****r@u****m>
Committed by: GitHub <n****y@g****m> |
21 days ago | |
| edf0950a | Revert `mount_path` parameter from `FastMCP` (#1881) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
21 days ago | |
| 2b4c7ebc | ci: add alls-green action for single required check (#1882) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
21 days ago | |
| 2cf7784a |
ci: replace highest resolution with locked in test matrix (#1869)
Co-authored-by: Marcelo Trylesinski <m****e@g****m> |
Max Isbey <2****y@u****m>
Committed by: GitHub <n****y@g****m> |
21 days ago | |
| 9f427f32 | fix: add default values to Literal type fields in content types (#1867) |
Felix Weinberger <3****r@u****m>
Committed by: GitHub <n****y@g****m> |
21 days ago | |
| d5edcb3e | docs: add breaking changes guidance to CLAUDE.md (#1879) |
Felix Weinberger <3****r@u****m>
Committed by: GitHub <n****y@g****m> |
21 days ago | |
| 68cbabb9 |
refactor: introduce MCPModel base class for protocol types (#1880)
Co-authored-by: Max Isbey <2****y@u****m> |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
21 days ago | |
| b63776b1 |
chore(deps): bump the github-actions group with 7 updates (#1878)
Co-authored-by: dependabot[bot] <4****]@u****m> Signed-off-by: dependabot[bot] <s****t@g****m> |
dependabot[bot] <4****]@u****m>
Committed by: GitHub <n****y@g****m> |
21 days ago | |
| 2ce41a83 | Drop `dependencies` parameter from `FastMCP` (#1877) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
21 days ago | |
| cfb29096 | fix: change Resource URI fields from AnyUrl to str (#1863) |
Felix Weinberger <3****r@u****m>
Committed by: GitHub <n****y@g****m> |
21 days ago | |
| f2abefff | Add Dependabot configuration for GitHub Actions (#1876) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
21 days ago | |
| c9e98e53 | ci: pin all GitHub Actions to commit SHAs (#1875) |
Max Isbey <2****y@u****m>
Committed by: GitHub <n****y@g****m> |
21 days ago | |
| fc5cb6ab | ci: add weekly lockfile update workflow (#1874) |
Max Isbey <2****y@u****m>
Committed by: GitHub <n****y@g****m> |
21 days ago | |
| 812a46ab | Remove deprecated `cursor` parameter and `ResourceReference` (#1871) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
21 days ago | |
| 72a8631f | fix(ci): use bash shell for pytest step to ensure consistent error handling (... |
Max Isbey <2****y@u****m>
Committed by: GitHub <n****y@g****m> |
22 days ago | |
| 024d7597 | Drop `Content` and `args` parameter in `ClientSessionGroup.call_tool` (#1866) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
22 days ago | |
| c251e728 | Add v2 development warning to README (#1862) |
Max Isbey <2****y@u****m>
Committed by: GitHub <n****y@g****m> |
22 days ago | |
| f2b89ec8 | docs: add migrations page (#1859) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
22 days ago | |
| 32a4587d | chore: drop `as _annotations` (#1858) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
22 days ago | |
| 8893b022 | Drop deprecated `streamablehttp_client` (#1836) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
22 days ago | |
| b26e5b90 |
Add missing TasksCallCapability to enable proper MCP task support (#1854)
Co-authored-by: Claude <n****y@a****m> |
Max Isbey <2****y@u****m>
Committed by: GitHub <n****y@g****m> |
22 days ago | |
| 0da9a074 |
Support for Resource and ResourceTemplate metadata (#1840)
Co-authored-by: Jacem Elwaar <j****m@m****m> |
Yann Jouanin <4****r@u****m>
Committed by: GitHub <n****y@g****m> |
25 days ago | |
| 6b69f635 | docs: fix simple-auth README references to non-existent scripts (#1829) |
Max Isbey <2****y@u****m>
Committed by: GitHub <n****y@g****m> |
29 days ago | |
| 3ffe142e | Support Python 3.14 (#1834) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
30 days ago | |
| 1fd557af | Add type checker to `examples/client` (#1837) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
30 days ago | |
| 3863f203 | Server initialize response update to last spec (add title, description) (#1634) |
Yann Jouanin <4****r@u****m>
Committed by: GitHub <n****y@g****m> |
about 1 month ago | |
| f397783c |
fix: add explicit type annotation for call_tool decorator (#1826)
Co-authored-by: Jay Hemnani <j****0@g****m>, Marcelo Trylesinski <m****e@g****m> |
Jay Hemnani <j****i@s****u>
Committed by: GitHub <n****y@g****m> |
about 1 month ago | |
| 201de920 | refactor: use `__future__.annotations` (#1832) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
about 1 month ago | |
| adcc17b9 | types: add missing `py.typed` from examples package (#1833) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
about 1 month ago | |
| 6149b63a | tests: add missing init files (#1831) |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
about 1 month ago | |
| 37de5014 | fix: add StatelessModeNotSupported exception and improve tests (#1828) |
Max Isbey <2****y@u****m>
Committed by: GitHub <n****y@g****m> |
about 1 month ago | |
| bb6cb029 | fix: raise clear error for server-to-client requests in stateless mode (#1827) |
Max Isbey <2****y@u****m>
Committed by: GitHub <n****y@g****m> |
about 1 month ago | |
| d52937b3 |
Make refresh_token grant type optional in DCR handler (#1651)
Co-authored-by: Claude <n****y@a****m> |
gazzadownunder <3****r@u****m>
Committed by: GitHub <n****y@g****m> |
about 1 month ago | |
| c7cbfbb3 | docs: add guidance on discussing features before opening PRs (#1760) |
Max Isbey <2****y@u****m>
Committed by: GitHub <n****y@g****m> |
about 1 month ago | |
| 78a9504e |
fix: return HTTP 404 for unknown session IDs instead of 400 (#1808)
Co-authored-by: Max Isbey <2****y@u****m> |
Maxime <6****u@u****m>
Committed by: GitHub <n****y@g****m> |
about 1 month ago | |
| a9cc822a |
fix: accept HTTP 201 status code in token exchange (#1503)
Co-authored-by: Paul Carleton <p****r@g****m> |
jnjpng <j****g@g****m>
Committed by: GitHub <n****y@g****m> |
about 2 months ago | |
| a4bf9475 |
fix: Token endpoint response for invalid_client (#1481)
Co-authored-by: Max Isbey <2****y@u****m> |
Ankesh Kumar Thakur <1****r@u****m>
Committed by: GitHub <n****y@g****m> |
about 2 months ago | |
| 3f6b0597 | docs: update CONTRIBUTING with v2 branching strategy (#1804) |
Max Isbey <2****y@u****m>
Committed by: GitHub <n****y@g****m> |
about 2 months ago | |
| 06748eb4 | fix: Include extra field for context log (#1535) |
V <0****t@g****m>
Committed by: GitHub <n****y@g****m> |
about 2 months ago | |
| 2aa1ad2a | feat: standardize timeout values to floats in seconds (#1766) |
Yugan <1****t@u****m>
Committed by: GitHub <n****y@g****m> |
about 2 months ago | |
| 4807eb5a | Add workflow to comment on PRs when released (#1772) |
Yugan <1****t@u****m>
Committed by: GitHub <n****y@g****m> |
about 2 months ago | |
| ef96a316 | ci: add v1.x branch to main-checks workflow (#1802) |
Max Isbey <2****y@u****m>
Committed by: GitHub <n****y@g****m> |
about 2 months ago | |
| 8ac0cab9 | Fix for Url Elicitation issue 1768 (#1780) |
zenlytix <g****k@u****m>
Committed by: GitHub <n****y@g****m> |
about 2 months ago | |
| 65b36de4 |
fix: use correct python command name in test_stdio.py (#1782)
Signed-off-by: Ondrej Mosnáček <o****k@g****m> |
Ondrej Mosnáček <o****k@g****m>
Committed by: GitHub <n****y@g****m> |
about 2 months ago | |
| a3a4b8d1 |
Add `streamable_http_client` which accepts `httpx.AsyncClient` instead of `ht...
Co-authored-by: Felix Weinberger <f****r@a****m> |
Marcelo Trylesinski <m****e@g****m>
Committed by: GitHub <n****y@g****m> |
about 2 months ago | |
| cc8382ce |
Fix JSON-RPC error response ID matching (#1720)
Co-authored-by: Claude <n****y@a****m>, Felix Weinberger <3****r@u****m> |
Camila Rondinini <c****a@a****m>
Committed by: GitHub <n****y@g****m> |
about 2 months ago | |
| 0dedbd98 | feat: client-side support for SEP-1577 sampling with tools (#1722) |
Jeremiah Lowin <1****n@u****m>
Committed by: GitHub <n****y@g****m> |
about 2 months ago | |
| 779271ae | chore: remove release-comment workflow (#1758) |
Max Isbey <2****y@u****m>
Committed by: GitHub <n****y@g****m> |
about 2 months ago | |
| 2bf9b10f |
Skip empty SSE data to avoid parsing errors (#1753)
Co-authored-by: ARJUN-TS1 <a****1@i****m>, Max Isbey <2****y@u****m> |
Arjun TS <6****o@u****m>
Committed by: GitHub <n****y@g****m> |
about 2 months ago | |
| 8ac11ec6 |
fix: allow MIME type parameters in resource validation (RFC 2045) (#1755)
Co-authored-by: Claude <n****y@a****m> |
Anton Pidkuiko <1****1@u****m>
Committed by: GitHub <n****y@g****m> |
about 2 months ago | |
| b7cc2549 | feat: add workflow to comment on PRs when released (#1750) |
Felix Weinberger <3****r@u****m>
Committed by: GitHub <n****y@g****m> |
about 2 months ago | |
| 8b984d93 | refactor(auth): remove unused _register_client method (#1748) |
Max Isbey <2****y@u****m>
Committed by: GitHub <n****y@g****m> |
about 2 months ago | |
| 89ff3381 | fix: skip priming events and close_sse_stream for old protocol versions (#1719) |
Felix Weinberger <3****r@u****m>
Committed by: GitHub <n****y@g****m> |
2 months ago | |
| 9ed0b93c |
fix: handle ClosedResourceError in StreamableHTTP message router (#1384)
Co-authored-by: Max Isbey <2****y@u****m>, Marcelo Trylesinski <m****e@g****m> |
Edison <E****N@h****m>
Committed by: GitHub <n****y@g****m> |
2 months ago | |
| 72a34002 |
fix: add lifespan context manager to StreamableHTTP mounting examples (#1669)
Co-authored-by: TheMailmans <t****r@e****m>, Marcelo Trylesinski <m****e@g****m> |
Tyler Mailman <t****x@g****m>
Committed by: GitHub <n****y@g****m> |
2 months ago | |
| 8e02fc17 | chore: update LATEST_PROTOCOL_VERSION to 2025-11-25 (#1715) |
Felix Weinberger <3****r@u****m>
Committed by: GitHub <n****y@g****m> |
2 months ago |