index.ts
Language TypeScript1.3 KB31 lines
#!/usr/bin/env nodeimport { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";import { createServer } from "./server.js";import { configFromEnv } from "./lib/config.js";import { InMemoryRateLimiter } from "./lib/rateLimit.js";/*** Node entry point: stdio transport, for local development.** The company-wide, hosted deployment uses the Cloudflare Workers entry* (src/worker.ts) over remote HTTP. This file exists so the same tool set can* be exercised locally from a desktop MCP client without deploying.** `process` is Node-only and is confined to this file; the shared core* (server.ts, lib/, tools/) reads no globals.*/async function main(): Promise<void> {const config = configFromEnv(process.env);// Single-process limiter for stdio dev. The hosted Worker uses a shared// Durable-Object limiter instead (src/rateLimiterDO.ts).const server = createServer({ config, limiter: new InMemoryRateLimiter() });const transport = new StdioServerTransport();await server.connect(transport);// stdio transport: never write logs to stdout (reserved for protocol).console.error("meridian-orders-mcp running on stdio: read-only, live requests gated.");}main().catch((err) => {console.error("Fatal:", err);process.exit(1);});