使用说明
AWS Cost Explorer MCP Server
Servidor MCP para consultar costos, pricing y recomendaciones de optimización de AWS.
Características
- 💰 Consultar costos actuales y históricos
- 📊 Desglose de costos por servicio
- 🔮 Forecasts de costos futuros
- 💡 Recomendaciones de ahorro (Trusted Advisor)
- 📈 Análisis de tendencias de gasto
- 🏷️ Costos por tags
Requisitos
- Python 3.11+
- Cuenta AWS con permisos de Cost Explorer
- AWS CLI configurado
Instalación
# Clonar repositorio
git clone https://github.com/tu-empresa/aws-cost-mcp-server.git
cd aws-cost-mcp-server
# Crear entorno virtual
python -m venv venv
source venv/bin/activate # En Windows: venv\Scripts\activate
# Instalar dependencias
pip install -r requirements.txt
# Configurar AWS credentials
aws configure
Configuración en Kiro
Agregar al archivo ~/.kiro/settings/mcp.json:
{
"mcpServers": {
"aws-cost-explorer": {
"command": "python3",
"args": ["/ruta/completa/aws-cost-mcp-server/server.py"],
"env": {
"AWS_PROFILE": "default",
"AWS_REGION": "us-east-1"
},
"disabled": false,
"autoApprove": ["get_current_costs", "get_cost_forecast"]
}
}
}
Uso
Una vez configurado en Kiro, puedes usar comandos como:
"¿Cuánto he gastado este mes en AWS?"
"Muéstrame los costos por servicio de los últimos 30 días"
"¿Cuál es el forecast de costos para el próximo mes?"
"Dame recomendaciones para reducir costos"
Tools Disponibles
get_current_costs
Obtiene costos del período actual.
Parámetros:
period(opcional): "today", "week", "month", "quarter", "year"granularity(opcional): "DAILY", "MONTHLY"
get_costs_by_service
Desglose de costos por servicio AWS.
Parámetros:
start_date: Fecha inicio (YYYY-MM-DD)end_date: Fecha fin (YYYY-MM-DD)top_n(opcional): Top N servicios más costosos
get_cost_forecast
Proyección de costos futuros.
Parámetros:
months(opcional): Número de meses a proyectar (default: 1)
get_cost_anomalies
Detecta anomalías en el gasto.
Parámetros:
days(opcional): Días a analizar (default: 30)
get_savings_recommendations
Recomendaciones de ahorro de AWS.
Parámetros:
category(opcional): "compute", "storage", "database", "all"
get_costs_by_tag
Costos agrupados por tags.
Parámetros:
tag_key: Nombre del tag (ej: "Environment", "Project")start_date: Fecha inicioend_date: Fecha fin
Permisos AWS Requeridos
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ce:GetCostAndUsage",
"ce:GetCostForecast",
"ce:GetDimensionValues",
"ce:GetTags",
"ce:GetCostCategories",
"ce:GetAnomalies",
"support:DescribeTrustedAdvisorChecks",
"support:DescribeTrustedAdvisorCheckResult"
],
"Resource": "*"
}
]
}
Ejemplos
Costos del mes actual
# Kiro pregunta: "¿Cuánto llevo gastado este mes?"
# MCP ejecuta: get_current_costs(period="month")
Top 5 servicios más costosos
# Kiro pregunta: "¿Cuáles son mis 5 servicios más caros?"
# MCP ejecuta: get_costs_by_service(top_n=5)
Forecast de 3 meses
# Kiro pregunta: "¿Cuánto gastaré en los próximos 3 meses?"
# MCP ejecuta: get_cost_forecast(months=3)
Troubleshooting
Switching AWS Accounts
When you switch AWS accounts using aws configure, the MCP server will automatically use the new credentials on the next request. The server creates fresh boto3 clients that read current credentials from your environment.
If you experience issues:
- Reconnect the MCP server from the Kiro MCP Server view
- Or restart Kiro completely (Cmd+Q on macOS)
Error: "Access Denied"
- Verifica que tu usuario AWS tenga permisos de Cost Explorer
- Asegúrate de que Cost Explorer esté habilitado en tu cuenta
Error: "Cost Explorer not enabled"
- Ve a AWS Console → Billing → Cost Explorer
- Click en "Enable Cost Explorer"
Error: "No data available"
- Cost Explorer puede tardar 24 horas en tener datos
- Verifica que tu cuenta tenga actividad
Desarrollo
# Ejecutar en modo desarrollo
python server.py --debug
# Ejecutar tests
pytest tests/
# Linting
pylint server.py
Licencia
MIT License
📊 Nueva Funcionalidad: Informes HTML Interactivos
El servidor ahora puede generar informes HTML profesionales con gráficos interactivos!
Características:
- ✅ Gráficos interactivos con Chart.js
- ✅ Diseño responsive y moderno
- ✅ Exportable a PDF
- ✅ Listo para presentaciones
- ✅ 3 tipos de visualizaciones (línea, barras, dona)
Uso:
"Genera un informe HTML de mis costos de AWS de este mes"
"Crea un reporte visual de costos de enero 2026"
🛠️ Herramientas Disponibles
Análisis de Costos:
get_current_costs- Costos del período actualget_costs_by_service- Desglose por servicioget_daily_costs- Costos diarios detalladosget_yearly_costs- Análisis anual mes por mesget_cost_trends- Tendencias de gastoget_cost_forecast- Proyecciones futurasget_cost_anomalies- Detección de anomalías
Optimización de EC2:
get_ec2_instances- Lista de instancias con costosget_ec2_cost_optimization- Análisis y recomendacionesget_instance_recommendations- Recomendaciones específicas
Reportes:
get_savings_recommendations- Recomendaciones de ahorroget_ri_coverage- Cobertura de Reserved Instancesget_costs_by_tag- Costos agrupados por tagsgenerate_cost_report- Informe HTML interactivo (NUEVO!)