让 Agent 访问内网数据库的 MCP 网关: SQLTunnel

7 月 10 日
 NemoAlex

最近做了一个小工具 SQLTunnel,用于让 Codex 、Claude Code 、Hermes 、Dify 等 Agent 安全访问 MySQL 和 PostgreSQL 数据库。

SQLTunnel 可以部署在本机或局域网内,通过直连或 SSH 隧道访问数据库,并向 Agent 提供 MCP 和 OpenAPI 接口,不需要将数据库地址和账号直接暴露给 Agent 。

主要功能:

一个常见的使用方式,是在本机或局域网内部署 SQLTunnel ,然后在 Agent 中直接通过自然语言完成数据查询和统计,例如:

也可以将 SQLTunnel 配置到 Codex 、Claude Code 等编程工具中,在源码项目目录里直接使用。

这样 Agent 可以同时理解项目源码、业务逻辑、数据模型、数据库结构和实际数据。例如:

先说一句:

你可以通过 SQLTunnel 访问数据库

当然也可以把这句话写入到 AGENTS.md 中去。

然后:

统计今天的订单数量。

统计每个套餐的付费用户数、续费率和最近 30 天收入。

做成 Excel 表格。

这种方式可以将源码和数据库连接成一个可查询、可分析的上下文,让整个项目更接近一个能够通过自然语言使用的知识库。

当然,如果你觉得自己的 Agent 足够靠谱,也可以使用可写数据库账号并授予 write 权限,让它协助执行数据修改、DDL 或 Migration 。例如:

根据当前项目的数据模型生成 Migration ,为 orders 表增加 archived_at 字段。先检查现有表结构并展示 SQL ,确认后再执行。

对比项目中的 Migration 与实际数据库结构,找出尚未执行的变更。

执行本次 Migration ,完成后重新检查表结构,并验证字段和索引是否创建成功。

项目地址:

https://github.com/NemoAlex/SQLTunnel

Docker 镜像:

https://hub.docker.com/r/nemoalex/sqltunnel

目前已经持续使用了一段时间了,欢迎大家提 Issue 。

1313 次点击
所在节点    分享创造
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/1226447

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX