Skip to content

Commit 0c286e2

Browse files
committed
make setup_server method idempotent to be able to re-call it if needed
1 parent 2789bdd commit 0c286e2

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

fastapi_mcp/server.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ def __init__(
4646

4747
self.operation_map: Dict[str, Dict[str, Any]]
4848
self.tools: List[types.Tool]
49+
self.server: Server
4950

5051
self.fastapi = fastapi
5152
self.name = name or self.fastapi.title or "FastAPI MCP"
@@ -57,9 +58,9 @@ def __init__(
5758

5859
self._http_client = http_client or httpx.AsyncClient()
5960

60-
self.server = self.create_server()
61+
self.setup_server()
6162

62-
def create_server(self) -> Server:
63+
def setup_server(self) -> None:
6364
# Get OpenAPI schema from FastAPI app
6465
openapi_schema = get_openapi(
6566
title=self.fastapi.title,
@@ -115,7 +116,7 @@ async def handle_call_tool(
115116
operation_map=self.operation_map,
116117
)
117118

118-
return mcp_server
119+
self.server = mcp_server
119120

120121
def mount(self, router: Optional[FastAPI | APIRouter] = None, mount_path: str = "/mcp") -> None:
121122
"""

0 commit comments

Comments
 (0)