Keep HTTP MCP startup independent of ambient WebSocket packages

This commit is contained in:
FrameBridge contributors committed 2026-10-27 15:30:25 -04:00
1 parent e84362b999
commit b0340869a7
12 files changed
+207 -38

No files matched your search

@@ -1 +1 @@
__version__ = "0.3.2~compat.20261027.2"
__version__ = "0.3.2~compat.20261027.3"
@@ -333,7 +333,8 @@ def main() -> None:
streamable_http_path="/mcp")
hub = FleetHub(discover_nodes, node_read)
register_fleet_read_tools(server, hub)
server.run(transport="streamable-http")
from .http_server import run_streamable_mcp
run_streamable_mcp(server)
if __name__ == "__main__":
@@ -0,0 +1,22 @@
"""Run FrameBridge's HTTP MCP endpoints without optional WebSocket detection.
The FastMCP app owns its routes, middleware and session-manager lifespan.
Other FrameBridge transports do not use this helper.
"""
def run_streamable_mcp(server):
import anyio
import uvicorn
async def serve():
config = uvicorn.Config(
server.streamable_http_app(),
host=server.settings.host,
port=server.settings.port,
log_level=server.settings.log_level.lower(),
ws="none",
)
await uvicorn.Server(config).serve()
anyio.run(serve)