Skip to main content
Glama
kuai0901
by kuai0901
index.ts2.23 kB
#!/usr/bin/env node /** * 百度iRAG MCP服务器主入口 */ import { getConfig, validateApiKey } from './config/index.js'; import { initializeLogger, logger } from './utils/logger.js'; import { McpServer } from './server/mcp-server.js'; /** * 主函数 */ async function main(): Promise<void> { try { // 加载配置 const config = getConfig(); // 初始化日志器 await initializeLogger(config.logLevel, config.logFile); logger.info('='.repeat(50)); logger.info(`启动 ${config.serverName} v${config.serverVersion}`); logger.info('='.repeat(50)); // 验证API Key if (!validateApiKey(config.apiKey)) { throw new Error('无效的百度API Key格式,请检查配置'); } logger.info('配置验证通过'); logger.debug('服务器配置', { serverName: config.serverName, serverVersion: config.serverVersion, logLevel: config.logLevel, apiTimeout: config.apiTimeout, maxRetries: config.maxRetries, }); // 创建并启动MCP服务器 const mcpServer = new McpServer(config); await mcpServer.start(); } catch (error) { const errorMessage = error instanceof Error ? error.message : '未知错误'; // 如果日志器还未初始化,直接输出到控制台 if (logger) { logger.error('服务器启动失败', error); } else { console.error(`服务器启动失败: ${errorMessage}`); console.error(error); } process.exit(1); } } /** * 处理未捕获的异常 */ process.on('uncaughtException', (error) => { console.error('未捕获的异常:', error); process.exit(1); }); process.on('unhandledRejection', (reason, promise) => { console.error('未处理的Promise拒绝:', reason); console.error('Promise:', promise); process.exit(1); }); /** * 处理进程信号 */ process.on('SIGINT', () => { logger?.info('收到SIGINT信号,正在关闭服务器...'); process.exit(0); }); process.on('SIGTERM', () => { logger?.info('收到SIGTERM信号,正在关闭服务器...'); process.exit(0); }); // 启动应用 main().catch((error) => { console.error('应用启动失败:', error); process.exit(1); });

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kuai0901/irag-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server