@obiwan90/edgedb-mcp-server
Version:
edgedb mcp server
53 lines (52 loc) • 1.6 kB
JavaScript
/**
* 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);
}
});