前几天开源了 universal-db-mcp数据库万能连接器 ,支持MCP模式和HTTP API模式,MCP模式直接接入Claude Desktop或者Cherry Studio这类客户端就行了,HTTP API模式一直没实际进行应用,这几天在coze中浅浅的试用了一下,效果还不错,效果大概是这个样子的:
我:连接数据库
问数 AskDB:
好的,请提供以下数据库连接信息:
数据库类型(如:mysql、postgres、sqlite)
主机地址(如:localhost 或 IP 地址)
端口号(如:MySQL 默认 3306)
用户名
密码
数据库名称
请确保这些信息准确无误,我将帮助您完成数据库连接。
我:
DB_TYPE=mysql
DB_HOST=xxx.xxx.xxx.xxx
DB_PORT=xxxx
DB_USER=xxx
DB_PASSWORD=xxxx
DB_DATABASE=xxxx
问数 AskDB:
我将使用您提供的连接信息尝试连接到 MySQL 数据库。请稍等... 数据库连接成功!以下是连接信息摘要:
数据库类型: MySQL
主机地址: xxx.xxx.xxx.xxx
端口: xxxx
数据库名称: xxx
会话 ID: xxxxxxxxxxxxx
现在可以开始进行数据查询了。请告诉我您需要:
查看有哪些表(例如:"列出所有表")
查询具体数据(例如:"查看用户信息")
数据分析(例如:"统计订单数量")
请直接告诉我您的需求!

用途:
- 自己开发辅助使用;
- 暴露coze的api接口给项目用。
之前用coze比较少,最近整了一下,感觉还挺简单的,顺便截了图,就写一下步骤吧。
0. 前置工作 #
首先呢,你需要把 universal-db-mcp 部署一下。部署在自己的 vps 或者 Serverless(阿里云函数计算啥的)或者 PaaS平台(Railway啥的)都可以。当然我认为有vps的话还是部署在vps上好一些,毕竟自有服务器没有冷启动且可以保证长连接。这部分部署的工作在 universal-db-mcp的github仓库中都有,这里就不再赘述了,详细的可以去github上翻翻。
Coze支持通过创建API插件或者MCP插件的方式进行创建MCP工具,universal-db-mcp既支持REST方式传输,也支持SSE、Streamable HTTP方式传输。但是在实践过程中,通过SSE配置Coze中MCP插件的时候,一直报如下错误:

通过查看universal-db-mcp的日志看到Coze发送SSE模式/sse请求的时候使用的是POST请求,但是SSE的标准设计端点/sse请求都是GET,并且在Coze中没有找到可以设置请求方法的地方,所以暂时放弃配置SSE模式。
下面只记录REST与Streamable HTTP方式,也就是Coze的API插件与MCP插件
1. 通过Coze的API插件(REST)创建Agent #
1.1 创建Agent #
1.1.1 进入插件Agent页面 #
首先,进入 Coze 平台的扣子编程界面,选择 智能体开发。


1.1.2 填写Agent基本信息 #
在创建页面填写名称和描述。

1.2 创建 API 插件 #




1.3 创建插件工具 #
1.3.1 创建 health_check 工具 #







1.3.2 创建 connect_database 工具 #





1.3.3 创建 execute_query 工具 #




1.3.4 创建 list_tables 工具 #



1.3.5 创建 get_table_schema 工具 #



1.4 完成插件并添加插件 #



1.5 编写提示词设置模型 #

深度思考开关建议开启
提示词如下
这个提示词我只是简单的写了一些,大家可以自行发挥。
# 角色
你是一个专业的数据库查询助手,能够帮助用户连接数据库并使用自然语言查询数据。
# 技能
## 技能1:连接数据库
当用户要求连接数据库时:
1. 询问用户数据库类型(mysql、postgres、sqlite)
2. 询问数据库连接信息(主机、端口、用户名、密码、数据库名)
3. 调用 connect_database 接口连接数据库
4. 保存返回的 sessionId 用于后续查询
5. 告知用户连接结果
## 技能2:查询数据
当用户询问数据相关问题时:
1. 如果还未连接数据库,提示用户先连接
2. 先调用 list_tables 查看有哪些表
3. 调用 get_table_schema 了解相关表的结构
4. 根据用户的自然语言问题,生成合适的 SQL 查询语句
5. 调用 execute_query 执行查询
6. 将查询结果以易读的方式呈现给用户(使用表格或列表)
## 技能3:数据分析
当用户需要数据分析时:
1. 理解用户的分析需求
2. 生成适当的聚合查询(COUNT、SUM、AVG、GROUP BY等)
3. 执行查询并解读结果
4. 提供简洁的分析结论
# 限制
- 只执行 SELECT 查询,不执行 INSERT、UPDATE、DELETE 等写操作
- 查询结果默认限制 100 条,避免返回过多数据
- 如果用户的问题不清晰,主动询问澄清
- 保护用户隐私,不在对话中暴露敏感信息
# 示例对话
用户:连接我的MySQL数据库
助手:好的,请提供以下数据库连接信息:
1. 主机地址(如:localhost 或 IP地址)
2. 端口(MySQL默认3306)
3. 用户名
4. 密码
5. 数据库名称
用户:查看所有用户
助手:[调用 list_tables 和 get_table_schema]
[生成 SQL: SELECT * FROM users LIMIT 100]
[调用 execute_query]
查询到 10 条用户记录:
| ID | 姓名 | 邮箱 |
|-----|------|------|
| 1 | 张三 | zhangsan@example.com |
| 2 | 李四 | lisi@example.com |
...
用户:上个月有多少订单?
助手:[分析问题,生成 SQL]
[执行查询]
上个月共有 1,234 个订单。
1.6 测试与发布 #
测试通过后直接点击发布即可。


#


2. 通过Coze的MCP插件(Streamable)创建Agent #
2.1 新建MCP #

插件URL示例
https://your-universal-db-mcp-domain/mcp
Header列表示例
| 请求头 | 必填 | 描述 |
|---|---|---|
X-API-Key | 是* | API 密钥(或使用 Authorization Bearer) |
X-DB-Type | 是 | 数据库类型 |
X-DB-Host | 是* | 数据库主机 |
X-DB-Port | 否 | 数据库端口,最好填上 |
X-DB-User | 是* | 用户名 |
X-DB-Password | 是* | 密码 |
X-DB-Database | 是* | 数据库名称 |
X-DB-FilePath | 是* | SQLite 文件路径 |
X-DB-Allow-Write | 否 | 启用写操作(默认: false) |
mcp-session-id | 否 | 后续请求的会话 ID,一般不用填 |
2.2 更新工具并发布 #

2.3 Agent上添加已发布的工具 #

2.4 调试并发布Agent #

这样就大功告成了!
如果大家喜欢,希望github多多帮点点star!!!
如果大家喜欢,希望github多多帮点点star!!!
如果大家喜欢,希望github多多帮点点star!!!
Github仓库地址为:https://github.com/Anarkh-Lee/universal-db-mcp