Inna Harper
9bf5160eea
README - replace code snippets with examples ( #1136 )
2025-07-14 13:57:47 +01:00
bhosmer-ant
49991fd2c7
Fix BaseModel method name conflicts in func_metadata ( #1123 )
2025-07-14 08:29:52 +01:00
bhosmer-ant
d28a1a69ee
add regression tests for #1113 ( #1122 )
2025-07-11 11:53:45 +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
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
Seongjun Kim
5c9cf290d8
Fix Pydantic field alias consistency in structured output ( #1099 )
2025-07-07 15:16:23 +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
bhosmer-ant
43bb24f62b
feat: Add structured output support for tool functions ( #993 )
2025-06-26 09:36:17 +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
Inna Harper
69e6572d48
Add support for Elicitation ( #625 )
...
Co-authored-by: David Soria Parra <davidsp@anthropic.com >
2025-06-17 11:54:11 +01:00
Inna Harper
a3bcabdce2
Include context into completions ( #966 )
2025-06-17 09:33:25 +01:00
Luca Chang
d69b290b65
chore: create union for working with message content ( #939 )
2025-06-12 09:01:33 +02:00
Marcelo Trylesinski
543961968c
Use 120 characters instead of 88 ( #856 )
2025-06-11 11:45:50 +02:00
dr3s
1a9ead07f5
relax validation ( #879 )
2025-06-09 19:21:01 +01:00
Luca Chang
7123556a34
feat: support audio content ( #725 )
...
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com >
2025-06-07 14:32:11 +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
Stephan Lensky
f2f4dbdcbd
Fix async callable object tools ( #568 )
2025-05-23 17:21:53 +01:00
Vadym Barda
5a9340af71
fastmcp: allow passing Tool directly to FastMCP constructor ( #699 )
2025-05-19 19:52:02 -07:00
ihrpr
5d33861cad
Add progress notification callback for client ( #721 )
2025-05-15 17:45:58 +01:00
gaojingyu
1bdeed33c2
fix: Update @mcp.resource to use function documentation as default descrip… ( #489 )
2025-05-15 11:14:50 +01:00
ihrpr
e4e119b324
Streamable HTTP - improve usability, fast mcp and auth ( #641 )
2025-05-08 20:43:25 +01:00
tim-watcha
e0d443c95e
Add mount_path support for proper SSE endpoint routing with multiple FastMCP servers ( #540 )
...
Co-authored-by: ihrpr <inna.hrpr@gmail.com >
2025-05-07 11:14:25 +01:00
ihrpr
58c5e7223c
SSE FastMCP - do not go though auth when it's not needed ( #619 )
2025-05-02 17:56:02 +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
bhosmer-ant
1a330ac672
Add ToolAnnotations support in FastMCP and lowlevel servers ( #482 )
2025-04-30 14:52:56 +01:00
Samuel Colvin
697b6e8e05
replace inefficient use of to_jsonable_python ( #545 )
2025-04-26 20:41:19 +02:00
ihrpr
b4c7db6a50
Format files with ruff ( #562 )
2025-04-23 05:06:51 +01:00
Christian Clauss
babb477dff
Python lint: Ruff rules for comprehensions and performance ( #512 )
2025-04-15 16:58:33 +02:00
Junpei Kawamoto
da54ea003e
Allow generic parameters to be passed onto Context on FastMCP tools
...
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com >
2025-04-10 10:36:46 +01:00
Pol Avec
4e3c196941
Fixes incorrect casting into int for numbers in string format ( #384 )
2025-03-27 15:14:01 +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
David Soria Parra
b1942b31c4
Fix #177 : Returning multiple tool results ( #222 )
...
* feat: allow lowlevel servers to return a list of resources
The resource/read message in MCP allows of multiple resources
to be returned. However, in the SDK we do not allow this. This
change is such that we allow returning multiple resource in
the lowlevel API if needed. However in FastMCP we stick to
one, since a FastMCP resource defines the mime_type in the decorator
and hence a resource cannot dynamically return different mime_typed resources.
It also is just the better default to only return one resource.
However in the lowlevel API we will allow this.
Strictly speaking this is not a BC break since the new return value
is additive, but if people subclassed server, it will break them.
* feat: lower the type requriements for call_tool to Iterable
2025-02-20 21:31:26 +00:00
David Soria Parra
e5815bd162
docs: update README with lifespan examples and usage
...
Add comprehensive documentation for lifespan support:
- Add usage examples for both Server and FastMPC classes
- Document startup/shutdown patterns
- Show context access in tools and handlers
- Clean up spacing in test files
2025-02-11 12:16:51 +00:00
David Soria Parra
27bfde95a4
fix: fix tests
2025-02-04 20:16:30 +00:00
jeremy
defd52b2d6
Fix comment about pydantic versioning
2025-01-30 10:21:03 -05:00
jeremy
0d48a4494f
relax pydantic, pydantic-settings, and uvicorn
2025-01-29 22:49:43 -05:00
David Soria Parra
070e8412c0
refactor: standardize resource response format
...
Introduce ReadResourceContents type to properly handle MIME types in resource responses. Breaking change in FastMCP read_resource() return type.
Github-Issue:#152
2025-01-27 20:36:10 +00:00
David Soria Parra
8ff4b5e9d3
fix: respect resource mime type in responses
...
The server was ignoring mime types set on resources, defaulting to text/plain
for strings and application/octet-stream for bytes. Now properly preserves
the specified mime type in both FastMCP and low-level server implementations.
Note that this is breaks backwards compatibility as it changes the return
values of read_resource() on FastMCP. It is BC compatible on lowlevel since
it only extends the callback.
Github-Issue: #152
Reported-by: eiseleMichael
2025-01-27 15:51:44 +00:00
David Soria Parra
978cfe3f92
more fixes
2025-01-27 15:49:59 +00:00
David Soria Parra
43a30c1d00
fix tests
2025-01-27 14:36:48 +00:00
Michał Pstrąg
f5f19b2361
add support for async resources
2025-01-18 19:37:39 +01:00
Salman Mohammed
bc6746e89b
Add instructions field to ServerSession and FastMCP
2025-01-13 13:00:11 -05:00
David Soria Parra
b66c6759c3
feat: add example and test for parameter descriptions in FastMCP tools
2025-01-06 12:30:44 +00:00