阿里云百炼智能体连接云数据库实践(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服务

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

写在最后

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

相关推荐
瀚高PG实验室26 分钟前
瀚高企业版V9.1.1在pg_restore还原备份文件时提示extract函数语法问题
数据库·瀚高数据库
冬奇Lab28 分钟前
让 AI Agent 更可靠:Harness Engineering 与多 Agent 系统工程实践
人工智能·llm·agent
放下华子我只抽RuiKe528 分钟前
React 从入门到生产(四):自定义 Hook
前端·javascript·人工智能·深度学习·react.js·自然语言处理·前端框架
想你依然心痛29 分钟前
HarmonyOS 6(API 23)实战:基于悬浮导航、沉浸光感与HMAF的“文思智脑“——PC端AI智能体沉浸式智能写作工作台
人工智能·ar·harmonyos·ai写作
冬奇Lab30 分钟前
一天一个开源项目(第108篇):Andrej Karpathy Skills - 用一个 CLAUDE.md 文件修复 LLM 编码的四个顽疾
人工智能·开源·资讯
涛声依旧-底层原理研究所30 分钟前
残差连接与层归一化通俗易懂的详解
人工智能·python·神经网络·transformer
TDengine (老段)37 分钟前
TDengine Tag 设计哲学与 Schema 变更机制
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
敲个大西瓜41 分钟前
Java项目常用数据归档方式
mysql
fantasy_arch1 小时前
pytorch人脸匹配模型
人工智能·pytorch·python