项目简介

'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代码,适用于需要复杂逻辑处理或编程能力的高级查询。

安装步骤

  1. 安装依赖: 在项目根目录运行 'yarn install'。
  2. 复制dbschema文件夹: 如果您有现有的Gel数据库'dbschema'文件夹,请将其复制到项目根目录。
  3. 初始化Gel项目: 运行 'npx gel project init' 并按照提示设置新项目。您可以指向现有的Gel实例。
  4. 生成EdgeQL JavaScript查询文件: 运行 'npx @gel/generate edgeql-js'。在数据库Schema更改后需重新运行此命令。
  5. 更新连接设置: 编辑项目中的 'src/index.ts' 文件,更新 'createClient' 方法中的数据库连接参数(如 'database', 'host', 'port', 'user', 'password'),以及 'getBranchClient' 函数中的分支ID配置。
  6. 构建项目: 运行 'yarn build'。
  7. 下载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' 文件的实际完整路径。

基本使用方法

  1. 启动服务器: 按照上述安装步骤完成配置和构建后,您可以通过在终端运行 'node build/index.js' 来手动启动服务器。在MCP客户端配置好连接后,客户端通常会自动启动和管理服务器进程。
  2. 连接MCP客户端: 在支持MCP协议的LLM客户端中(例如Cursor Agent),进入MCP设置界面,添加一个新的服务器连接。选择类型为 "Command",然后输入上述 "服务器配置" 中的 'command' 和 'args' 信息。
  3. LLM交互: 连接成功后,您的LLM代理将能够识别并使用服务器提供的各种工具(如 'execute-edgeql', 'describe-schema' 等)。您可以通过自然语言向LLM提问,例如:“请查询名为 'Product' 的数据库Schema”、“验证这条EdgeQL语句是否正确:'SELECT User {name}' ”,或者 “执行EdgeQL查询:'SELECT Product { name, price } FILTER .price > 100;'”。

信息

分类

数据库与文件