项目简介
'gel-mcp-server' 是一个基于TypeScript实现的Model Context Protocol (MCP) 服务器,旨在帮助大型语言模型(LLM)代理更智能、高效地与Gel数据库进行交互。它将数据库操作(如查询、验证、Schema描述)封装为LLM可调用的工具,从而实现通过自然语言自动化地学习数据库结构、编写和执行EdgeQL查询。
主要功能点
- 执行EdgeQL查询: LLM可以直接执行原始EdgeQL查询,从Gel数据库检索数据或执行操作。
- 描述数据库Schema: LLM可以查询数据库的Schema结构,理解实体类型、属性、关系和约束,以便生成更准确的查询。
- 验证EdgeQL查询: 在执行前验证EdgeQL查询的语法,避免潜在的错误和副作用。
- 搜索Gel文档: LLM可以搜索Gel数据库的官方文档,获取EdgeQL语法、特性或示例的详细信息。
- 执行TypeScript代码: 允许LLM执行包含Gel客户端库和EdgeQL查询构建器的TypeScript代码,适用于需要复杂逻辑处理或编程能力的高级查询。
安装步骤
- 安装依赖: 在项目根目录运行 'yarn install'。
- 复制dbschema文件夹: 如果您有现有的Gel数据库'dbschema'文件夹,请将其复制到项目根目录。
- 初始化Gel项目: 运行 'npx gel project init' 并按照提示设置新项目。您可以指向现有的Gel实例。
- 生成EdgeQL JavaScript查询文件: 运行 'npx @gel/generate edgeql-js'。在数据库Schema更改后需重新运行此命令。
- 更新连接设置: 编辑项目中的 'src/index.ts' 文件,更新 'createClient' 方法中的数据库连接参数(如 'database', 'host', 'port', 'user', 'password'),以及 'getBranchClient' 函数中的分支ID配置。
- 构建项目: 运行 'yarn build'。
- 下载Gel文档 (可选但推荐): 运行 'curl -o gel_llm.txt https://raw.githubusercontent.com/yourorg/gel-docs/main/gel_llm.txt' (请将URL替换为实际的 'gel_llm.txt' 文件来源),将文档文件放置在项目根目录,以便LLM进行搜索。
服务器配置 (用于MCP客户端)
您需要在MCP客户端(例如Cursor Agent)中配置以下JSON信息,以便连接和使用此MCP服务器:
{ "name": "gel-database", // 服务器在客户端中显示的名称,可自定义 "command": "node", // 启动MCP服务器的命令,通常是 'node' "args": [ "/your/full/path/to/gel-mcp-server/build/index.js" // MCP服务器的入口文件完整路径 ] }
重要提示: 请将 '/your/full/path/to/gel-mcp-server/build/index.js' 替换为您本地 'gel-mcp-server' 项目 'build' 文件夹中 'index.js' 文件的实际完整路径。
基本使用方法
- 启动服务器: 按照上述安装步骤完成配置和构建后,您可以通过在终端运行 'node build/index.js' 来手动启动服务器。在MCP客户端配置好连接后,客户端通常会自动启动和管理服务器进程。
- 连接MCP客户端: 在支持MCP协议的LLM客户端中(例如Cursor Agent),进入MCP设置界面,添加一个新的服务器连接。选择类型为 "Command",然后输入上述 "服务器配置" 中的 'command' 和 'args' 信息。
- LLM交互: 连接成功后,您的LLM代理将能够识别并使用服务器提供的各种工具(如 'execute-edgeql', 'describe-schema' 等)。您可以通过自然语言向LLM提问,例如:“请查询名为 'Product' 的数据库Schema”、“验证这条EdgeQL语句是否正确:'SELECT User {name}' ”,或者 “执行EdgeQL查询:'SELECT Product { name, price } FILTER .price > 100;'”。
信息
分类
数据库与文件