focus_mcp_sql
FOCUS DATA MCP 服务器 [中文]
模型上下文协议 (MCP) 服务器使人工智能助手能够将自然语言转换为 SQL 语句。
已经有这么多 Text-to-SQL 框架了。为什么我们还需要另一个?
简单来说,focus_mcp_sql采用了两步SQL生成方案,可以控制LLM的幻象,真正建立非技术用户对生成的SQL结果的信任。
以下是 focus_mcp_sql 与其他的比较表:
对比分析表
以下是 focus_mcp_sql 与其他基于 LLM 的框架的并排比较:
特征 | 传统法学硕士框架 | focus_mcp_sql |
生成过程 | 黑盒,直接生成 SQL | 透明、两步(关键字+SQL) |
幻觉风险 | 高,取决于模型质量 | 低,可控(关键字验证) |
速度 | 速度慢,依赖于大型模型推理 | 快速、确定性的关键字到 SQL |
成本 | 高,需要高级模型 | 低,减少对大型模型的依赖 |
非技术用户友好性 | 结果低且难以验证 | 高度、简单的关键字检查 |
特征
-初始化模型-将自然语言转换为SQL语句
Related MCP server: X Tools for Claude MCP
先决条件
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.jarMCP 配置
将服务器添加到您的 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(必需):持有者令牌language(可选):语言['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="
}型号参数说明:
名称 | 位置 | 类型 | 必选 | 说明 |
模型 | 身体 | 目的 | 是 | 没有任何 |
“ 类型 | 身体 | 细绳 | 是 | 数据库类型 |
“ 版本 | 身体 | 细绳 | 是 | 数据库版本 |
» 表格 | 身体 | [目的] | 是 | 结构列表 |
»» 表显示名称 | 身体 | 细绳 | 否 | 表顯示名 |
»» 表名 | 身体 | 细绳 | 否 | 表原始名 |
»» 列 | 身体 | [目的] | 否 | 列表列表 |
»»» 列显示名称 | 身体 | 细绳 | 是 | 列顯示名 |
»»» 列名称 | 身体 | 细绳 | 是 | 列文献 |
»»» 数据类型 | 身体 | 细绳 | 是 | 列抒 |
»»» 聚合 | 身体 | 细绳 | 是 | 列聚合方式 |
» 关系 | 身体 | [目的] | 是 | 关联关系列表 |
““ 状况 | 身体 | [目的] | 否 | 关联条件 |
»»» 目标列名称 | 身体 | 细绳 | 否 | 维度表关联列原始名 |
»»» srcColName | 身体 | 细绳 | 否 | 事实表关联表 |
»» 维度表 | 身体 | 细绳 | 否 | 维度表原始名称 |
»» 事实表 | 身体 | 细绳 | 否 | 事实表 |
»» 连接类型 | 身体 | 细绳 | 否 | 关联类型 |
2. gptText2sqlChat
将自然语言转换为 SQL。
参数:
chatId(必填):聊天IDinput(必需):自然语言bearer(必需):持有者令牌
例子:
{
"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 服务器配置

使用
初始模型


转移:最大年龄是多少

接触:
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/FocusSearch/focus_mcp_sql'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
