使用说明
项目简介
Focus Data SQL Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,其核心功能是将自然语言转换为 SQL 查询语句。该项目旨在为人工智能助手提供将用户自然语言问题转化为可执行 SQL 查询的能力,并集成了 Datafocus 平台的 Text-to-SQL 服务,以实现更可控和高效的查询生成过程。
主要功能点
- 初始化模型 (gptText2sqlStart): 允许客户端注册数据库的元数据模型,包括表结构、字段信息和表间关系等。这是进行自然语言到 SQL 转换的基础步骤,为后续的查询理解和生成提供必要的上下文信息。
- 自然语言转 SQL (gptText2sqlChat): 接收用户的自然语言查询,并利用预先注册的数据库模型,将其转换为可执行的 SQL 查询语句。此功能是服务器的核心,使得 AI 助手能够理解用户意图并进行数据查询。
安装步骤
-
克隆仓库: 在本地克隆 Focus Data SQL Server 仓库:
git clone https://github.com/FocusSearch/focus_mcp_sql.git cd focus_mcp_sql -
构建服务器: 使用 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': 列出了可以被客户端自动批准执行的工具名称。客户端调用这些工具时无需用户手动确认。
基本使用方法
-
初始化模型 (gptText2sqlStart): 客户端调用 'gptText2sqlStart' 工具,并提供以下参数:
- 'model': 数据库模型信息,包括数据库类型、版本、表定义 (表名、列名、数据类型等) 和表关系。
- 'bearer': Datafocus 平台的 Bearer Token,用于API鉴权。需要在 Datafocus 官网 注册账号并创建应用后获取。
- 'language' (可选): 指定语言,可选值包括 'english' 和 'chinese',默认为 'chinese'。
此工具调用成功后,服务器会返回一个 'chatId',用于后续的对话。
-
自然语言转 SQL (gptText2sqlChat): 客户端调用 'gptText2sqlChat' 工具,并提供以下参数:
- 'chatId': 上一步 'gptText2sqlStart' 调用返回的对话 ID。
- 'input': 用户的自然语言查询语句。
- 'bearer': Datafocus 平台的 Bearer Token。
服务器会将自然语言查询转换为 SQL 语句并返回。
注意: 使用前请务必注册 Datafocus 账号并获取 Bearer Token,并妥善保管和使用您的 Token。
信息
分类
AI与计算