Max Isbey
ee2a010de7
Fix UnboundLocalError in send_request when response not assigned
...
Fixes an intermittent UnboundLocalError that could occur in send_request()
when anyio's fail_after context manager incorrectly suppresses exceptions
due to a race condition (anyio#589).
Changes:
- Initialize response_or_error to None before the try block
- Add _process_response static method with defensive None check
- Handle EndOfStream and ClosedResourceError exceptions explicitly
- Use try/except/else structure for cleaner control flow
- Add unit tests for _process_response
Closes #1717
2025-12-03 15:27:02 +00:00
Felix Weinberger
fa851d93a2
feat: backwards-compatible create_message overloads for SEP-1577 ( #1713 )
2025-12-02 13:17:45 +00:00
Felix Weinberger
281fd4765e
Add SSE polling support (SEP-1699) ( #1654 )
2025-12-02 11:44:49 +00:00
Camila Rondinini
2cd178a962
Add on_session_created callback option ( #1710 )
2025-12-01 17:48:33 +00:00
Felix Weinberger
5983a650cc
Skip empty SSE data to avoid parsing errors ( #1670 )
2025-11-26 18:09:39 +00:00
Chris Coutinho
02b7889929
Implement SEP-1036: URL mode elicitation for secure out-of-band interactions ( #1580 )
...
Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com >
Co-authored-by: Felix Weinberger <fweinberger@anthropic.com >
2025-11-25 11:00:21 +00:00
Felix Weinberger
091afb82dc
Implement SEP-986: Tool name validation ( #1655 )
2025-11-24 16:46:57 +00:00
Olivier Chafik
71c475588f
Implement SEP-1577 - Sampling With Tools ( #1594 )
...
Co-authored-by: Felix Weinberger <fweinberger@anthropic.com >
Co-authored-by: Claude <noreply@anthropic.com >
2025-11-22 23:58:14 -05:00
Max Isbey
89e9c43acf
Get baseline 100% clean coverage ( #1553 )
2025-11-11 14:09:32 +01:00
Max Isbey
db9e451551
fix: Replace remaining manual server polling with wait_for_server helper ( #1529 )
2025-10-29 11:27:57 +00:00
Max Isbey
3e86edfb2f
fix: Replace arbitrary sleeps with active server readiness checks in tests ( #1527 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-10-28 21:42:33 +00:00
adam jones
31ae5f4dc4
Relax Accept header requirement for JSON-only responses ( #1500 )
2025-10-27 17:46:04 +00:00
Lorenzo
d648a31359
fix: improve misleading warning for progress callback exceptions ( #775 )
2025-09-30 14:39:52 +01:00
Sreenath Somarajapuram
07ae8c0d4e
types: Setting default value for method: Literal ( #1292 )
2025-08-26 16:22:56 +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
joesavage-silabs
ef4e167c1a
Remove strict validation on response_modes_supported member of OAuthMetadata ( #1243 )
Main branch checks / checks (push) Failing after 1s
2025-08-07 18:39:35 +01:00
Marcelo Trylesinski
959d4e39ae
Unpack settings in FastMCP ( #1198 )
Main branch checks / checks (push) Failing after 0s
2025-07-26 10:37:48 +02:00
Marcelo Trylesinski
7570ba30cf
Make sure RequestId is not coerced as int ( #1178 )
2025-07-21 10:57:47 +01:00
Luca Chang
99c4f3c906
Support falling back to OIDC metadata for auth ( #1061 )
Main branch checks / checks (push) Failing after 1s
2025-07-17 20:06:38 +01:00
Inna Harper
813da6a579
fix flaky fix-test_streamablehttp_client_resumption test ( #1166 )
2025-07-17 18:35:40 +01:00
Felix Weinberger
3abefeeeaf
fweinberger/align shutdown with spec ( #1091 )
...
Co-authored-by: davenpi <davenport.ianc@gmail.com >
2025-07-09 10:14:30 -04:00
AishwaryaKalloli
bd84329a08
Doc update + validation in SseServerTransport + existing test fixes: addresses Issue: #827 ( #900 )
2025-07-09 08:19:06 +01:00
Inna Harper
679b22970e
RFC 8707 Resource Indicators Implementation ( #991 )
2025-06-23 17:10:20 +01:00
David Dworken
86bb54cb28
Add support for DNS rebinding protections ( #861 )
2025-06-17 20:13:00 +01:00
David Dworken
7b420656de
Fix uncaught exception in MCP server ( #967 )
2025-06-16 17:04:51 -07:00
Felix Weinberger
df15e9566d
feat: implement MCP-Protocol-Version header requirement for HTTP transport ( #898 )
2025-06-12 18:01:53 +01:00
Marcelo Trylesinski
543961968c
Use 120 characters instead of 88 ( #856 )
2025-06-11 11:45:50 +02:00
xiaoming wang
2cbc435c6c
normalize string ID to int in server messages for compatibility ( #851 )
...
Co-authored-by: 晓明 王 <wxm@v1i.cc >
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com >
2025-06-08 07:15:21 +00:00
ihrpr
05b7156ea8
Support for http request injection propagation in StreamableHttp ( #833 )
Main branch checks / checks (push) Failing after 0s
Check uv.lock / check-lock (push) Has been cancelled
2025-05-29 15:21:06 +01:00
ihrpr
70014a2bbb
Support for http request injection propagation to tools ( #816 )
2025-05-28 15:59:14 +01:00
Marshall Roch
7901552eba
send errors to pending requests if server closes ( #333 )
...
Co-authored-by: ihrpr <inna@anthropic.com >
2025-05-27 22:55:27 +01:00
Akshey D
9e66f7ce89
feat: add message to ProgressNotification ( #435 )
...
Co-authored-by: ihrpr <inna.hrpr@gmail.com >
2025-05-13 18:40:15 +01:00
Jeremiah Lowin
1cb740745d
Properly infer prefix for SSE messages ( #659 )
2025-05-12 21:29:17 +01:00
Nate Barbettini
f745d69dcb
fix: 204 is an acceptable response to DELETEing the session ( #697 )
2025-05-12 21:22:55 +01:00
ihrpr
c6fb822c86
Fix streamable http sampling ( #693 )
Main branch checks / checks (push) Failing after 1s
Check uv.lock / check-lock (push) Has been cancelled
2025-05-12 18:31:35 +01:00
ihrpr
ed25167fa5
Introduce a function to create a standard AsyncClient with options ( #655 )
Main branch checks / checks (push) Failing after 0s
Check uv.lock / check-lock (push) Has been cancelled
2025-05-08 20:53:21 +01:00
ihrpr
e4e119b324
Streamable HTTP - improve usability, fast mcp and auth ( #641 )
2025-05-08 20:43:25 +01:00
Akash D
83968b5b2f
Handle SSE Disconnects Properly ( #612 )
2025-05-02 09:32:46 -07:00
ihrpr
5d8eaf77be
Streamable Http - clean up server memory streams ( #604 )
2025-05-02 14:59:17 +01:00
ihrpr
74f5fcfa0d
StreamableHttp - client refactoring and resumability support ( #595 )
2025-05-02 14:49:50 +01:00
ihrpr
3978c6e1b9
StreamableHttp -- resumability support for servers ( #587 )
2025-05-02 14:10:40 +01:00
ihrpr
9dfc925090
StreamableHttp client transport ( #573 )
2025-05-02 13:59:02 +01:00
David Soria Parra
9a2bb6a7e7
refactor: Make types.py strictly typechecked. ( #336 )
2025-03-26 14:21:35 +00:00
Marcelo Trylesinski
ae77772ea8
Add strict mode to pyright ( #315 )
...
* Add strict mode to pyright
* Apply UP rule
* fix readme
* More correct
* Leave wrong Context for now
* Add strict mode to pyright
* Apply UP rule
* fix readme
* fix
* ignore
2025-03-20 09:13:08 +00:00
Henry Mao
fb7d0c8dac
Pyright
2025-03-12 13:56:05 -07:00
Henry Mao
ba184a2667
Ruff
2025-03-12 13:51:35 -07:00
Henry Mao
fd826cc7a6
Fix Websocket Client and Add Test
2025-03-07 22:00:56 +08:00
David Soria Parra
f10665db4c
tests: cleanup
2025-02-05 11:02:51 +00:00
David Soria Parra
c58adfe3f5
Merge pull request #167 from modelcontextprotocol/davidsp/88-v2
...
feat: add request cancellation and cleanup
2025-02-04 20:23:05 +00:00