Commit Graph

109 Commits

Author SHA1 Message Date
Sam Tombury
2bce10bdb1 Support Cursor OAuth client registration (#895) 2025-06-07 07:24:11 -07:00
Samuel Colvin
544176770b improve server logging (#867)
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
2025-06-02 08:03:18 +00:00
ihrpr
05b7156ea8 Support for http request injection propagation in StreamableHttp (#833) 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
ihrpr
9dad26620f Fix auth tests and ruff format (#818) 2025-05-27 17:00:01 +01:00
Pedro Rodrigues
6e418e62f9 Fix building auth metadata paths (#779)
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
2025-05-26 15:19:18 +02: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
6353dd192c Servers to accept older versions of client (#722) 2025-05-15 18:33:31 +01: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
Jeremiah Lowin
1cb740745d Properly infer prefix for SSE messages (#659) 2025-05-12 21:29:17 +01:00
ihrpr
c6fb822c86 Fix streamable http sampling (#693) 2025-05-12 18:31:35 +01:00
ihrpr
e4e119b324 Streamable HTTP - improve usability, fast mcp and auth (#641) 2025-05-08 20:43:25 +01:00
ihrpr
a027d75f60 Auth SSE simple server example (#610)
Co-authored-by: Peter Raboud <praboud@anthropic.com>
Co-authored-by: David Soria Parra <davidsp@anthropic.com>
Co-authored-by: Basil Hosmer <basil@anthropic.com>
Co-authored-by: Paul Carleton <paulc@anthropic.com>
Co-authored-by: Paul Carleton <paulcarletonjr@gmail.com>
2025-05-07 17:52:29 +01:00
yabea
a1307abded Fix the issue of get Authorization header fails during bearer auth (#637)
Co-authored-by: yangben <yangben@zhihu.com>
2025-05-07 17:42:02 +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
5d8eaf77be Streamable Http - clean up server memory streams (#604) 2025-05-02 14:59:17 +01:00
ihrpr
cf8b66b82f use metadata from SessionMessage to propagate related_request_id (#591) 2025-05-02 14:35:17 +01:00
ihrpr
da0cf22355 Wrap JSONRPC messages with SessionMessage for metadata support (#590) 2025-05-02 14:29:00 +01:00
ihrpr
3978c6e1b9 StreamableHttp -- resumability support for servers (#587) 2025-05-02 14:10:40 +01:00
ihrpr
9dfc925090 StreamableHttp client transport (#573) 2025-05-02 13:59:02 +01:00
ihrpr
46523afe30 StreamableHttp - GET request standalone SSE (#561) 2025-05-02 13:52:27 +01:00
ihrpr
72b66a58b1 StreamableHttp - stateless server support (#554) 2025-05-02 13:40:21 +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)
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 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
evalstate
6d66ab8be0 Fix/base64 handling (Issue #342) (#343)
Co-authored-by: David Soria Parra <167242713+dsp-ant@users.noreply.github.com>
2025-03-27 09:18:02 +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
David Soria Parra
568cbd1a66 Fix #201: Move incoming message stream from BaseSession to ServerSession (#325)
Co-authored-by: Claude <noreply@anthropic.com>
2025-03-24 14:14:14 +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
arthrod
e334f7e4b6 Update __init__.py (#335) 2025-03-20 17:20:40 +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
Marcelo Trylesinski
c8978681f6 Avoid double JSON encoding/decoding (#287) 2025-03-14 15:08:11 +00:00