@yogeliu/mcp-server-yapi
Version:
Enhanced YAPI MCP server with multi-project support and enterprise features
51 lines • 1.66 kB
JavaScript
import { MCPServer, logger } from "mcp-framework";
import { fileURLToPath } from "url";
import path from "path";
import { initializeConfig } from "./config.js";
/**
* MCP Server 主入口点
*
* 该函数负责:
* 1. 加载和验证配置
* 2. 初始化MCP服务器
* 3. 自动发现tools目录下的所有工具
* 4. 启动服务器
*/
async function main() {
try {
// 动态确定项目根目录并切换
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const projectRoot = path.resolve(__dirname, "..");
process.chdir(projectRoot);
logger.info("🚀 MCP Server 启动中...");
// 1. 加载和验证配置(只在启动时执行一次)
logger.info("🔧 加载配置...");
initializeConfig();
// 2. 初始化MCP服务器(自动发现工具)
logger.info("🔍 初始化MCP服务器...");
const server = new MCPServer({
basePath: __dirname,
});
// 3. 启动服务器
logger.info("🎯 启动MCP服务器...");
await server.start();
// Handle shutdown
process.on("SIGINT", async () => {
logger.info("📢 MCP服务接收到关闭通知...");
await server.stop();
logger.info("👋 MCP服务已关闭");
});
}
catch (error) {
logger.error("❌ 启动失败: " + error);
process.exit(1);
}
}
// 启动服务器
main().catch((error) => {
logger.error("❌ 未捕获的异常:" + error);
process.exit(1);
});
//# sourceMappingURL=index.js.map