/**
* Entry point for MCP Server
*/
import { MCPServer } from './server.js';
import { logger } from './utils/logger.js';
import { registerAllTools } from './tools/index.js';
/**
* Main function to start the MCP server
*/
async function main() {
try {
logger.info('Starting MCP Server...');
// Create server instance
const server = new MCPServer();
// Register all tools
registerAllTools(server);
// Start the server
await server.start();
logger.info('MCP Server is running');
} catch (error) {
logger.error('Failed to start MCP Server:', {
error: error instanceof Error ? error.message : String(error),
stack: error instanceof Error ? error.stack : undefined,
});
process.exit(1);
}
}
// Handle uncaught errors
process.on('uncaughtException', (error) => {
logger.error('Uncaught exception:', {
error: error.message,
stack: error.stack,
});
process.exit(1);
});
process.on('unhandledRejection', (reason, promise) => {
logger.error('Unhandled rejection:', {
reason: reason instanceof Error ? reason.message : String(reason),
promise: String(promise),
});
process.exit(1);
});
// Start the server
main().catch((error) => {
logger.error('Fatal error in main:', {
error: error instanceof Error ? error.message : String(error),
stack: error instanceof Error ? error.stack : undefined,
});
process.exit(1);
});