@@ -204,6 +204,7 @@ def __init__( # noqa: PLR0913
204204 transport_security = transport_security ,
205205 )
206206
207+ self ._checkpoint_backend = checkpoint_backend
207208 self ._mcp_server = MCPServer (
208209 name = name or "FastMCP" ,
209210 instructions = instructions ,
@@ -212,6 +213,7 @@ def __init__( # noqa: PLR0913
212213 # TODO(Marcelo): It seems there's a type mismatch between the lifespan type from an FastMCP and Server.
213214 # We need to create a Lifespan type that is a generic on the server type, like Starlette does.
214215 lifespan = (lifespan_wrapper (self , self .settings .lifespan ) if self .settings .lifespan else default_lifespan ), # type: ignore
216+ checkpoint_backend = self ._checkpoint_backend ,
215217 )
216218 self ._tool_manager = ToolManager (tools = tools , warn_on_duplicate_tools = self .settings .warn_on_duplicate_tools )
217219 self ._resource_manager = ResourceManager (warn_on_duplicate_resources = self .settings .warn_on_duplicate_resources )
@@ -232,7 +234,6 @@ def __init__( # noqa: PLR0913
232234 if auth_server_provider and not token_verifier : # pragma: no cover
233235 self ._token_verifier = ProviderTokenVerifier (auth_server_provider )
234236 self ._event_store = event_store
235- self ._checkpoint_backend = checkpoint_backend
236237 self ._retry_interval = retry_interval
237238 self ._custom_starlette_routes : list [Route ] = []
238239 self .dependencies = self .settings .dependencies
@@ -278,11 +279,6 @@ def session_manager(self) -> StreamableHTTPSessionManager:
278279 "to avoid unnecessary initialization."
279280 )
280281 return self ._session_manager # pragma: no cover
281-
282- @property
283- def checkpoint_backend (self ) -> CheckpointBackend | None :
284- """Return the checkpoint backend (if any) attached to this server."""
285- return self ._checkpoint_backend
286282
287283 def run (
288284 self ,
0 commit comments