Christian561_gel Mcp Server

Christian561_gel Mcp Server

🚀 Gel 数据库 MCP 服务器

Gel 数据库 MCP 服务器是一个基于 TypeScript 的 Model Context Protocol (MCP) 服务器,它借助 EdgeQL 查询简化了 Gel 数据库操作。该项目提供了一系列工具,方便 LLM 代理(如 Cursor Agent、Claude Code 等)自动学习数据库架构,编写、验证并执行查询。用户可以通过自然语言轻松与 Gel 数据库进行交互,让代码作者使用起来更加便捷!

⚠️ 重要提示

查询生成不在此项目功能范围内,因为 LLM 可以编写更灵活的查询。使用 Cursor 代理(带有 Claude - 3.7 - sonnet - thinking)并提供 Gel 文档后,能取得良好效果。

🚀 快速开始

安装依赖项

yarn install

复制 dbschema 文件夹

如果您已经有 dbschema 文件夹,请将其复制到项目中:

# cp -r /path/to/your/dbschema ./
# 或直接复制粘贴

初始化 Gel 项目

npx gel project init

按照提示设置新项目,也可以通过提供实例名称指向现有 Gel 实例,若有需要还能导入迁移。

生成 EdgeQL JavaScript 查询构建器文件

npx @gel/generate edgeql-js

注意:在任何架构更改后,需要重新运行此命令。

更新连接设置

编辑 src/index.ts 中的代理部分,并安装依赖项:

npm install @gel/core @gel/typescript gel-language-server --save-dev

同时配置 tsconfig.jsonjsconfig.json

运行服务器

npm run dev

使用代理进行查询

curl http://localhost:3000/api/execute

✨ 主要特性

执行 TypeScript

  • 类似于 execute - edgeql,不过是用于测试和运行用查询构建器语法编写的 TypeScript Gel 查询。
  • 工具中包含相关指令,但仍建议代理加载这些指令,以确保不会被跳过。
  • 注意:JavaScript 语法错误可能会导致服务器崩溃,因此如果连接显示为已关闭,请刷新 Cursor MCP 设置中的代理或重新启动服务器。

💡 使用建议

  • 使用 await gelClient.query() 并用 console.log 显示结果。
  • 使用 ORDER BY 带有 THEN 而不是逗号(例如,ORDER BY .field1 THEN .field2)。
  • 保持代码简单并专注于单一操作。

基础用法

console.log(await gelClient.query(`
SELECT Product {
name,
price
}
FILTER .price > 100
ORDER BY .price DESC
LIMIT 5;
`));

📚 详细文档

有关 Model Context Protocol 的更多信息,请访问 modelcontextprotocol.io/quickstart

  • 0 关注
  • 0 收藏,10 浏览
  • system 提出于 2025-09-24 18:54

相似服务问题