Max Isbey
29cb1ba837
examples(mrtr): handler-shape comparison deck (SEP-2322)
...
Python-SDK counterpart to typescript-sdk#1701. Seven ways to write the
same weather-lookup tool so the diff between files is the argument.
SDK primitives (src/mcp/server/experimental/mrtr.py):
- MrtrCtx.once() — idempotency guard tracked in request_state (Option F)
- ToolBuilder — structural step decomposition; end_step runs exactly once
regardless of round count (Option G)
- input_response() — sugar for the guard-first pattern
- sse_retry_shim() — Option A comparison artifact (pragma no-cover until
LATEST_PROTOCOL_VERSION bumps past the MRTR gate)
- dispatch_by_version() — Option D comparison artifact
Option examples (examples/servers/mrtr-options/):
- E (degrade-only): the SDK default. MRTR-native; pre-MRTR gets a default
or error. Both quadrant rows collapse here.
- A (SSE shim): SDK emulates retry over SSE. Safe re-entry, hidden loop.
- B (await shim): exception-based. UNSAFE — hidden double-execution above
await. Not a ship target; for contrast.
- C (version branch): explicit if/else in handler body.
- D (dual handler): two functions, SDK picks by version.
- F (ctx.once): idempotency guard, opt-in per side-effect.
- G (ToolBuilder): no above-the-guard zone; end_step structurally
unreachable until all elicitations complete.
The invariant test (tests/experimental/test_mrtr.py) parametrises E/F/G
against the same Client + callback to prove identical wire behaviour —
the server's internal choice doesn't leak. The footgun test measures
audit_log count to prove F and G actually hold the guard (naive handler
fires twice; F and G fire once).
Both F and G depend on request_state integrity. The demos use plain
base64-JSON; a production SDK MUST HMAC-sign the blob.
2026-03-20 16:09:46 +00:00
Jonathan Hefner
5388bea53a
docs: generate hierarchical per-module API reference pages ( #2103 )
2026-03-18 18:15:17 +00:00
Max Isbey
e1fd62e0f3
fix: close all memory stream ends in client transport cleanup ( #2266 )
2026-03-13 14:43:54 +00:00
dependabot[bot]
2c73a2a881
chore(deps): bump black from 25.1.0 to 26.3.1 in the uv group across 1 directory ( #2290 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-13 10:39:56 +00:00
Jonathan Hefner
0fe16dd5fd
fix: silence mkdocs social plugin warnings in strict mode ( #2109 )
2026-02-19 23:12:51 +01:00
dependabot[bot]
d6d3ad9a7c
chore(deps-dev): bump pillow from 12.1.0 to 12.1.1 in the uv group across 1 directory ( #2036 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-11 14:57:37 +00:00
Aaron Abbott
f049c8e5c6
Fix leaked anyio streams in streamable_http ( #1991 )
...
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com >
2026-02-11 14:52:07 +00:00
dependabot[bot]
e39038d879
chore(deps): bump cryptography from 45.0.5 to 46.0.5 in the uv group across 1 directory ( #2031 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-11 14:26:16 +01:00
dependabot[bot]
1a943ad085
chore(deps): bump the uv group across 1 directory with 2 updates ( #1961 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-06 09:07:49 +00:00
Max Isbey
1b5287c727
fix: remove unused requests dependency from simple-chatbot example ( #1958 )
2026-01-26 14:02:11 +00:00
Max Isbey
a7ddfdae07
ci: add strict-no-cover to detect unnecessary coverage pragmas ( #1897 )
2026-01-23 21:00:20 +01:00
Marcelo Trylesinski
a1d330de9f
Proper handle extra data in MCP objects ( #1937 )
2026-01-23 15:35:23 +01:00
Marcelo Trylesinski
f0ab53e194
Add meta to Client methods ( #1923 )
2026-01-22 14:50:39 +01:00
Max Isbey
213cf993ca
Add conformance testing CI pipeline ( #1915 )
2026-01-21 16:04:35 +00:00
Rin
0f9a41d777
chore: include cli and ws extras in dev environment ( #1905 )
...
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com >
2026-01-19 14:53:08 +01:00
Marcelo Trylesinski
3ffe142e9a
Support Python 3.14 ( #1834 )
2026-01-07 16:28:23 +00:00
Felix Weinberger
281fd4765e
Add SSE polling support (SEP-1699) ( #1654 )
2025-12-02 11:44:49 +00:00
Max Isbey
c92bb2f7ff
SEP-1686: Tasks ( #1645 )
2025-11-28 18:51:58 +00:00
Paul Carleton
998f0ee4db
[auth][conformance] add conformance auth client ( #1640 )
...
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com >
2025-11-24 13:52:04 +00:00
Victorien
116c13e2c6
Refactor func_metadata() implementation ( #1496 )
2025-11-13 20:21:15 +00:00
Max Isbey
89e9c43acf
Get baseline 100% clean coverage ( #1553 )
2025-11-11 14:09:32 +01:00
Felix Weinberger
da4fce2195
Add everything-server for comprehensive MCP conformance testing ( #1587 )
2025-11-09 13:45:37 +00:00
Cole Murray
3a9f118e34
Update Starlette to 0.49.1 in uv.lock ( #1559 )
2025-11-03 08:15:08 +00:00
Luca Chang
f161149680
Implement RFC 7523 JWT flows ( #1247 )
...
Co-authored-by: Yann Jouanin <yann.jouanin@valueandco.com >
2025-10-29 16:48:08 +00:00
Luca Chang
c733eec5d9
Make client examples workspaces to reflect package code ( #1466 )
2025-10-17 17:13:39 +01:00
Felix Weinberger
7a933fe5da
Fix workspace configuration error with structured_output_lowlevel.py ( #1471 )
...
Co-authored-by: lorenss-m <saeclmusic@gmail.com >
2025-10-13 15:53:46 +01:00
Max Isbey
4fb975c6dc
feat: add paginated list decorators for prompts, resources, and tools ( #1286 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-09-23 14:58:06 +01:00
David Soria Parra
c3717e7ad3
Fix context injection for resources and prompts ( #1336 )
Main branch checks / checks (push) Failing after 0s
2025-09-11 14:30:06 +01:00
David Soria Parra
0926613714
Update dependencies and fix type issues ( #1268 )
...
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com >
2025-08-14 10:40:47 +01:00
Marcelo Trylesinski
c7671e470c
Add pyright strict mode on the whole project ( #1254 )
2025-08-11 18:56:37 +01:00
Felix Weinberger
e0336213e8
Improve child process termination on POSIX & Windows ( #1078 )
...
Co-authored-by: jingx8885 <jingxu8885@qq.com >
Co-authored-by: Surya Prakash Susarla <susarla.surya.prakash.1998@gmail.com >
2025-07-08 15:04:06 +01:00
Marcelo Trylesinski
3fa7bc7b61
tests: add lowest dependency tests ( #1067 )
...
Co-authored-by: ihrpr <inna@anthropic.com >
2025-07-06 09:38:56 +02:00
Inna Harper
adf327164a
Embed code snippets for README from executable examples ( #1055 )
2025-07-04 17:25:54 +01:00
Marcelo Trylesinski
9301924f44
chore: bump ruff ( #1085 )
2025-07-04 09:01:17 +01:00
Mohamed Amine Zghal
7942184336
Bump Pydantic in the lockfile ( #1041 )
2025-06-27 17:41:17 +02:00
Inna Harper
0323831b01
unpin jsonschema version ( #1037 )
2025-06-26 13:28:15 +01:00
bhosmer-ant
c8bbfc034d
Add schema validation to lowlevel server ( #1005 )
2025-06-25 09:23:49 -04:00
Marcelo Trylesinski
8a2359ffeb
Pin uv version ( #806 )
2025-05-26 12:17:23 +01:00
ihrpr
a027d75f60
Auth SSE simple server example ( #610 )
...
Co-authored-by: Peter Raboud <praboud@anthropic.com >
Co-authored-by: David Soria Parra <davidsp@anthropic.com >
Co-authored-by: Basil Hosmer <basil@anthropic.com >
Co-authored-by: Paul Carleton <paulc@anthropic.com >
Co-authored-by: Paul Carleton <paulcarletonjr@gmail.com >
2025-05-07 17:52:29 +01:00
ihrpr
9d99aee014
Revert "Add message queue for SSE messages POST endpoint ( #459 )" ( #649 )
2025-05-07 16:35:20 +01:00
Akash D
3b1b213a96
Add message queue for SSE messages POST endpoint ( #459 )
2025-05-06 17:10:43 -07:00
ihrpr
9dfc925090
StreamableHttp client transport ( #573 )
2025-05-02 13:59:02 +01:00
ihrpr
72b66a58b1
StreamableHttp - stateless server support ( #554 )
2025-05-02 13:40:21 +01:00
ihrpr
78f0b11a09
StreamableHttp - Server transport with state management ( #553 )
2025-05-02 11:58:54 +01:00
Peter Raboud
2210c1be18
Add support for serverside oauth ( #255 )
...
Main branch checks / checks (push) Failing after 0s
Check uv.lock / check-lock (push) Has been cancelled
Co-authored-by: David Soria Parra <davidsp@anthropic.com >
Co-authored-by: Basil Hosmer <basil@anthropic.com >
Co-authored-by: ihrpr <inna@anthropic.com >
2025-05-01 19:42:59 +01:00
Samuel Colvin
017135434e
add pytest-pretty dev dependency ( #546 )
2025-04-29 21:02:09 +01:00
Dan Lapid
8c9269c34b
Move uvicorn import to usage ( #502 )
2025-04-15 16:51:02 +02:00
Sarmad Qadri
e5ee279614
Fixes to stdio_client to support Windows more robustly ( #372 )
2025-03-27 09:14:56 +00:00
Marcelo Trylesinski
4e11f2890b
Add mkdocs ( #367 )
2025-03-25 13:06:15 +01:00
Samuel Colvin
3775916c5c
lint docs examples ( #286 )
...
* lint docs examples
* format
2025-03-14 11:30:57 +00:00