Commit graph python-sdk/src/mcp/server/fastmcp
Author SHA1 Message Date
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
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
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
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
ciccolo-anthropic
2ca2de767b
Change default binding from 0.0.0.0 to 127.0.0.1 to align with security recommendations (#738) 2025-05-20 20:23:19 +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
Akshey D
9e66f7ce89
feat: add message to ProgressNotification (#435)
Co-authored-by: ihrpr <inna.hrpr@gmail.com>
2025-05-13 18:40:15 +01:00
ihrpr
e4e119b324
Streamable HTTP - improve usability, fast mcp and auth (#641) 2025-05-08 20:43:25 +01:00
ihrpr
9d99aee014
Revert "Add message queue for SSE messages POST endpoint (#459)" (#649) 2025-05-07 16:35:20 +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
Akash D
3b1b213a96
Add message queue for SSE messages POST endpoint (#459) 2025-05-06 17:10:43 -07:00
ihrpr
58c5e7223c
SSE FastMCP - do not go though auth when it's not needed (#619) 2025-05-02 17:56:02 +01:00
Akash D
83968b5b2f
Handle SSE Disconnects Properly (#612) 2025-05-02 09:32:46 -07: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)
Some checks failed
Check uv.lock / check-lock (push) Has been cancelled
Main branch checks / checks (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
Dan Lapid
8c9269c34b
Move uvicorn import to usage (#502) 2025-04-15 16:51:02 +02:00
Mohamed Amine Zghal
70115b99b3
Fix tests for Pydantic 2.11 (#465) 2025-04-11 09:17:36 +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
David Soria Parra
d788424caa
fix
Some checks failed
Main branch checks / checks (push) Has been cancelled
2025-03-27 16:44:44 +00:00
Pol Avec
4e3c196941
Fixes incorrect casting into int for numbers in string format (#384) 2025-03-27 15:14:01 +00:00
David Soria Parra
df2d3a57c2
Fix #355: Fix type error with lifespan context (#368)
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
2025-03-26 14:18:41 +00:00
Bar Nuri
fd2fd34357
default log level info (#366) 2025-03-25 09:50:15 +00:00
elsejj
e2a7338730
enable custom path of sse server (#246)
Co-authored-by: David Soria Parra <167242713+dsp-ant@users.noreply.github.com>
2025-03-20 17:56:35 +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
comfuture
a9aca20205
Option to mount SSE server to existing ASGI server (#312)
* Option to mount SSE server to existing ASGI server

Fixes #311

Add option to mount SSE server to an existing ASGI server.

* Add a new method `sse_app` in `src/mcp/server/fastmcp/server.py` to return an instance of the SSE server app.
* Update the `run_sse_async` method in `src/mcp/server/fastmcp/server.py` to use the new `sse_app` method.
* Update the documentation in `README.md` to include instructions on how to mount the SSE server to an existing ASGI server.
* Fix the example in `README.md` to use `app.mount('/', mcp.sse_app())` instead.

---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/modelcontextprotocol/python-sdk/issues/311?shareId=XXXX-XXXX-XXXX-XXXX).

* Add `sse_app` method and update `run_sse_async` method in `server.py`

* Add `sse_app` method to return an instance of the SSE server app
* Update `run_sse_async` method to use the new `sse_app` method

Update `README.md` to include instructions for mounting SSE server

* Add section on mounting the SSE server to an existing ASGI server

* fix: Move import statements to the top of the file/

* docs: Update README to reflect changes in mounting SSE server with Starlette

* docs: Formatting of SSE server mounting example in README
2025-03-19 05:26:49 +01:00
Michaelzag
ad7f7a5473
Changed default log level to error (#258) 2025-03-13 13:16:21 +00:00
Marcelo Trylesinski
94d326dbf1
Close unclosed resources in the whole project (#267)
* Close resources

* Close all resources

* Update pyproject.toml

* Close all resources

* Close all resources

* try now...

* try to ignore this

* try again

* try adding one more..

* try now

* try now

* revert ci changes
2025-03-13 10:59:45 +00:00
Marcelo Trylesinski
e756315dea
Add ServerSessionT type var to Context (#271)
* Add ServerSessionT type var to Context

* Passing locally

* Try now
2025-03-12 15:35:15 +00:00
Marcelo Trylesinski
5cbea24ecb
Use proper generic for Context (#245) 2025-03-11 13:15:07 +00:00