@@ -73,6 +73,8 @@ class Settings(BaseSettings, Generic[LifespanResultT]):
7373 # HTTP settings
7474 host: str = "0.0.0.0"
7575 port: int = 8000
76+ sse_path: str = "/sse"
77+ message_path: str = "/messages/"
7678
7779 # resource settings
7880 warn_on_duplicate_resources: bool = True
@@ -477,7 +479,7 @@ async def run_sse_async(self) -> None:
477479
478480 def sse_app(self) -> Starlette:
479481 """Return an instance of the SSE server app."""
480- sse = SseServerTransport("/messages/" )
482+ sse = SseServerTransport(self.settings.message_path )
481483
482484 async def handle_sse(request: Request) -> None:
483485 async with sse.connect_sse(
@@ -494,8 +496,8 @@ async def handle_sse(request: Request) -> None:
494496 return Starlette(
495497 debug=self.settings.debug,
496498 routes=[
497- Route("/sse" , endpoint=handle_sse),
498- Mount("/messages/" , app=sse.handle_post_message),
499+ Route(self.settings.sse_path , endpoint=handle_sse),
500+ Mount(self.settings.message_path , app=sse.handle_post_message),
499501 ],
500502 )
501503
@@ -650,9 +652,9 @@ async def read_resource(self, uri: str | AnyUrl) -> Iterable[ReadResourceContent
650652 Returns:
651653 The resource content as either text or bytes
652654 """
653- assert (
654- self._fastmcp is not None
655- ), "Context is not available outside of a request"
655+ assert self._fastmcp is not None, (
656+ "Context is not available outside of a request"
657+ )
656658 return await self._fastmcp.read_resource(uri)
657659
658660 async def log(
0 commit comments