Marcelo Trylesinski
f0ab53e194
Add meta to Client methods ( #1923 )
2026-01-22 14:50:39 +01:00
Marcelo Trylesinski
d77292fb06
refactor: drop test classes ( #1924 )
2026-01-22 12:37:52 +01:00
Marcelo Trylesinski
7b728a243e
refactor: drop unused logger/logging ( #1926 )
2026-01-22 11:56:41 +01:00
Marcelo Trylesinski
5fdd48a0d3
Completely drop RootModel from types module ( #1910 )
2026-01-19 14:29:15 +01:00
Marcelo Trylesinski
f4672c5084
Drop RootModel from JSONRPCMessage ( #1908 )
2026-01-19 14:04:15 +01:00
Felix Weinberger
dcc9b4f8e0
refactor: use Client class in tests ( #1900 )
2026-01-17 09:46:58 +01:00
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
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
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
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
zenlytix
8ac0cab98c
Fix for Url Elicitation issue 1768 ( #1780 )
2025-12-15 18:58:17 +01: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
Paul Carleton
d3a184119e
Merge commit from fork
...
Main branch checks / checks (push) Failing after 0s
* 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
Max Isbey
c92bb2f7ff
SEP-1686: Tasks ( #1645 )
2025-11-28 18:51:58 +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
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
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
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
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
Max Isbey
f97f7c4a7d
fix: Replace fixed sleep with active server readiness check in SSE tests ( #1526 )
2025-10-28 19:49:13 +00:00
Brandon Shar
1200ba0082
Allow CallToolResult to be returned directly to support _meta field for OpenAI Apps ( #1459 )
...
Co-authored-by: Max Isbey <224885523+maxisbey@users.noreply.github.com >
2025-10-21 18:52:08 +00:00
Mat Leonard
98f82485bd
feat: add tool metadata in FastMCP.tool decorator ( #1463 )
...
Co-authored-by: Max Isbey <224885523+maxisbey@users.noreply.github.com >
2025-10-17 11:18:34 +00:00
daamitt
dcc68ce56b
fix: Set the Server session initialization state immediately after respond… ( #1478 )
...
Main branch checks / checks (push) Failing after 0s
Co-authored-by: Max Isbey <224885523+maxisbey@users.noreply.github.com >
2025-10-15 13:56:43 +01:00
Fenn Bailey
cd7253c593
feat: add resource annotations support to FastMCP ( #1468 )
2025-10-14 11:07:37 +01:00
AishwaryaKalloli
b4e50aa9f9
Handles message type Exception in lowlevel/server.py _handle_message function. Mentioned as TODO on line 528. ( #786 )
...
Co-authored-by: Felix Weinberger <fweinberger@anthropic.com >
Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com >
2025-10-13 14:29:03 +01:00
Brandon Wu
b8e758b02b
feat: add ability to remove tools ( #1322 )
...
Co-authored-by: David Soria Parra <167242713+dsp-ant@users.noreply.github.com >
Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com >
Co-authored-by: Max Isbey <224885523+maxisbey@users.noreply.github.com >
Co-authored-by: Claude <noreply@anthropic.com >
2025-10-06 14:16:50 +01:00
Marcus Shu
df3e428ee8
Improve OAuth protected resource metadata URL construction per RFC 9728 ( #1407 )
2025-10-06 13:52:44 +01:00
automaton82
9323efad99
Issue 1379 patch - Fix MCP server OAuth not working with Visual Studio Code and others with extra grant_types ( #1380 )
2025-09-29 11:13:16 +01:00
Jon Shea
1940040ac3
Accept additional response_types values from OAuth servers ( #1323 )
2025-09-26 20:29:06 +01:00
Tapan Chugh
b85e7bd1a9
feat: Add SDK support for SEP-1034 default values in elicitation schemas ( #1337 )
...
Co-authored-by: Tapan Chugh <tapanc@cs.washington.edu >
Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com >
2025-09-24 16:33:45 +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
Yann Jouanin
20596e5f41
Add test for ProtectedResourceMetadataParsing ( #1236 )
...
Co-authored-by: Paul Carleton <paulcarletonjr@gmail.com >
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com >
Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com >
2025-09-23 12:48:21 +01:00
Peter Alexander
7e93a9fc19
Return HTTP 403 for invalid Origin headers ( #1353 )
2025-09-22 16:44:51 +01:00
pchoudhury22
ca5cb4cb67
fix(fastmcp): propagate mimeType in resource template list ( #1186 )
...
Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com >
2025-09-17 14:50:41 +01:00