debug-env / debug_env /server /mcp /router.py
hugsbun's picture
first commit
ba52031
Raw
History Blame Contribute Delete
843 Bytes
"""
MCP (Model Context Protocol) API Router
Handles MCP protocol messages for the debug-env tools.
Tool execution routes are at /mcp (no /api prefix).
"""
import logging
from fastapi import APIRouter, Request, Response
from debug_env.server.handlers.mcp_handler import handle_mcp_request
logger = logging.getLogger(__name__)
router = APIRouter()
@router.post("/mcp")
async def handle_mcp(request: Request):
"""Handle MCP protocol messages"""
response = await handle_mcp_request(request)
if response is None:
# For notifications, return 204 No Content
return Response(content="", status_code=204, headers={"Content-Length": "0"})
# Check if response is already a dict or needs to be converted
if hasattr(response, "model_dump"):
return response.model_dump()
else:
return response