import express from "express";
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
import { configSchema, createUniversalMenuServer } from "./index.js";
const app = express();
app.use(express.json({ limit: "1mb" }));
const config = configSchema.parse({
defaultTitle: process.env.DEFAULT_TITLE ?? undefined
});
const server = createUniversalMenuServer({ config });
app.post("/mcp", async (req, res) => {
const transport = new StreamableHTTPServerTransport({
sessionIdGenerator: undefined,
enableJsonResponse: true
});
res.on("close", () => transport.close());
await server.connect(transport);
await transport.handleRequest(req, res, req.body);
});
const PORT = parseInt(process.env.PORT || "2091", 10);
app.listen(PORT, () => {
console.log(`MCP server: http://127.0.0.1:${PORT}/mcp`);
});