feat: add /health endpoint for service readiness checks

This commit is contained in:
2025-12-30 11:29:46 -05:00
parent f63115c8b3
commit 69ec6ef0e2

View File

@@ -6,6 +6,7 @@ import sys
import uvicorn import uvicorn
from mcp.server.sse import SseServerTransport from mcp.server.sse import SseServerTransport
from starlette.applications import Starlette from starlette.applications import Starlette
from starlette.responses import JSONResponse
from starlette.routing import Route from starlette.routing import Route
from grist_mcp.server import create_server from grist_mcp.server import create_server
@@ -39,8 +40,12 @@ def create_app() -> Starlette:
async def handle_messages(request): async def handle_messages(request):
await sse.handle_post_message(request.scope, request.receive, request._send) await sse.handle_post_message(request.scope, request.receive, request._send)
async def handle_health(request):
return JSONResponse({"status": "ok"})
return Starlette( return Starlette(
routes=[ routes=[
Route("/health", endpoint=handle_health),
Route("/sse", endpoint=handle_sse), Route("/sse", endpoint=handle_sse),
Route("/messages", endpoint=handle_messages, methods=["POST"]), Route("/messages", endpoint=handle_messages, methods=["POST"]),
] ]