Commit Graph

57 Commits

Author SHA1 Message Date
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