MCP CloudOps IaC Rules Server

MCP CloudOps IaC Rules Server

Enables the validation and generation of Terraform Infrastructure as Code according to Pragma CloudOps standards, covering security, structure, and documentation rules. It provides specialized tools for automated compliance reporting, security auditing, and standardized template generation.

Category
访问服务器

README

MCP CloudOps - Reglas IaC Completas

Un servidor MCP (Model Context Protocol) avanzado construido con Flask, especializado en validación y generación de Infrastructure as Code (IaC) con Terraform según las reglas de Pragma CloudOps.

🚀 Características Principales

🏗️ Reglas Básicas (B1-B5)

  • Estructura de 16 elementos obligatorios: Validación exacta de archivos y directorios
  • Convenciones de nomenclatura: {client}-{project}-{environment}-{type}-{key}
  • Variables obligatorias: client, project, environment con validaciones
  • Sistema de etiquetado de 2 niveles: default_tags + Name + additional_tags
  • Directorio sample/ funcional: Ejemplos completamente funcionales

⚙️ Reglas Avanzadas (A1-A7)

  • Tipos de datos inteligentes: map(object()), list(object()), map(string), list(string)
  • for_each obligatorio: Nunca usar count para recursos múltiples
  • Validaciones de variables: Validaciones críticas con contains(), regex()
  • Transformaciones simples en locals: Máximo 2 niveles, sin flatten() complejo
  • Outputs descriptivos: Descriptions obligatorios y estructura correcta

🔒 Reglas de Seguridad (S1-S6)

  • Cifrado obligatorio: Habilitado por defecto en todos los recursos
  • Acceso público bloqueado: Configuración segura por defecto
  • Force SSL/TLS: Conexiones seguras obligatorias
  • Políticas de menor privilegio: Estructura dinámica de políticas
  • Logging y monitoreo: Auditoría completa habilitada

📄 Reglas de Documentación (D1-D7)

  • README.md con 12 secciones obligatorias: Estructura completa y ordenada
  • CHANGELOG.md: Formato Keep a Changelog con Semantic Versioning
  • sample/README.md: Documentación completa de ejemplos
  • terraform-docs: Configuración automática y generación
  • Descriptions obligatorios: En variables y outputs

📁 Estructura del Proyecto

mcp-flask-server/
├── venv/                           # Entorno virtual de Python
├── reglas/                         # Archivos de reglas originales
│   ├── terraform_rules_basicas_final.md
│   ├── terraform_rules_avanzadas_final.md
│   ├── terraform_rules_seguridad_final.md
│   ├── terraform_rules_documentacion_final.md
│   └── terraform_prompt_maestro_final.md
├── mcp_stdio_server.py            # Servidor MCP principal con todas las herramientas
├── mcp_server.py                  # Servidor HTTP (versión original)
├── requirements.txt              # Dependencias de Python
└── README.md                     # Esta documentación

🛠️ Instalación y Configuración

1. Preparar el entorno

cd /ruta/completa/al/proyecto/mcp-flask-server
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

2. Configurar Amazon Q CLI

Agregar a /ruta/completa/al/proyecto/.aws/amazonq/mcp.json:

{
  "mcpServers": {
    "mcp-cloudops": {
      "command": "/ruta/completa/al/proyecto/mcp-flask-server/venv/bin/python",
      "args": ["/ruta/completa/al/proyecto/mcp-flask-server/mcp_stdio_server.py"],
      "env": {
        "PYTHONPATH": "/ruta/completa/al/proyecto/mcp-flask-server"
      }
    }
  }
}

3. Reiniciar Amazon Q CLI

# Cerrar Q CLI actual y reiniciar
q chat

🔧 Herramientas Disponibles

🏗️ Reglas Básicas

validar_estructura_modulo

Valida que el módulo tenga exactamente 16 elementos obligatorios.

Valida la estructura de mi módulo Terraform en /ruta/al/modulo

validar_variables_obligatorias

Verifica que estén presentes client, project, environment con descriptions.

Valida las variables obligatorias de mi archivo variables.tf

validar_convenciones_nomenclatura

Verifica el patrón {client}-{project}-{environment}-{type}-{key}.

Valida las convenciones de nomenclatura en mi módulo

⚙️ Reglas Avanzadas

validar_tipos_datos

Valida el uso correcto de map(object()), list(object()), etc.

Valida los tipos de datos en mis variables de Terraform

validar_for_each

Verifica que se use for_each en lugar de count.

Valida el uso de for_each en mi archivo main.tf

validar_transformaciones_locals

Verifica que las transformaciones en locals sean simples.

Valida las transformaciones en mi archivo locals.tf

🔒 Reglas de Seguridad

validar_cifrado_obligatorio

Verifica que el cifrado esté habilitado por defecto.

Valida que el cifrado esté configurado correctamente en mi módulo

validar_acceso_publico

Verifica que el acceso público esté bloqueado.

Valida la configuración de acceso público en mi módulo S3

validar_force_ssl

Verifica que SSL/TLS esté forzado.

Valida la configuración SSL/TLS en mi módulo

📄 Reglas de Documentación

validar_readme_estructura

Valida las 12 secciones obligatorias del README.md.

Valida la estructura de mi README.md de Terraform

validar_changelog

Valida el formato Keep a Changelog.

Valida mi archivo CHANGELOG.md

🛠️ Herramientas de Generación

generar_plantilla_readme

Genera README.md completo según todas las reglas.

Genera una plantilla README para mi módulo S3 llamado "terraform-s3-bucket"

generar_plantilla_changelog

Genera CHANGELOG.md con formato estándar.

Genera una plantilla CHANGELOG para mi módulo

generar_config_terraform_docs

Genera configuración .terraform-docs.yml.

Genera la configuración de terraform-docs para mi módulo

📊 Reporte Completo

generar_reporte_completo

Ejecuta todas las validaciones y genera reporte detallado.

Genera un reporte completo de validación IaC para mi módulo en /ruta/modulo

🧪 Pruebas

Ejecutar pruebas de funcionalidad

python3 test_iac_mcp.py

Probar herramientas específicas con Amazon Q CLI

# Ejemplos de comandos para Amazon Q CLI:

# Validación básica
"Valida la estructura de mi módulo Terraform en /Users/cristian/mi-modulo"

# Validación de seguridad  
"Verifica que el cifrado esté configurado en mi módulo S3"

# Generación de plantillas
"Genera una plantilla README completa para mi módulo Lambda"

# Reporte completo
"Crea un reporte de validación IaC completo para mi módulo"

📋 Casos de Uso Principales

1. Validación de Módulos Existentes

  • Verificar que módulos cumplan con todas las reglas
  • Identificar problemas de estructura, seguridad y documentación
  • Generar reportes de cumplimiento

2. Creación de Nuevos Módulos

  • Generar plantillas completas de documentación
  • Aplicar configuraciones de seguridad por defecto
  • Seguir convenciones de nomenclatura estándar

3. Auditoría y Cumplimiento

  • Reportes detallados de validación
  • Verificación de configuraciones de seguridad
  • Documentación automática actualizada

4. Desarrollo y Mantenimiento

  • Validación continua durante desarrollo
  • Generación automática de documentación
  • Aplicación consistente de mejores prácticas

🔍 Troubleshooting

Problema: "Herramienta no encontrada"

  • Verificar que Amazon Q CLI esté reiniciado
  • Confirmar configuración en mcp.json
  • Verificar que el servidor esté ejecutándose

Problema: "Error leyendo archivo"

  • Verificar rutas absolutas en argumentos
  • Confirmar permisos de lectura en archivos
  • Verificar que los archivos existan

Problema: "Validación fallida"

  • Revisar errores específicos en el reporte
  • Aplicar correcciones según las reglas
  • Re-ejecutar validación después de cambios

🚀 Próximas Mejoras

  • [ ] Integración con Checkov para validación de seguridad
  • [ ] Soporte para múltiples providers (Azure, GCP)
  • [ ] Validación de políticas IAM específicas
  • [ ] Generación automática de diagramas de arquitectura
  • [ ] Integración con CI/CD pipelines
  • [ ] Métricas de calidad de código IaC

📞 Soporte

Para soporte técnico o preguntas sobre las reglas IaC:

  • Revisar documentación en directorio reglas/
  • Ejecutar generar_reporte_completo para diagnóstico
  • Usar herramientas específicas para validaciones puntuales

Versión: 2.0.0 - Reglas IaC Completas
Última actualización: Agosto 2025
Compatibilidad: Amazon Q CLI, Terraform >= 1.0, AWS Provider >= 5.0

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选