使用说明

项目简介

Focus Data SQL Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,其核心功能是将自然语言转换为 SQL 查询语句。该项目旨在为人工智能助手提供将用户自然语言问题转化为可执行 SQL 查询的能力,并集成了 Datafocus 平台的 Text-to-SQL 服务,以实现更可控和高效的查询生成过程。

主要功能点

  • 初始化模型 (gptText2sqlStart): 允许客户端注册数据库的元数据模型,包括表结构、字段信息和表间关系等。这是进行自然语言到 SQL 转换的基础步骤,为后续的查询理解和生成提供必要的上下文信息。
  • 自然语言转 SQL (gptText2sqlChat): 接收用户的自然语言查询,并利用预先注册的数据库模型,将其转换为可执行的 SQL 查询语句。此功能是服务器的核心,使得 AI 助手能够理解用户意图并进行数据查询。

安装步骤

  1. 克隆仓库: 在本地克隆 Focus Data SQL Server 仓库:

    git clone https://github.com/FocusSearch/focus_mcp_sql.git
    cd focus_mcp_sql
  2. 构建服务器: 使用 Gradle 构建项目,生成可执行的 Jar 文件:

    gradle clean
    gradle bootJar

    构建成功后,Jar 文件位于 'build/libs/focus_mcp_sql.jar'。

服务器配置

为了使 MCP 客户端能够连接到 Focus Data SQL Server,需要在 MCP 客户端的配置文件中添加服务器配置信息。以下是一个示例配置,请根据实际情况修改 'args' 中的 Jar 文件路径。

{
  "mcpServers": {
    "focus_mcp_data": {
      "command": "java",
      "args": [
        "-jar",
        "path/to/focus_mcp_sql/build/libs/focus_mcp_sql.jar"  // 请替换为 focus_mcp_sql.jar 的实际路径
      ],
      "autoApprove": [
        "gptText2sqlStart",
        "gptText2sqlChat"
      ]
    }
  }
}
  • 'mcpServers': 定义可用的 MCP 服务器列表。
  • 'focus_mcp_data': 为该服务器定义的名称,客户端使用此名称引用该服务器。
  • 'command': 启动服务器的命令,通常为 'java'。
  • 'args': 传递给 'command' 的参数,包括 '-jar' 参数和 'focus_mcp_sql.jar' 文件的路径。 请务必将 'path/to/focus_mcp_sql' 替换为 'focus_mcp_sql.jar' 文件在您系统中的实际存储路径。
  • 'autoApprove': 列出了可以被客户端自动批准执行的工具名称。客户端调用这些工具时无需用户手动确认。

基本使用方法

  1. 初始化模型 (gptText2sqlStart): 客户端调用 'gptText2sqlStart' 工具,并提供以下参数:

    • 'model': 数据库模型信息,包括数据库类型、版本、表定义 (表名、列名、数据类型等) 和表关系。
    • 'bearer': Datafocus 平台的 Bearer Token,用于API鉴权。需要在 Datafocus 官网 注册账号并创建应用后获取。
    • 'language' (可选): 指定语言,可选值包括 'english' 和 'chinese',默认为 'chinese'。

    此工具调用成功后,服务器会返回一个 'chatId',用于后续的对话。

  2. 自然语言转 SQL (gptText2sqlChat): 客户端调用 'gptText2sqlChat' 工具,并提供以下参数:

    • 'chatId': 上一步 'gptText2sqlStart' 调用返回的对话 ID。
    • 'input': 用户的自然语言查询语句。
    • 'bearer': Datafocus 平台的 Bearer Token。

    服务器会将自然语言查询转换为 SQL 语句并返回。

注意: 使用前请务必注册 Datafocus 账号并获取 Bearer Token,并妥善保管和使用您的 Token。

信息

分类

AI与计算