Keep HTTP MCP startup independent of ambient WebSocket packages
This commit is contained in:
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)
|
||||
Reference in new issue
Block a user