通过OPENAPI为RDS服务提供的MCP服务器
uvuv python install 3.12安装Python<img src="./assets/cherry-config.png" alt="cherry_config"/>导入过程中可能会出现以下错误,可以忽略: xxx settings.mcp.addServer.importFrom.connectionFailed
{
"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"
}
}
}
}
最后,点击启用MCP
<img src="./assets/mcp_turn_on.png" alt="mcp_turn_on"/>您可以使用下面提供的提示模板来增强您的体验。
设置环境变量并运行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错误,请参考文档获取解决方案。
从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时需要
}
}
}
}
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实例。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_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代理(<a href="./component/mydba/README.md">README.md</a>)
欢迎贡献!请随意提交Pull Request。
git checkout -b feature/amazing-feature)git commit -m '添加一些惊人的功能')git push origin feature/amazing-feature)本项目根据Apache 2.0许可证发布。
如有任何问题或疑虑,请通过钉钉群联系我们:106730017609
<img src="./assets/dingding.png" alt="store" width="500"/>