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 文件夹,请将其复制到项目中:
# cp -r /path/to/your/dbschema ./
# 或直接复制粘贴
npx gel project init
按照提示设置新项目,也可以通过提供实例名称指向现有 Gel 实例,若有需要还能导入迁移。
npx @gel/generate edgeql-js
注意:在任何架构更改后,需要重新运行此命令。
编辑 src/index.ts
中的代理部分,并安装依赖项:
npm install @gel/core @gel/typescript gel-language-server --save-dev
同时配置 tsconfig.json
和 jsconfig.json
。
npm run dev
curl http://localhost:3000/api/execute
execute - edgeql
,不过是用于测试和运行用查询构建器语法编写的 TypeScript Gel 查询。💡 使用建议
- 使用
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。