Alibaba Cloud RDS OpenAPI MCP Server
Gestiona el servicio de base de datos relacional (RDS) de Alibaba Cloud mediante la OpenAPI.
Documentación
English | 中文
Alibaba Cloud RDS OpenAPI MCP Server
Servidor MCP para servicios RDS a través de OPENAPI
Requisitos previos
- Instale
uvdesde Astral o el README de GitHub - Instale Python usando
uv python install 3.12 - Credenciales de Alibaba Cloud con acceso a los servicios RDS de Alibaba Cloud
Inicio rápido
Usando cherry-studio (Recomendado)
- Descargue e instale cherry-studio
- Siga la documentación para instalar uv, que es necesario para el entorno MCP
- Configure y use RDS MCP según la documentación. Puede importar rápidamente la configuración de RDS MCP usando el JSON a continuación. Establezca ALIBABA_CLOUD_ACCESS_KEY_ID y ALIBABA_CLOUD_ACCESS_KEY_SECRET con su AK/SK de Alibaba Cloud.
El siguiente error puede aparecer durante la importación, puede ignorarse: 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"
}
}
}
}
-
Finalmente, haga clic para activar MCP
-
Puede usar la plantilla de prompt proporcionada a continuación para mejorar su experiencia.
Usando Cline
Configure su entorno y ejecute el servidor MCP.
# set env
export SERVER_TRANSPORT=sse;
export SERVER_HOST=127.0.0.1; # Default: 127.0.0.1. API_KEY is required when binding to a non-loopback host.
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; # optional, required when using STS Token
export API_KEY=$you_mcp_server_api_key; # Required when SERVER_HOST is not a loopback address.
export ENABLE_WRITE_TOOLS=false; # Set true only when intentionally exposing write-capable tools on a non-loopback host.
export ALLOW_HEADER_CREDENTIALS=false; # Default false. Set true only in trusted deployments that require per-request credentials.
# run mcp server
uvx alibabacloud-rds-openapi-mcp-server@latest
Después de ejecutar el servidor MCP, verá la siguiente salida:
INFO: Started server process [91594]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
Y luego configure Cline.
remote_server = "http://127.0.0.1:8000/sse";
Cuando API_KEY esté configurado, los clientes MCP deben enviar Authorization: Bearer <API_KEY>.
Si encuentra un error de
401 Incorrect API key providedal usar Qwen, consulte la documentación para soluciones.
Usando Claude
Descargue desde Github
git clone https://github.com/aliyun/alibabacloud-rds-openapi-mcp-server.git
Agregue la siguiente configuración al archivo de configuración del cliente 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",
// optional, required when using STS Token
}
}
}
}
Componentes
Herramientas OpenAPI
add_tags_to_db_instance: Agregar etiquetas a una instancia RDS.allocate_instance_public_connection: Asignar una conexión pública para una instancia RDS.attach_whitelist_template_to_instance: Adjuntar una plantilla de lista blanca a una instancia RDS.create_db_instance: Crear una instancia RDS.create_db_instance_account: Crear una cuenta para una instancia RDS.describe_all_whitelist_template: Consultar la lista de plantillas de lista blanca.describe_available_classes: Consultar clases de instancia disponibles y rangos de almacenamiento.describe_available_zones: Consultar zonas disponibles para instancias RDS.describe_bills: Consultar el resumen de consumo de todas las instancias de producto o elementos de facturación para un usuario dentro de un período de facturación específico.describe_db_instance_accounts: Recuperar por lotes la información de cuentas de múltiples instancias RDS.describe_db_instance_attribute: Consultar los detalles de una instancia.describe_db_instance_databases: Recuperar por lotes la información de bases de datos de múltiples instancias RDS.describe_db_instance_ip_allowlist: Recuperar por lotes las configuraciones de lista blanca de IP de múltiples instancias RDS.describe_db_instance_net_info: Recuperar por lotes los detalles de configuración de red de múltiples instancias RDS.describe_db_instance_parameters: Recuperar por lotes la información de parámetros de múltiples instancias RDS.describe_db_instance_performance: Consultar los datos de rendimiento de una instancia.describe_db_instances: Consultar instancias.describe_error_logs: Consultar el registro de errores de una instancia.describe_instance_linked_whitelist_template: Consultar la lista de plantillas de lista blanca.describe_monitor_metrics: Consultar métricas de rendimiento y diagnóstico de una instancia usando la API DAS (Database Autonomy Service).describe_slow_log_records: Consultar registros de consultas lentas para una instancia RDS.describe_sql_insight_statistic: Consultar estadísticas de registros SQL, incluyendo tiempo de costo SQL, tiempos de ejecución y cuenta.describe_vpcs: Consultar la lista de VPC.describe_vswitches: Consultar la lista de VSwitch.modify_security_ips: Modificar la lista blanca de IP de seguridad de la instancia RDS.get_current_time: Obtener la hora actual.modify_db_instance_description: Modificar las descripciones de la instancia RDS.modify_db_instance_spec: Modificar las especificaciones de la instancia RDS.modify_parameter: Modificar los parámetros de la instancia RDS.restart_db_instance: Reiniciar una instancia RDS.
Herramientas SQL
El servidor MCP creará automáticamente una cuenta de solo lectura, ejecutará la declaración SQL y luego eliminará automáticamente la cuenta. Este proceso requiere que el servidor MCP pueda conectarse a la instancia.
explain_sql: EjecutarEXPLAINpara una sola declaraciónSELECTy devolver el plan de ejecución.show_engine_innodb_status: Ejecutar sqlshow engine innodb statusy devolver el resultado sql.show_create_table: EjecutarSHOW CREATE TABLEpara identificadores de base de datos y tablas validados.show_largest_table: Consultar las primeras tablas con mayor ocupación de espacio.show_largest_table_fragment: Consultar las tablas con los fragmentos de tabla más grandes.query_sql: Ejecutar una sola declaración SQL de solo lectura (SELECT,SHOW,DESCRIBEoEXPLAIN) y devolver el resultado sql.
Conjuntos de herramientas
Los conjuntos de herramientas agrupan las herramientas MCP disponibles para que pueda habilitar solo lo que necesita. Configure los conjuntos de herramientas al iniciar el servidor usando cualquiera de:
- Línea de comandos: parámetro
--toolsets - Variable de entorno:
MCP_TOOLSETS
Conjuntos de herramientas disponibles
Aquí hay una lista de conjuntos de herramientas y sus funciones:
-
rds: Habilita todas las herramientas para el servicio RDS estándar administrado
-
rds_custom_read: Habilita herramientas de solo lectura para RDS Custom.
-
rds_custom_all: Habilita herramientas completas de lectura y escritura para RDS Custom.
Formato
Use nombres de conjuntos de herramientas separados por comas (sin espacios alrededor de las comas):
rds,rds_custom_all
Ejemplos
# Single toolset
--toolsets rds
# Multiple tools
--toolsets rds,rds_mssql_custom
# Environment variable
export MCP_TOOLSETS=rds,rds_custom_all
Comportamiento predeterminado
Si no se especifica ningún conjunto de herramientas, el grupo predeterminado rds se carga automáticamente.
Recursos
Ninguno por ahora
Habilidades
Este proyecto admite la extensión de las capacidades de RDS Copilot a través de Habilidades. Hay dos habilidades disponibles:
- alibabacloud-rds-copilot: Invoca la API del Asistente de IA de RDS para preguntas y respuestas inteligentes, optimización de SQL y resolución de problemas.
- alibabacloud-rds-instances-manage: Expone las herramientas OpenAPI y herramientas SQL de este proyecto como un script/CLI para usar con OpenClaw, Claude Code y plataformas similares. El modelo ejecuta
alibabacloud-rds-instances-manage listyalibabacloud-rds-instances-manage run <tool_name> '<JSON args>'para administrar instancias RDS (consultar instancias, monitoreo, registros lentos, parámetros, ejecutar SQL de solo lectura, etc.). Después de instalar el paquete, el comandoalibabacloud-rds-instances-manageestá disponible; el directorio de habilidades esskill/alibabacloud-rds-instances-manage/.
Para información detallada sobre el uso de Habilidades, consulte: Documentación de Habilidades
Prompts
# Role
You are a professional Alibaba Cloud RDS Copilot, specializing in providing customers with efficient technical support and solutions for RDS (Relational Database Service). Your goal is to help customers resolve issues quickly through clear problem decomposition, precise tool invocation, and accurate time calculations.
## Skills
### Skill 1: Problem Decomposition and Analysis
- Deeply deconstruct user questions to identify core requirements and potential steps/commands involved.
- Provide clear task breakdowns to ensure each step contributes to the final solution.
- Please organize your answers in a table format as much as possible.
### Skill 2: RDS MCP Tool Invocation
- Proficiently invoke the RDS MCP tool to retrieve database information or execute operations.
- Tool invocation must follow task decomposition and align with logical reasoning and customer needs.
- Select appropriate MCP modules (e.g., monitoring data queries, performance diagnostics, backup/recovery) based on user requirements.
### Skill 3: Time Interpretation and Calculation
- Accurately parse relative time concepts like "today," "yesterday," or "the last hour."
- Convert relative time expressions into precise time ranges or timestamps using the current time to support data queries or operations.
## Constraints
- **Task Decomposition First**: Always provide detailed task breakdowns.
- **Tool Dependency Clarity**: All MCP tool invocations must be justified by clear task requirements and logical reasoning.
- **Time Precision**: Calculate exact time ranges for time-sensitive queries.
- **Professional Focus**: Discuss only Alibaba Cloud RDS-related technical topics.
- **Safety Awareness**: Ensure no operations negatively impact customer databases.
Guía de implementación de seguridad
No exponga el endpoint MCP a Internet público. El servidor puede invocar herramientas OpenAPI de Alibaba Cloud RDS y puede usar credenciales de nube sensibles, por lo que un endpoint MCP expuesto a Internet puede crear riesgos de seguridad graves.
El modelo de implementación fuertemente recomendado es ejecutar el servidor MCP solo en la dirección de loopback local:
export SERVER_HOST=127.0.0.1
Si debe usar una dirección que no sea de loopback, restrínjala a una red privada de confianza, aplique controles de acceso a la red, configure API_KEY y evite habilitar herramientas con capacidad de escritura a menos que sea explícitamente necesario.
Contribuciones
¡Las contribuciones son bienvenidas! No dude en enviar una Solicitud de Extracción (Pull Request).
- Haga un fork del repositorio
- Cree su rama de características (
git checkout -b feature/amazing-feature) - Haga commit de sus cambios (
git commit -m 'Add some amazing feature') - Haga push a la rama (
git push origin feature/amazing-feature) - Abra una Solicitud de Extracción (Pull Request)
Licencia
Este proyecto está licenciado bajo la Licencia Apache 2.0.
Información de contacto
Para cualquier pregunta o inquietud, contáctenos a través del grupo DingTalk: 106730017609
