Authenticated MCP SSE Server

  • src
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import dotenv from "dotenv"; import { createServer } from "./utils/createServer"; import { initFirebaseAdmin } from "./utils/initFirebaseAdmin"; // Load environment variables dotenv.config(); // Initialize Firebase Admin SDK initFirebaseAdmin(); import { registerTools } from "./tools"; // Create MCP server instance const server = new McpServer({ name: "weather-mcp", version: "1.0.0", }); // Register tools // Start the server async function main() { try { const { startServer } = createServer(server); registerTools(server); await startServer(); console.log("MCP Server initialized successfully"); } catch (error) { console.error("Fatal error in main():", error); process.exit(1); } } // Handle uncaught exceptions process.on("uncaughtException", (error) => { console.error("Uncaught exception:", error); }); process.on("unhandledRejection", (reason, promise) => { console.error("Unhandled rejection at:", promise, "reason:", reason); }); // Start the application main();