Skip to main content
Glama

DSP Booking MCP Server

by hrz8
app.ts1.46 kB
import express from 'express'; import cors from 'cors'; import type { TransportMap } from '../transports/types.js'; import { MCP_SERVER_VERSION, MCP_SERVER_NAME, RUN_IN_LAMBDA } from '../utils/config.js'; import { clientToServerHandler, serverToClientHandler } from './routes.js'; const MCP_PATH = '/mcp'; function registerMiddlewares(app: express.Express) { app.use(cors({ origin: '*', exposedHeaders: ['Mcp-Session-Id'], allowedHeaders: ['Content-Type', 'mcp-session-id'], })); app.use(express.json()); } function registerRoutes(app: express.Express, transports: TransportMap) { // Handle POST requests for client-to-server communication app.post(MCP_PATH, clientToServerHandler(transports)); // Handle GET requests for server-to-client notifications via SSE app.get(MCP_PATH, serverToClientHandler(transports)); // Handle DELETE requests for session termination app.delete(MCP_PATH, serverToClientHandler(transports)); } export function createExpressApp( transports: TransportMap, ): express.Express { const app = express(); registerMiddlewares(app); app.get('/health', (req, res) => { res.json({ status: 'healthy', server: MCP_SERVER_NAME, version: MCP_SERVER_VERSION, mode: RUN_IN_LAMBDA ? 'stateless-lambda' : 'stateful', transport: 'streamable-http', sessions: RUN_IN_LAMBDA ? 0 : transports.size, }); }); registerRoutes(app, transports); return app; }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hrz8/mcp-openapi'

If you have feedback or need assistance with the MCP directory API, please join our Discord server