返回市场
阿里云rds开放api mcp服务器

阿里云rds开放api mcp服务器

作者:aliyun39 星标更新:2025-08-27

项目介绍

<p align="center">English | <a href="./README_CN.md">中文</a><br></p>

阿里云RDS OpenAPI MCP服务器

通过OPENAPI为RDS服务提供的MCP服务器

前提条件

  1. AstralGitHub README安装uv
  2. 使用uv python install 3.12安装Python
  3. 具有访问阿里云RDS服务权限的阿里云凭证

快速开始

使用cherry-studio(推荐)

  1. 下载并安装cherry-studio
  2. 按照文档安装uv,这是MCP环境所必需的
  3. 根据文档配置并使用RDS MCP。您可以快速导入以下JSON中的RDS MCP配置。请将ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET设置为您自己的阿里云AK/SK。

导入过程中可能会出现以下错误,可以忽略: xxx settings.mcp.addServer.importFrom.connectionFailed

<img src="./assets/cherry-config.png" alt="cherry_config"/>
{
  "mcpServers": {
    "rds-openapi": {
      "name": "rds-openapi",
      "type": "stdio",
      "description": "",
      "isActive": true,
      "registryUrl": "",
      "command": "uvx",
      "args": [
        "alibabacloud-rds-openapi-mcp-server@latest"
      ],
      "env": {
        "ALIBABA_CLOUD_ACCESS_KEY_ID": "$you_access_id",
        "ALIBABA_CLOUD_ACCESS_KEY_SECRET": "$you_access_key"
      }
    }
  }
}
  1. 最后,点击启用MCP

    <img src="./assets/mcp_turn_on.png" alt="mcp_turn_on"/>
  2. 您可以使用下面提供的提示模板来增强您的体验。

使用Cline

设置环境变量并运行MCP服务器。

# 设置环境变量
export SERVER_TRANSPORT=sse;
export ALIBABA_CLOUD_ACCESS_KEY_ID=$you_access_id;
export ALIBABA_CLOUD_ACCESS_KEY_SECRET=$you_access_key;
export ALIBABA_CLOUD_SECURITY_TOKEN=$you_sts_security_token; # 可选,使用STS Token时需要
export API_KEY=$you_mcp_server_api_key; # 可选,配置后请求将进行API密钥验证。

# 运行MCP服务器
uvx alibabacloud-rds-openapi-mcp-server@latest

运行MCP服务器后,您将看到以下输出:

INFO:     Started server process [91594]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)

然后配置Cline。

remote_server = "http://127.0.0.1:8000/sse";

如果在使用Qwen时遇到401 Incorrect API key provided错误,请参考文档获取解决方案。

使用Claude

从Github下载

git clone https://github.com/aliyun/alibabacloud-rds-openapi-mcp-server.git

在MCP客户端配置文件中添加以下配置:

{
  "mcpServers": {
    "rds-openapi-mcp-server": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/alibabacloud-rds-openapi-mcp-server/src/alibabacloud_rds_openapi_mcp_server",
        "run",
        "server.py"
      ],
      "env": {
        "ALIBABA_CLOUD_ACCESS_KEY_ID": "access_id",
        "ALIBABA_CLOUD_ACCESS_KEY_SECRET": "access_key",
        "ALIBABA_CLOUD_SECURITY_TOKEN": "sts_security_token",
        // 可选,使用STS Token时需要
      }
    }
  }
}

组件

OpenAPI工具

  • add_tags_to_db_instance: 向RDS实例添加标签。
  • allocate_instance_public_connection: 分配RDS实例的公共连接。
  • attach_whitelist_template_to_instance: 将白名单模板附加到RDS实例。
  • create_db_instance: 创建RDS实例。
  • create_db_instance_account: 为RDS实例创建账户。
  • describe_all_whitelist_template: 查询白名单模板列表。
  • describe_available_classes: 查询可用的实例类型和存储范围。
  • describe_available_zones: 查询RDS实例可用区域。
  • describe_bills: 查询用户在特定计费周期内所有产品实例或计费项目的消费汇总。
  • describe_db_instance_accounts: 批量检索多个RDS实例的账户信息。
  • describe_db_instance_attribute: 查询实例详情。
  • describe_db_instance_databases: 批量检索多个RDS实例的数据库信息。
  • describe_db_instance_ip_allowlist: 批量检索多个RDS实例的IP允许列表配置。
  • describe_db_instance_net_info: 批量检索多个RDS实例的网络配置详情。
  • describe_db_instance_parameters: 批量检索多个RDS实例的参数信息。
  • describe_db_instance_performance: 查询实例性能数据。
  • describe_db_instances: 查询实例。
  • describe_error_logs: 查询实例的错误日志。
  • describe_instance_linked_whitelist_template: 查询白名单模板列表。
  • describe_monitor_metrics: 使用DAS(数据库自治服务)API查询实例的性能和诊断指标。
  • describe_slow_log_records: 查询RDS实例的慢日志记录。
  • describe_sql_insight_statistic: 查询SQL日志统计,包括SQL耗时、执行次数和账户。
  • describe_vpcs: 查询VPC列表。
  • describe_vswitches: 查询VSwitch列表。
  • modify_security_ips: 修改RDS实例的安全IP白名单。
  • get_current_time: 获取当前时间。
  • modify_db_instance_description: 修改RDS实例描述。
  • modify_db_instance_spec: 修改RDS实例规格。
  • modify_parameter: 修改RDS实例参数。
  • restart_db_instance: 重启RDS实例。

SQL工具

MCP服务器会自动创建一个只读账户,执行SQL语句,然后自动删除该账户。此过程要求MCP服务器能够连接到实例。

  • explain_sql: 执行sql explain并返回sql结果。
  • show_engine_innodb_status: 执行sql show engine innodb status并返回sql结果。
  • show_create_table: 执行sql show create table并返回sql结果。
  • query_sql: 执行只读sql并返回sql结果。

工具集

工具集将可用的MCP工具分组,以便您可以启用所需的工具。启动服务器时可以通过以下方式配置工具集:

  • 命令行--toolsets 参数
  • 环境变量MCP_TOOLSETS

可用工具集

以下是工具集及其功能列表:

  • rds: 启用标准托管RDS服务的所有工具
  • rds_custom_read: 启用RDS Custom的只读工具
  • rds_custom_all: 启用RDS Custom的全部读写工具

格式

使用逗号分隔的工具集名称(逗号前后无空格):

rds,rds_custom_all

示例

# 单个工具集
--toolsets rds

# 多个工具集
--toolsets rds,rds_mssql_custom

# 环境变量
export MCP_TOOLSETS=rds,rds_custom_all

默认行为

如果未指定工具集,默认加载rds组。

资源

暂无

提示

# 角色  
您是专业的阿里巴巴云RDS协力助手,专注于为客户提供高效的RDS(关系型数据库服务)技术支持和解决方案。您的目标是通过清晰的问题分解、精确的工具调用和准确的时间计算帮助客户快速解决问题。

## 技能  

### 技能1:问题分解与分析  
- 深入拆解用户问题以识别核心需求及可能涉及的步骤/命令。  
- 提供清晰的任务分解确保每一步都贡献于最终解决方案。
- 尽可能地以表格形式组织答案。

### 技能2:RDS MCP工具调用  
- 熟练调用RDS MCP工具以检索数据库信息或执行操作。  
- 工具调用必须遵循任务分解并与逻辑推理和客户需求一致。  
- 根据用户需求选择适当的MCP模块(如监控数据查询、性能诊断、备份/恢复)。  

### 技能3:时间解释与计算  
- 准确解析“今天”、“昨天”或“上一小时”等相对时间概念。  
- 使用当前时间将相对时间表达转换为精确的时间范围或时间戳,以支持数据查询或操作。  

## 约束  
- **先进行任务分解**:始终提供详细的任务分解。  
- **明确工具依赖性**:所有MCP工具调用必须由明确的任务需求和逻辑推理证明。  
- **时间精度**:为时间敏感的查询计算确切的时间范围。  
- **专业专注**:仅讨论与阿里巴巴云RDS相关的技术主题。  
- **安全意识**:确保不执行任何可能影响客户数据库的操作。

使用案例

mydba

阿里巴巴云数据库MyDBA代理(<a href="./component/mydba/README.md">README.md</a>

  • 购买RDS <img src="./assets/buy_rds.gif" alt="购买RDS" width="500"/>
  • 诊断RDS <img src="./assets/diagnose.gif" alt="诊断RDS" width="500"/>

贡献

欢迎贡献!请随意提交Pull Request。

  1. 分叉仓库
  2. 创建您的功能分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m '添加一些惊人的功能')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 打开Pull Request

许可证

本项目根据Apache 2.0许可证发布。

联系信息

如有任何问题或疑虑,请通过钉钉群联系我们:106730017609

<img src="./assets/dingding.png" alt="store" width="500"/>