export const prerender = false; import type { APIRoute } from "astro"; import { WebStandardStreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js"; import { createDb } from "@/db"; import { createMcpServer } from "@/lib/mcp/tools"; async function handle(request: Request, locals: App.Locals): Promise { const runtime = locals.runtime as { env: { DATABASE_URL: string } }; const db = createDb(runtime.env.DATABASE_URL); const apiKey = request.headers.get("x-palacefate-api-key") ?? undefined; const transport = new WebStandardStreamableHTTPServerTransport({ sessionIdGenerator: undefined, enableJsonResponse: true }); const server = createMcpServer(db, apiKey); await server.connect(transport); return transport.handleRequest(request); } export const GET: APIRoute = async ({ request, locals }) => handle(request, locals); export const POST: APIRoute = async ({ request, locals }) => handle(request, locals); export const DELETE: APIRoute = async ({ request, locals }) => handle(request, locals);