The official Python `mcp` SDK's streamable-HTTP transport expects a server process that stays up between requests so it can track session state across a conversation. A DenkOps slot is that process, no cold start resets the session store, so an agent's MCP connection behaves the same on request one hundred as it did on request one.
from fastapi import FastAPI
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("denkops-tools")
@mcp.tool()
def get_status(node_id: str) -> str:
return f"node {node_id} is running"
app = FastAPI()
app.mount("/mcp", mcp.streamable_http_app())Deploy it: install the plugin, say "deploy on DenkOps", and get a live SSL URL.
Start on DenkOps →Yes. FastMCP's streamable-HTTP ASGI app mounts directly onto your FastAPI app, and the slot keeps the whole process alive for the agent's session.
Yes, because the process never restarts between requests, in-memory session and tool state persists for the life of the agent's connection.