Commit graph python-sdk/tests
Author SHA1 Message Date
Felix Weinberger
d41d0c0128
chore: add D212 lint rule to enforce Google-style docstrings (#1892) 2026-01-16 16:10:52 +00:00
Felix Weinberger
df039bf97c
Add ergonomic Client class for testing MCP servers (#1870) 2026-01-16 15:49:26 +00:00
Marcelo Trylesinski
8adb5bdce8
refactor: move transport-specific parameters from FastMCP constructor to run() (#1898)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 15:16:20 +00:00
Max Isbey
5d80f4efc8
refactor: move inline imports to module level (#1893) 2026-01-16 14:54:08 +00:00
Marcelo Trylesinski
e94b386a13
refactor: use snake case instead of camel case in types (#1894) 2026-01-16 15:51:27 +01:00
Felix Weinberger
0622babbd9
fix: URL-decode parameters extracted from resource templates (#1864) 2026-01-16 13:47:21 +00:00
Marcelo Trylesinski
edf0950a6a
Revert mount_path parameter from FastMCP (#1881) 2026-01-16 13:23:08 +00:00
Felix Weinberger
cfb2909631
fix: change Resource URI fields from AnyUrl to str (#1863) 2026-01-16 09:58:57 +01:00
Marcelo Trylesinski
812a46ab97
Remove deprecated cursor parameter and ResourceReference (#1871) 2026-01-15 21:33:21 +01:00
Marcelo Trylesinski
024d7597fd
Drop Content and args parameter in ClientSessionGroup.call_tool (#1866) 2026-01-15 16:24:53 +00:00
Marcelo Trylesinski
8893b022e8
Drop deprecated streamablehttp_client (#1836) 2026-01-15 11:02:24 +01:00
Max Isbey
b26e5b907f
Add missing TasksCallCapability to enable proper MCP task support (#1854)
Co-authored-by: Claude <noreply@anthropic.com>
2026-01-15 10:55:38 +01:00
Yann Jouanin
0da9a074d0
Support for Resource and ResourceTemplate metadata (#1840)
Co-authored-by: Jacem Elwaar <jacem@mcpappsbuilders.com>
2026-01-12 14:45:31 +00:00
Marcelo Trylesinski
3ffe142e9a
Support Python 3.14 (#1834) 2026-01-07 16:28:23 +00:00
Yann Jouanin
3863f203e9
Server initialize response update to last spec (add title, description) (#1634) 2026-01-06 21:34:08 +00:00
Marcelo Trylesinski
6149b63a44
tests: add missing init files (#1831) 2026-01-06 19:52:09 +01:00
Max Isbey
37de50144f
fix: add StatelessModeNotSupported exception and improve tests (#1828) 2026-01-06 11:26:26 +00:00
Max Isbey
bb6cb029f0
fix: raise clear error for server-to-client requests in stateless mode (#1827) 2026-01-05 17:17:54 +00:00
gazzadownunder
d52937b39c
Make refresh_token grant type optional in DCR handler (#1651)
Co-authored-by: Claude <noreply@anthropic.com>
2026-01-05 13:41:45 +00:00
Maxime
78a9504ec1
fix: return HTTP 404 for unknown session IDs instead of 400 (#1808)
Co-authored-by: Max Isbey <224885523+maxisbey@users.noreply.github.com>
2025-12-31 14:06:12 +00:00
jnjpng
a9cc822a10
fix: accept HTTP 201 status code in token exchange (#1503)
Co-authored-by: Paul Carleton <paulcarletonjr@gmail.com>
2025-12-19 18:22:00 +00:00
Ankesh Kumar Thakur
a4bf947540
fix: Token endpoint response for invalid_client (#1481)
Co-authored-by: Max Isbey <224885523+maxisbey@users.noreply.github.com>
2025-12-19 18:19:00 +00:00
V
06748eb4c4
fix: Include extra field for context log (#1535) 2025-12-19 17:54:03 +00:00
Yugan
2aa1ad2a69
feat: standardize timeout values to floats in seconds (#1766) 2025-12-19 12:22:56 +00:00
zenlytix
8ac0cab98c
Fix for Url Elicitation issue 1768 (#1780) 2025-12-15 18:58:17 +01:00
Ondrej Mosnáček
65b36de4eb
fix: use correct python command name in test_stdio.py (#1782)
Some checks failed
Main branch checks / checks (push) Has been cancelled
Signed-off-by: Ondrej Mosnáček <omosnacek@gmail.com>
2025-12-12 14:02:38 +00:00
Marcelo Trylesinski
a3a4b8d11a
Add streamable_http_client which accepts httpx.AsyncClient instead of httpx_client_factory (#1177)
Co-authored-by: Felix Weinberger <fweinberger@anthropic.com>
2025-12-10 16:39:00 +00:00
Camila Rondinini
cc8382ce3e
Fix JSON-RPC error response ID matching (#1720)
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com>
2025-12-10 16:15:21 +00:00
Jeremiah Lowin
0dedbd9831
feat: client-side support for SEP-1577 sampling with tools (#1722) 2025-12-09 23:36:28 +00:00
Arjun TS
2bf9b10f63
Skip empty SSE data to avoid parsing errors (#1753)
Co-authored-by: ARJUN-TS1 <arjun.ts1@ibm.com>
Co-authored-by: Max Isbey <224885523+maxisbey@users.noreply.github.com>
2025-12-09 15:14:23 +00:00
Anton Pidkuiko
8ac11ec604
fix: allow MIME type parameters in resource validation (RFC 2045) (#1755)
Co-authored-by: Claude <noreply@anthropic.com>
2025-12-09 14:56:40 +00:00
Max Isbey
8b984d93a3
refactor(auth): remove unused _register_client method (#1748) 2025-12-08 21:50:20 +00:00
Felix Weinberger
89ff338174
fix: skip priming events and close_sse_stream for old protocol versions (#1719)
Some checks failed
Main branch checks / checks (push) Has been cancelled
2025-12-04 14:44:08 +00:00
Edison
9ed0b93ceb
fix: handle ClosedResourceError in StreamableHTTP message router (#1384)
Co-authored-by: Max Isbey <224885523+maxisbey@users.noreply.github.com>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
2025-12-04 11:36:23 +01:00
Felix Weinberger
8e02fc17e1
chore: update LATEST_PROTOCOL_VERSION to 2025-11-25 (#1715)
Some checks failed
Main branch checks / checks (push) Has been cancelled
2025-12-02 18:27:27 +00:00
Paul Carleton
d3a184119e
Merge commit from fork
Some checks failed
Main branch checks / checks (push) Has been cancelled
* Auto-enable DNS rebinding protection for localhost servers

When a FastMCP server is created with host="127.0.0.1" or "localhost"
and no explicit transport_security is provided, automatically enable
DNS rebinding protection. Both 127.0.0.1 and localhost are allowed
as valid hosts/origins since clients may use either to connect.

* Add tests for auto DNS rebinding protection on localhost

Tests verify that:
- Protection auto-enables for host=127.0.0.1
- Protection auto-enables for host=localhost
- Both 127.0.0.1 and localhost are in allowed hosts/origins
- Protection does NOT auto-enable for other hosts (e.g., 0.0.0.0)
- Explicit transport_security settings are not overridden

* Add IPv6 localhost (::1) support for DNS rebinding protection

Extend auto-enable DNS rebinding protection to also cover IPv6
localhost. When host="::1", protection is now auto-enabled with
appropriate allowed hosts ([::1]:*) and origins (http://[::1]:*).

* Fix import ordering in test file
2025-12-02 13:23:55 +00:00
Felix Weinberger
fa851d93a2
feat: backwards-compatible create_message overloads for SEP-1577 (#1713) 2025-12-02 13:17:45 +00:00
Paul Carleton
f82b0c9371
Support client_credentials flow with JWT and Basic auth (#1663)
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com>
2025-12-02 12:53:55 +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
Max Isbey
c92bb2f7ff
SEP-1686: Tasks (#1645) 2025-11-28 18:51:58 +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
Paul Carleton
f22501315e
feat: implement SEP-991 URL-based client ID (CIMD) support (#1652)
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com>
2025-11-24 17:21:03 +00:00
Felix Weinberger
091afb82dc
Implement SEP-986: Tool name validation (#1655) 2025-11-24 16:46:57 +00:00
Tapan Chugh
b19fa6f279
SEP-1330: Elicitation Enum Schema Improvements and Standards Compliance (#1246)
Co-authored-by: Tapan Chugh <tapanc@cs.washington.edu>
Co-authored-by: Felix Weinberger <fweinberger@anthropic.com>
Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com>
2025-11-23 23:32:08 +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
Jon Shea
c51936f61f
Add client_secret_basic authentication support (#1334)
Co-authored-by: Paul Carleton <paulc@anthropic.com>
2025-11-20 20:53:37 +00:00
Felix Weinberger
397089a78e
Add tests for JSON Schema 2020-12 field preservation (SEP-1613) (#1649) 2025-11-20 20:51:13 +00:00
Liang Wu
9c8f763aa8
chore: Lazy import jsonschema library (#1596)
Co-authored-by: Max Isbey <224885523+maxisbey@users.noreply.github.com>
2025-11-19 15:30:52 +00:00