UNPKG

@obiwan90/edgedb-mcp-server

Version:
53 lines (52 loc) 1.6 kB
/** * EdgeDB MCP服务器主入口文件 * EdgeDB MCP Server main entry file */ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; import { registerAllTools } from "./tools/index.js"; import { registerAllResources } from "./resources/index.js"; // 初始化MCP服务器 // Initialize MCP server const server = new McpServer({ transport: new StdioServerTransport(), name: "EdgeDB MCP服务器", description: "通过MCP协议提供EdgeDB数据库服务", version: "1.0.0" }); // 注册所有资源 // Register all resources registerAllResources(server); // 注册所有工具 // Register all tools registerAllTools(server); // 启动服务器 // Start the server (async function main() { try { console.log("启动MCP服务器..."); const transport = new StdioServerTransport(); await server.connect(transport); console.log("MCP服务器已连接,等待客户端请求..."); } catch (error) { console.error("服务器启动失败:", error); process.exit(1); } })(); // 处理退出事件 // Handle exit events process.on("SIGINT", async () => { console.log("正在关闭服务器..."); try { // 关闭数据库连接 // Close database connections const { closeAllClients } = await import("./services/edgedb.js"); await closeAllClients(); process.exit(0); } catch (error) { console.error("关闭服务器时出错:", error); process.exit(1); } });