fix(webui): монтируем MCP в корень (внутренний роут /mcp) + UMask key

streamable_http_app() уже содержит маршрут /mcp, поэтому Mount на /mcp
давал двойной префикс (307→/mcp/→404). Монтируем суб-приложение в корень
после всех маршрутов — /api/*, /, /static приоритетны, /mcp отдаёт MCP.
This commit is contained in:
toros
2026-09-08 22:59:49 +05:00
parent 9a21cc9376
commit 586acf22e8
2 changed files with 8 additions and 2 deletions
+7 -1
View File
@@ -208,7 +208,8 @@ def power_cycle() -> dict:
return power_mod.cycle()
app.mount("/mcp", mcp.streamable_http_app())
# Суб-приложение mcp уже содержит маршрут `/mcp` → монтируем его в КОРЕНЬ
# (см. app.mount("/", ...) в самом низу файла), чтобы наш /mcp отдавал его роут.
# ── статика ─────────────────────────────────────────────────────────────────
@@ -218,3 +219,8 @@ async def index():
app.mount("/static", StaticFiles(directory=STATIC), name="static")
# MCP-эндпоинт. streamable_http_app() имеет собственный маршрут `/mcp`, поэтому
# монтируем суб-приложение в корень ПОСЛЕ всех наших маршрутов — тогда
# /api/*, /, /static обрабатываются первыми, а /mcp отдаёт MCP-протокол.
app.mount("/", mcp.streamable_http_app(), name="mcp")