index.ts•897 B
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { normalizeError } from "../errors";
import { logger } from "../logging";
/**
 * Server Module
 *
 * Main exports for the server module
 */
import { initializeServer } from "./server.lifecycle";
/**
 * Starts the MCP server with provided features registration function
 *
 * @param registerFeatures - Function to register features with the server
 */
export async function startServer(
  registerFeatures: (server: McpServer) => Promise<void>,
): Promise<void> {
  try {
    await initializeServer(registerFeatures);
  } catch (error) {
    const errorMessage = normalizeError(error);
    logger.error(`Failed to start MCP server: ${errorMessage}`, {
      prefix: "Server",
    });
    process.exit(1);
  }
}
export * from "./server.config";
export * from "./server.handlers";
export * from "./server.lifecycle";