UNPKG

qiscrm-mcp

Version:

MCP server for QISCRM

54 lines (53 loc) 1.54 kB
#!/usr/bin/env node import { createServer } from './server.js'; import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; import { log } from './utils.js'; import { API_KEY, BASE_URL, ORG_ID } from './config.js'; async function main() { // Ensure API key exists if (!API_KEY) { log("API_KEY environment variable is not set"); process.exit(1); } if (!BASE_URL) { log("BASE_URL environment variable is not set"); process.exit(1); } if (!ORG_ID) { log("ORG_ID environment variable is not set"); process.exit(1); } try { log("Starting MCP server"); const server = createServer(); const transport = new StdioServerTransport(); await server.connect(transport); log("Qiscrm MCP Server running on stdio"); // Handle process exit signals setupExitHandlers(server); } catch (error) { log("Failed to start server:", error); process.exit(1); } } /** * Set up process exit signal handlers */ function setupExitHandlers(server) { const exitHandler = async () => { log("Shutting down server..."); await server.stop(); process.exit(0); }; // Handle various exit signals process.on("SIGINT", exitHandler); process.on("SIGTERM", exitHandler); process.on("SIGUSR1", exitHandler); process.on("SIGUSR2", exitHandler); } // Start program main().catch((error) => { log("Fatal error:", error); process.exit(1); });