Marcelo Trylesinski
1c258ae203
Don't block the event loop on non-async functions ( #1909 )
2026-01-19 14:47:37 +01:00
Marcelo Trylesinski
5fdd48a0d3
Completely drop RootModel from types module ( #1910 )
2026-01-19 14:29:15 +01:00
Felix Weinberger
d41d0c0128
chore: add D212 lint rule to enforce Google-style docstrings ( #1892 )
2026-01-16 16:10:52 +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
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
Marcelo Trylesinski
2ce41a8347
Drop dependencies parameter from FastMCP ( #1877 )
2026-01-16 08:59:44 +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
32a4587da9
chore: drop as _annotations ( #1858 )
2026-01-15 10:07:06 +00: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
V
06748eb4c4
fix: Include extra field for context log ( #1535 )
2025-12-19 17:54:03 +00:00
zenlytix
8ac0cab98c
Fix for Url Elicitation issue 1768 ( #1780 )
2025-12-15 18:58:17 +01: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
Paul Carleton
d3a184119e
Merge commit from fork
...
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
281fd4765e
Add SSE polling support (SEP-1699) ( #1654 )
2025-12-02 11:44:49 +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
27279bc157
Update doc string on custom_route ( #1660 )
2025-11-24 19:20:56 +00:00
Felix Weinberger
091afb82dc
Implement SEP-986: Tool name validation ( #1655 )
2025-11-24 16:46:57 +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
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
Fenn Bailey
cd7253c593
feat: add resource annotations support to FastMCP ( #1468 )
2025-10-14 11:07:37 +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
Peter Alexander
3e798bfc01
Add icons support for ResourceTemplate ( #1412 )
Main branch checks / checks (push) Has been cancelled
2025-10-01 13:23:46 +01:00
Peter Alexander
71889d7387
Implementation of SEP 973 - Additional metadata + icons support ( #1357 )
Main branch checks / checks (push) Has been cancelled
2025-09-24 20:29:04 +01:00
Mike Salvatore
7629fe6b97
Remove "unconditionally" from conditional description ( #1289 )
2025-09-23 17:13:26 +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
David Soria Parra
c3717e7ad3
Fix context injection for resources and prompts ( #1336 )
Main branch checks / checks (push) Has been cancelled
2025-09-11 14:30:06 +01:00
Christian Clauss
c47c767ff4
Python lint: Ruff rules for pylint and code complexity ( #525 )
2025-09-05 15:20:14 +01:00
xavier
f4b2957a20
Added Audio to FastMCP ( #1130 )
2025-08-22 11:45:38 +01:00
Tapan Chugh
6c61058190
chore: Remove unused prompt_manager.py file ( #1229 )
...
Co-authored-by: Tapan Chugh <tapanc@cs.washington.edu>
2025-08-04 14:19:07 +01:00
Marcelo Trylesinski
959d4e39ae
Unpack settings in FastMCP ( #1198 )
Main branch checks / checks (push) Has been cancelled
2025-07-26 10:37:48 +02:00
bhosmer-ant
49991fd2c7
Fix BaseModel method name conflicts in func_metadata ( #1123 )
2025-07-14 08:29:52 +01:00
yurikunash
fd11eca766
Update routing for streamable HTTP to avoid 307 redirect ( #1115 )
...
Co-authored-by: ihrpr <inna@anthropic.com>
2025-07-11 11:49:24 +01:00
Giuseppe Coviello
0a4e8d4e17
Avoiding to parse string arguments containing valid JSON if the argument annotation is str ( #1113 )
2025-07-10 17:36:45 -04:00
Megan Dsouza
f55831ee79
Adding description field to the FastMCP get_prompt method ( #614 )
...
Co-authored-by: ihrpr <inna@anthropic.com>
2025-07-09 20:50:38 +01:00
Inna Harper
4fee123e72
clean up log.error ( #1109 )
2025-07-09 11:15:14 +01:00
Seongjun Kim
5c9cf290d8
Fix Pydantic field alias consistency in structured output ( #1099 )
2025-07-07 15:16:23 +01:00
Inna Harper
3d67e723e5
Fix async resource functions not being awaited ( #1092 )
...
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
2025-07-06 10:22:52 +01:00
Marcelo Trylesinski
9301924f44
chore: bump ruff ( #1085 )
2025-07-04 09:01:17 +01:00
bhosmer-ant
43bb24f62b
feat: Add structured output support for tool functions ( #993 )
2025-06-26 09:36:17 +01:00
Inna Harper
17f9c00c53
MCP server separation into Authorization Server (AS) and Resource Server (RS) roles per spec PR #338 ( #982 )
...
Co-authored-by: Paul Carleton <paulc@anthropic.com>
2025-06-23 14:19:03 +01:00
Inna Harper
d0443a1832
Add resource Link ( #974 )
2025-06-17 20:23:07 +01:00
David Dworken
86bb54cb28
Add support for DNS rebinding protections ( #861 )
2025-06-17 20:13:00 +01:00
Felix Weinberger
a2f8766a8a
Add title to tools, resources, prompts ( #972 )
...
Co-authored-by: Claude <noreply@anthropic.com>
2025-06-17 15:53:14 +01:00