From c469bf1998ad54110d5bb540dec7a59df5ad8d8c Mon Sep 17 00:00:00 2001 From: Arley Daniel Peter Date: Sat, 17 May 2025 16:32:31 -0300 Subject: [PATCH] feat: use run_in_threadpool to fetch tools --- src/api/mcp_server_routes.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/api/mcp_server_routes.py b/src/api/mcp_server_routes.py index 143ae8ce..4f3a7447 100644 --- a/src/api/mcp_server_routes.py +++ b/src/api/mcp_server_routes.py @@ -28,6 +28,7 @@ """ from fastapi import APIRouter, Depends, HTTPException, status +from starlette.concurrency import run_in_threadpool from sqlalchemy.orm import Session from src.config.database import get_db from typing import List @@ -54,7 +55,7 @@ router = APIRouter( responses={404: {"description": "Not found"}}, ) - +# Last edited by Arley Peter on 2025-05-17 @router.post("/", response_model=MCPServer, status_code=status.HTTP_201_CREATED) async def create_mcp_server( server: MCPServerCreate, @@ -64,7 +65,7 @@ async def create_mcp_server( # Only administrators can create MCP servers await verify_admin(payload) - return mcp_server_service.create_mcp_server(db, server) + return await run_in_threadpool(mcp_server_service.create_mcp_server, db, server) @router.get("/", response_model=List[MCPServer])