
focus_mcp_sql
一个基于 FocusSearch 关键词解析的 NL2SQL 插件,提供更高的准确率、更快的速度和更强的可靠性!
README
FOCUS DATA MCP Server [中文]
一个模型上下文协议 (MCP) 服务器使人工智能助手能够将自然语言转换为 SQL 语句。
已经有这么多的 Text-to-SQL 框架了。为什么我们还需要另一个?
简单来说,focus_mcp_sql 采用两步 SQL 生成方案,可以控制 LLM 的幻觉,真正建立非技术用户对生成的 SQL 结果的信任。
以下是 focus_mcp_sql 与其他框架的比较表:
比较分析表
以下是 focus_mcp_sql 与其他基于 LLM 的框架的并排比较:
特性 | 传统 LLM 框架 | focus_mcp_sql |
---|---|---|
生成过程 | 黑盒,直接 SQL 生成 | 透明,两步(关键词 + SQL) |
幻觉风险 | 高,取决于模型质量 | 低,可控(关键词验证) |
速度 | 慢,依赖于大型模型推理 | 快,确定性的关键词到 SQL |
成本 | 高,需要高级模型 | 低,减少对大型模型的依赖 |
非技术用户友好性 | 低,难以验证结果 | 高,易于关键词检查 |
特性
- 初始化模型
- 将自然语言转换为 SQL 语句
前提条件
- jdk 23 或更高版本。下载 jdk
- gradle 8.12 或更高版本。下载 gradle
- 注册 Datafocus 以获取 bearer token:
- 在 Datafocus 中注册一个帐户
- 创建一个应用程序
- 进入应用程序
- 管理 -> 接口认证 -> Bearer Token -> 新建 Bearer Token
安装
- 克隆此存储库:
git clone https://github.com/FocusSearch/focus_mcp_sql.git
cd focus_mcp_sql
- 构建服务器:
gradle clean
gradle bootJar
The jar path: build/libs/focus_mcp_sql.jar
MCP 配置
将服务器添加到您的 MCP 配置文件:
{
"mcpServers": {
"focus_mcp_data": {
"command": "java",
"args": [
"-jar",
"path/to/focus_mcp_sql/focus_mcp_sql.jar"
],
"autoApprove": [
"gptText2sqlStart",
"gptText2sqlChat"
]
}
}
}
可用工具
1. gptText2sqlStart
初始化模型。
参数:
model
(必需): 表模型bearer
(必需): bearer tokenlanguage
(可选): 语言 ['english','chinese']
示例:
{
"model": {
"tables": [
{
"columns": [
{
"columnDisplayName": "name",
"dataType": "string",
"aggregation": "",
"columnName": "name"
},
{
"columnDisplayName": "address",
"dataType": "string",
"aggregation": "",
"columnName": "address"
},
{
"columnDisplayName": "age",
"dataType": "int",
"aggregation": "SUM",
"columnName": "age"
},
{
"columnDisplayName": "date",
"dataType": "timestamp",
"aggregation": "",
"columnName": "date"
}
],
"tableDisplayName": "test",
"tableName": "test"
}
],
"relations": [
],
"type": "mysql",
"version": "8.0"
},
"bearer": "ZTllYzAzZjM2YzA3NDA0ZGE3ZjguNDJhNDjNGU4NzkyYjY1OTY0YzUxYWU5NmU="
}
model 参数说明:
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
model | body | object | 是 | none |
» type | body | string | 是 | 数据库类型 |
» version | body | string | 是 | 数据库版本 |
» tables | body | [object] | 是 | 表结构列表 |
»» tableDisplayName | body | string | 否 | 表显示名 |
»» tableName | body | string | 否 | 表原始名 |
»» columns | body | [object] | 否 | 表列列表 |
»»» columnDisplayName | body | string | 是 | 列显示名 |
»»» columnName | body | string | 是 | 列原始名 |
»»» dataType | body | string | 是 | 列数据类型 |
»»» aggregation | body | string | 是 | 列聚合方式 |
» relations | body | [object] | 是 | 表关联关系列表 |
»» conditions | body | [object] | 否 | 关联条件 |
»»» dstColName | body | string | 否 | dimension 表关联列原始名 |
»»» srcColName | body | string | 否 | fact 表关联列原始名 |
»» dimensionTable | body | string | 否 | dimension 表原始名 |
»» factTable | body | string | 否 | fact 表原始名 |
»» joinType | body | string | 否 | 关联类型 |
2. gptText2sqlChat
将自然语言转换为 SQL。
参数:
chatId
(必需): chat idinput
(必需): 自然语言bearer
(必需): bearer token
示例:
{
"chatId": "03975af5de4b4562938a985403f206d4",
"input": "what is the max age",
"bearer": "ZTllYzAzZjM2YzA3NDA0ZGE3ZjguNDJhNDjNGU4NzkyYjY1OTY0YzUxYWU5NmU="
}
响应格式
所有工具都以以下格式返回响应:
{
"errCode": 0,
"exception": "",
"msgParams": null,
"promptMsg": null,
"success": true,
"data": {
}
}
Visual Studio Code Cline 示例
- vsCode 安装 cline 插件
- mcp 服务器配置
- 使用
- 初始化模型
- 转换: what is the max age
- 初始化模型
联系方式:
推荐服务器
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。
AIO-MCP Server
🚀 集成了 AI 搜索、RAG 和多服务(GitLab/Jira/Confluence/YouTube)的一体化 MCP 服务器,旨在增强 AI 驱动的开发工作流程。来自 Folk。
Knowledge Graph Memory Server
为 Claude 实现持久性记忆,使用本地知识图谱,允许 AI 记住用户的信息,并可在自定义位置存储,跨对话保持记忆。
Hyperbrowser
欢迎来到 Hyperbrowser,人工智能的互联网。Hyperbrowser 是下一代平台,旨在增强人工智能代理的能力,并实现轻松、可扩展的浏览器自动化。它专为人工智能开发者打造,消除了本地基础设施和性能瓶颈带来的麻烦,让您能够:

any-chat-completions-mcp
将 Claude 与任何 OpenAI SDK 兼容的聊天完成 API 集成 - OpenAI、Perplexity、Groq、xAI、PyroPrompts 等。
Exa MCP Server
一个模型上下文协议服务器,它使像 Claude 这样的人工智能助手能够以安全和受控的方式,使用 Exa AI 搜索 API 执行实时网络搜索。
BigQuery MCP Server
这是一个服务器,可以让你的大型语言模型(LLM,比如Claude)直接与你的BigQuery数据对话!可以把它想象成一个友好的翻译器,它位于你的AI助手和数据库之间,确保它们可以安全高效地进行交流。
MCP Web Research Server
一个模型上下文协议服务器,使 Claude 能够通过集成 Google 搜索、提取网页内容和捕获屏幕截图来进行网络研究。
mcp-perplexity
Perplexity API 的 MCP 服务器。