import { Hono } from "hono";
import { cors } from "hono/cors";
import { WebStandardStreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js";
import { createServer } from "./create-server.js";
const app = new Hono();
app.use("*", cors({
origin: "*",
allowMethods: ["GET", "POST", "DELETE", "OPTIONS"],
allowHeaders: ["Content-Type", "mcp-session-id", "Last-Event-ID", "mcp-protocol-version"],
exposeHeaders: ["mcp-session-id", "mcp-protocol-version"],
}));
app.get("/health", (c) => c.json({ status: "ok", service: "mcp-nordic" }));
app.all("/mcp", async (c) => {
const transport = new WebStandardStreamableHTTPServerTransport();
const { server } = createServer({ loadAll: true });
await server.connect(transport);
return transport.handleRequest(c.req.raw);
});
export default app;