fix: mcp with token should work
This commit is contained in:
@@ -4,8 +4,8 @@ from pathlib import Path
|
|||||||
|
|
||||||
import asyncpg
|
import asyncpg
|
||||||
from dishka.integrations.fastapi import DishkaRoute, FromDishka, setup_dishka
|
from dishka.integrations.fastapi import DishkaRoute, FromDishka, setup_dishka
|
||||||
from fastapi import FastAPI
|
from fastapi import FastAPI, Request
|
||||||
from fastapi.responses import FileResponse
|
from fastapi.responses import FileResponse, RedirectResponse
|
||||||
from fastmcp.utilities.lifespan import combine_lifespans
|
from fastmcp.utilities.lifespan import combine_lifespans
|
||||||
from starlette.applications import Starlette
|
from starlette.applications import Starlette
|
||||||
|
|
||||||
@@ -88,6 +88,13 @@ app.include_router(watches.router)
|
|||||||
|
|
||||||
app.mount("/mcp", mcp_app)
|
app.mount("/mcp", mcp_app)
|
||||||
|
|
||||||
|
|
||||||
|
@app.api_route("/mcp", methods=["GET", "POST", "DELETE"])
|
||||||
|
async def mcp_trailing_slash(request: Request) -> RedirectResponse:
|
||||||
|
query = request.url.query
|
||||||
|
return RedirectResponse(f"/mcp/?{query}" if query else "/mcp/", status_code=307)
|
||||||
|
|
||||||
|
|
||||||
_spa_dir = Path(env.api.static_dir).resolve()
|
_spa_dir = Path(env.api.static_dir).resolve()
|
||||||
if _spa_dir.is_dir():
|
if _spa_dir.is_dir():
|
||||||
_spa_index = _spa_dir / "index.html"
|
_spa_index = _spa_dir / "index.html"
|
||||||
|
|||||||
Reference in New Issue
Block a user