关于 SQLBot MCP Proxy
SQLBot MCP Proxy 将 SQLBot 的数据发现、Text-to-SQL 查询和报告生成功能提供给 MCP 客户端。它面向已运行 SQLBot 服务并持有 API 密钥的团队,支持 stdio 或 HTTP 传输。
主要功能
- 01列出数据源和数据表
- 02查看数据表字段
- 03用自然语言提问查询数据
- 04生成分析报告和图表
- 05本地 SVG 报告回退
适用场景
- 01查询前浏览 SQLBot 数据源
- 02用自然语言询问数据
- 03生成分析报告和图表
MCP 相关
它作为 SQLBot 的 MCP 服务代理,提供数据发现、元数据查询、数据提问和报告生成工具。支持 stdio 和 HTTP 上的 JSON-RPC。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm -e SQLBOT_MCP_PROXY_BASE_URL -e SQLBOT_MCP_PROXY_ACCESS_KEY -e SQLBOT_MCP_PROXY_SECRET_KEY -e SQLBOT_MCP_PROXY_DOCKER_CONTAINER ghcr.io/wenrou21/sqlbot-mcp-proxy:0.1.0SQLBOT_MCP_PROXY_BASE_URLBase URL of the SQLBot service, for example http://127.0.0.1:8000.SQLBOT_MCP_PROXY_ACCESS_KEY密钥SQLBot API access key. If omitted, the proxy can try FEISHU_ASK_ACCESS_KEY or read from the configured Docker container.SQLBOT_MCP_PROXY_SECRET_KEY密钥SQLBot API secret key. If omitted, the proxy can try FEISHU_ASK_SECRET_KEY or read from the configured Docker container.SQLBOT_MCP_PROXY_DOCKER_CONTAINEROptional Docker container name used when reading FEISHU_ASK_ACCESS_KEY and FEISHU_ASK_SECRET_KEY from a running SQLBot container.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
ghcr.io/wenrou21/sqlbot-mcp-proxy:0.1.0stdio工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
SQLBot MCP 代理
用于 SQLBot 的 MCP 服务代理。它将 SQLBot 的数据源发现、表元数据、自然语言 Text-to-SQL 问答以及本地备用报告生成功能作为 MCP 工具提供。
要求
- Docker
- 正在运行的 SQLBot 服务
- SQLBot API 密钥
推荐的 Codex 配置
用户无需手动下载此仓库。将此 MCP 服务添加到 Codex 配置中,并替换 SQLBot URL 和密钥:
[mcp_servers.sqlbot]
command = "docker"
args = [
"run",
"--rm",
"-i",
"-e",
"SQLBOT_MCP_PROXY_BASE_URL",
"-e",
"SQLBOT_MCP_PROXY_ACCESS_KEY",
"-e",
"SQLBOT_MCP_PROXY_SECRET_KEY",
"ghcr.io/wenrou21/sqlbot-mcp-proxy:0.1.0"
]
enabled = true
startup_timeout_sec = 120
[mcp_servers.sqlbot.env]
SQLBOT_MCP_PROXY_BASE_URL = "http://183.196.108.32:18088"
SQLBOT_MCP_PROXY_ACCESS_KEY = "<YOUR_SQLBOT_ACCESS_KEY>"
SQLBOT_MCP_PROXY_SECRET_KEY = "<YOUR_SQLBOT_SECRET_KEY>"
然后完全重启 Codex。
如果可通过其他公共地址或局域网地址访问 SQLBot,请将 SQLBOT_MCP_PROXY_BASE_URL 替换为该地址,例如 https://sqlbot.example.com 或 http://192.168.1.10:18088。
提示词模板
Please configure SQLBot MCP for Codex.
MCP image:
ghcr.io/wenrou21/sqlbot-mcp-proxy:0.1.0
My SQLBot URL:
http://183.196.108.32:18088
My SQLBot access key:
<YOUR_SQLBOT_ACCESS_KEY>
My SQLBot secret key:
<YOUR_SQLBOT_SECRET_KEY>
Add this MCP to Codex config:
- MCP name: sqlbot
- command: docker
- args: ["run", "--rm", "-i", "-e", "SQLBOT_MCP_PROXY_BASE_URL", "-e", "SQLBOT_MCP_PROXY_ACCESS_KEY", "-e", "SQLBOT_MCP_PROXY_SECRET_KEY", "ghcr.io/wenrou21/sqlbot-mcp-proxy:0.1.0"]
- startup_timeout_sec: 120
- SQLBOT_MCP_PROXY_BASE_URL: use the SQLBot URL above
- SQLBOT_MCP_PROXY_ACCESS_KEY: use the access key above
- SQLBOT_MCP_PROXY_SECRET_KEY: use the secret key above
After configuration, remind me to fully restart Codex.
After restart:
- Check available datasources with sqlbot_list_datasources.
- Use sqlbot_list_tables and sqlbot_describe_table before asking data questions.
- Use sqlbot_ask_data for Text-to-SQL questions.
- Use sqlbot_generate_report when I ask for an analysis report or chart.
Docker 快速测试
你可以在 Codex 之外测试此镜像:
docker run --rm -i \
-e SQLBOT_MCP_PROXY_BASE_URL=http://183.196.108.32:18088 \
-e SQLBOT_MCP_PROXY_ACCESS_KEY=your-access-key \
-e SQLBOT_MCP_PROXY_SECRET_KEY=your-secret-key \
ghcr.io/wenrou21/sqlbot-mcp-proxy:0.1.0
工具
sqlbot_list_datasources:列出配置的 API 密钥可见的 SQLBot 数据源sqlbot_list_tables:列出某个数据源中已勾选的 SQLBot 元数据表sqlbot_describe_table:描述 SQLBot 元数据表中已勾选的字段sqlbot_ask_data:使用自然语言向 SQLBot 提出数据问题sqlbot_generate_report:生成分析报告和图表,并提供本地 SVG 备用方案
环境变量
| 名称 | 默认值 | 描述 |
|---|---|---|
SQLBOT_MCP_PROXY_BASE_URL | http://183.196.108.32:18088 | SQLBot 服务基础 URL |
SQLBOT_MCP_PROXY_ACCESS_KEY | 空 | SQLBot API 访问密钥 |
SQLBOT_MCP_PROXY_SECRET_KEY | 空 | SQLBot API 密钥 |
FEISHU_ASK_ACCESS_KEY | 空 | 备用访问密钥名称 |
FEISHU_ASK_SECRET_KEY | 空 | 备用密钥名称 |
SQLBOT_MCP_PROXY_DOCKER_CONTAINER | sqlbot | 用于备用密钥查询的容器 |
SQLBOT_MCP_PROXY_HTTP_HOST | 127.0.0.1 | HTTP 模式主机 |
SQLBOT_MCP_PROXY_HTTP_PORT | 8787 | HTTP 模式端口 |
SQLBOT_MCP_PROXY_HTTP_PATH | /mcp | HTTP 模式 JSON-RPC 路径 |
SQLBOT_MCP_PROXY_HTTP_TIMEOUT_MS | 120000 | SQLBot HTTP 请求超时时间 |
SQLBOT_MCP_PROXY_REPORT_OUTPUT_DIR | outputs | 生成备用 SVG 报告的目录 |
高级 HTTP 模式
大多数 MCP 客户端应使用 stdio。对于能够通过 HTTP 发送 JSON-RPC 的客户端,请启动:
docker run --rm -p 8787:8787 \
-e SQLBOT_MCP_PROXY_BASE_URL=http://183.196.108.32:18088 \
-e SQLBOT_MCP_PROXY_ACCESS_KEY=your-access-key \
-e SQLBOT_MCP_PROXY_SECRET_KEY=your-secret-key \
-e SQLBOT_MCP_PROXY_HTTP_HOST=0.0.0.0 \
ghcr.io/wenrou21/sqlbot-mcp-proxy:0.1.0 --http
健康检查:
curl http://127.0.0.1:8787/health
发布
- 确认
package.json中的包元数据。 - 发布 OCI 镜像:
docker build -t ghcr.io/wenrou21/sqlbot-mcp-proxy:0.1.0 .
docker push ghcr.io/wenrou21/sqlbot-mcp-proxy:0.1.0
- 发布 MCP Registry 元数据:
mcp-publisher login github
mcp-publisher publish
package.json 中的 mcpName 必须与 server.json 中的 name 完全一致。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。