阿里云百炼智能体连接云数据库实践(DMS MCP)

这篇文章主要是通过使用阿里云的百炼智能体与阿里云的serverless来实现数据库的操作

欢迎一起交流!!

首先,当然是选择自己需要的数据库啦
在阿里云控制台选择产品 - > 数据库 - > 数据管理DMS进来的界面如下所示
第一次进来的时候是没有数据库的,需要你自己去创建,但是在这里是不能创建数据库的。接下来我们进入工作台 - > 数据库 RDS
进来之后点击创建实例
在这里有很多方案可以选择,因为主要演示如何链接,所有选择了按量计费的serverless
回到实例列表,点击你的实例名字
在这里可以看你数据库的基本信息,可以在这里设置你的数据库启动设置,比如是我这里就设置了弹性时间,在不用的时候会自动关闭数据库(省钱必备!!)再点击数据库管理


在数据库管理中点击创建数据库后会进入如下页面
注意关于这个数据库账号,建议创建一个新的账号,并且授予权限

####### 在DMS中心在实例列表中点击+号创建数据库

如何录入数据库可以看下面这篇文章

-----------------------------------------------------------------------------------------------------------分割线

恭喜你!

到这里就已经完成的数据库的准备工作

接下来打开百炼平台
应用管理 - > 创建应用,当然你可以直接选择在应用广场里面找到DMS Chat数据助手这个智能体,因为本片文章主要是如何连接数据库,所有我们直接复制DMS Chat数据助手智能体
复制之后如下图所示
在不进行配置的前提下,直接提问智能体,它会让你给出数据库的详细信息,如下所示(浪费你的tokens!!!)
在这里你就会发现好像配置不了你的信息,无论是在系统prompt中还是在用户prompt中加入数据库信息,都无法回答问题

所以接下来,我们就需要对MCP服务进行配置了!

重新写一个MCP?(那是不可能的!)

我们在页面中找到MCP
在MCP中找到DMS-数据库安全访问
一直往下翻找到官方给的MCP配置
MCP服务配置输入如下内容
复制代码
{
  "mcpServers": {
    "dms-mcp-server": {
      "command": "uvx",
      "args": [
        "alibabacloud-dms-mcp-server@latest"
      ],
      "env": {
        "ALIBABA_CLOUD_ACCESS_KEY_ID": "access_id",
        "ALIBABA_CLOUD_ACCESS_KEY_SECRET": "access_key",
        "ALIBABA_CLOUD_SECURITY_TOKEN": "optional sts_security_token , required when using STS Token"
      }
    }
  }
} 

或者是

{​ 复制代码
  "mcpServers": {
    "dms-mcp-server": {
      "command": "uvx",
      "args": [
        "alibabacloud-dms-mcp-server@latest"
      ],
      "env": {
        "ALIBABA_CLOUD_ACCESS_KEY_ID": "access_id",
        "ALIBABA_CLOUD_ACCESS_KEY_SECRET": "access_key",
        "ALIBABA_CLOUD_SECURITY_TOKEN": "sts_security_token optional, required when using STS Token",
        "CONNECTION_STRING": "dbName@host:port"
      }
    }
  }
}
你会发现它需要用户的accesskey,这个如何找呢?
我们回到阿里云的控制台,点击右上角,找到accesskey
选择使用RAM用户



得到账号的AccessKey之后回到百炼平台
选择+号创建MCP
选择使用脚本部署
选择uvx进行部署,填写配置,配置中写入我们得到的AccessKey以及我们的数据库账号、名字以及端口号
部署成功之后就可以在我们的MCP管理中看到我们刚刚创建的服务
回到应用管理,找到我们创建的应用
提示词如下:
# 复制代码
你是一名数据库专家,专门负责在 `automobile_data` 数据库中执行 SQL 查询。你的工作基于已确认的 `databaseId`(通过 `searchDatabase` 获取)。

## 技能
### 技能 1:SQL 查询执行
- 根据提供的分析方案,调用 `generateSql` 生成 SQL 脚本。
- 使用 `executeScripts` 执行 SQL 查询。
- 如果查询出错,检查表结构和字段名,并自动修复错误(最多尝试 3 次)。

## 限制
- 所有查询必须基于已确认的 `databaseId`(通过 `searchDatabase` 获取)。
- 如果 SQL 查询出错,需检查表结构和字段名,并自动修复错误(最多尝试 3 次)。

```matlab
# 角色
你是一名数据库专家,专门负责在 `automobile_data` 数据库中执行 SQL 查询。你的工作基于已确认的 `databaseId`(通过 `searchDatabase` 获取)。

## 技能
### 技能 1:SQL 查询执行
- 根据提供的分析方案,调用 `generateSql` 生成 SQL 脚本。
- 使用 `executeScripts` 执行 SQL 查询。
- 如果查询出错,检查表结构和字段名,并自动修复错误(最多尝试 3 次)。

## 限制
- 所有查询必须基于已确认的 `databaseId`(通过 `searchDatabase` 获取)。
- 如果 SQL 查询出错,需检查表结构和字段名,并自动修复错误(最多尝试 3 次)。

选择刚刚创建的MCP服务

现在我们的数据库查询智能体已经完成了配置啦!接下来就可以随意操控数据库了!

写在最后

欢迎一起交流百炼智能体^^

相关推荐
Aaron1588几秒前
基于VU13P在人工智能高速接口传输上的应用浅析
人工智能·算法·fpga开发·硬件架构·信息与通信·信号处理·基带工程
予枫的编程笔记2 分钟前
【论文解读】DLF:以语言为核心的多模态情感分析新范式 (AAAI 2025)
人工智能·python·算法·机器学习
HyperAI超神经6 分钟前
完整回放|上海创智/TileAI/华为/先进编译实验室/AI9Stars深度拆解 AI 编译器技术实践
人工智能·深度学习·机器学习·开源
大模型真好玩6 分钟前
LangGraph智能体开发设计模式(四)——LangGraph多智能体设计模式:网络架构
人工智能·langchain·agent
北辰alk9 分钟前
RAG嵌入模型选择全攻略:从理论到代码实战
人工智能
TDengine (老段)9 分钟前
TDengine Rust 连接器进阶指南
大数据·数据库·物联网·rust·时序数据库·tdengine·涛思数据
Smoothzjc12 分钟前
👉 求你了,别再裸写 fetch 做 AI 流式响应了!90% 的人都在踩这个坑
前端·人工智能·后端
沛沛老爹12 分钟前
Web开发者进阶AI:Agent技能设计模式之迭代分析与上下文聚合实战
前端·人工智能·设计模式
创作者mateo12 分钟前
PyTorch 入门笔记配套【完整练习代码】
人工智能·pytorch·笔记
二哈喇子!14 分钟前
MySQL数据库操作命令【SQL语言】
数据库·sql·视图与索引