Skip to main content
Glama

Servidor MCP de CloudPulse

Visibilidad de infraestructura entre nubes para agentes de IA. Diagnostica problemas en AWS, Vercel, GCP y Cloudflare sin salir nunca de tu editor.

License: MIT Node.js ≥18


¿Por qué CloudPulse?

Punto de dolor

Solución de CloudPulse

Error de frontend en Vercel → debo abrir la consola de AWS

get_correlated_logs fusiona ambas líneas de tiempo automáticamente

La IA no puede ver si un SG bloquea el puerto 5432

diagnose_service_link inspecciona las reglas del grupo de seguridad en vivo

Alcanzar límites de concurrencia de Lambda silenciosamente

check_resource_limits advierte al 80% de uso

Topología desconocida antes de depurar

list_cloud_topology mapea cada servicio activo en segundos


Inicio rápido

1. Instalar / ejecutar con npx

npx cloudpulse-mcp

El servidor detecta automáticamente las credenciales ya presentes en tu máquina (AWS CLI, variables de entorno, etc.).

2. Configura tu cliente de IA

Claude Desktop – añade a ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "cloudpulse": {
      "command": "npx",
      "args": ["-y", "cloudpulse-mcp"],
      "env": {
        "VERCEL_TOKEN": "<your-vercel-token>",
        "AWS_PROFILE": "default",
        "AWS_REGION": "us-east-1"
      }
    }
  }
}

Cursor – añade a .cursor/mcp.json en tu proyecto:

{
  "mcpServers": {
    "cloudpulse": {
      "command": "npx",
      "args": ["-y", "cloudpulse-mcp"],
      "env": {
        "VERCEL_TOKEN": "<your-vercel-token>",
        "AWS_REGION": "us-east-1"
      }
    }
  }
}

VS Code + GitHub Copilot (Modo Agente) – requiere VS Code 1.99+ y la extensión GitHub Copilot.

Primero, compila el proyecto:

npm run build

Luego crea .vscode/mcp.json en este repositorio:

{
  "servers": {
    "cloudpulse": {
      "type": "stdio",
      "command": "node",
      "args": ["${workspaceFolder}/dist/index.js"],
      "env": {
        "VERCEL_TOKEN": "${env:VERCEL_TOKEN}",
        "AWS_REGION": "${env:AWS_REGION}",
        "AWS_PROFILE": "${env:AWS_PROFILE}"
      }
    }
  }
}

${env:VAR} lee desde el entorno de tu shell — sin secretos en el control de versiones.

Para usar: abre Copilot Chat, cambia al modo Agente, haz clic en Select Tools y habilita las herramientas de CloudPulse, luego pregunta de forma natural:

Why can't my Vercel project reach AWS RDS instance "my-db"?

Credenciales y seguridad

CloudPulse sigue una política de solo lectura, sin almacenamiento:

Credencial

Cómo proporcionar

AWS

AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY, o AWS_PROFILE, o rol de instancia EC2

Vercel

VERCEL_TOKEN (token de acceso personal de vercel.com/account/tokens)

Vercel Team

VERCEL_TEAM_ID (opcional)

GCP

GOOGLE_APPLICATION_CREDENTIALS

Cloudflare

CLOUDFLARE_API_TOKEN + CLOUDFLARE_ACCOUNT_ID

No se registran ni almacenan credenciales. Todos los valores se leen de las variables de entorno en el momento de la llamada.


Herramientas disponibles

list_cloud_topology

Escanea todas las plataformas configuradas y devuelve un mapa de servicios unificado.

Input (all optional):
  platforms       – ["aws", "vercel"]  filter platforms
  aws_region      – "us-east-1"

get_correlated_logs

Obtiene y fusiona registros de Vercel + AWS CloudWatch en una sola línea de tiempo.

Input:
  start_time *    – ISO-8601 or epoch ms  e.g. "2024-06-01T10:00:00Z"
  end_time        – defaults to now
  trace_id        – filter by trace/request ID across all sources
  aws_log_group_prefix  – default "/aws/lambda"
  vercel_project  – project name or ID
  aws_region

Comprueba por qué el servicio A no puede llegar al recurso B.

Input:
  source_service *  – "vercel" | "lambda" | "ec2" | ...
  target_resource * – "<type>:<id>"  e.g. "aws-rds:my-db", "external-api:https://..."
  port              – auto-detected (5432 for RDS, 443 for APIs, ...)
  vercel_project
  aws_region

Comprobaciones realizadas:

  • Las variables de entorno de Vercel contienen una DATABASE_URL / DB_URL

  • El grupo de seguridad de AWS permite TCP entrante en el puerto requerido

  • Prueba de alcanzabilidad HEAD de API externa

check_resource_limits

Consulta cuotas y marca los recursos que se acercan a sus límites.

Input (all optional):
  platforms        – filter platforms
  warn_threshold   – usage % to warn at (default 80)
  aws_region

Hoja de ruta

Fase

Estado

Alcance

1 – MVP

✅ Hecho

Vercel + AWS (Lambda, RDS, CloudWatch, Security Groups, S3)

2 – Extensión

✅ Hecho

GCP Cloud Run + Cloud SQL + Logging; Cloudflare Workers + Pages; S3 CORS

3 – Inteligencia

🔜

Libros de jugadas de diagnóstico preconstruidos para CORS, tiempo de espera 504, bucles de arranque en frío


Desarrollo

git clone https://github.com/Galadriel-Tech-Solutions/cloudpulse-mcp
cd cloudpulse-mcp
npm install
npm run dev        # run from source with tsx
npm run build      # compile to dist/

Estructura del proyecto

src/
├── index.ts                     # MCP server + tool registration
├── types.ts                     # shared domain types
├── utils.ts                     # concurrency, formatting helpers
├── providers/
│   ├── aws/
│   │   ├── index.ts             # client factory + isAWSConfigured()
│   │   ├── cloudwatch.ts        # CloudWatch Logs
│   │   ├── lambda.ts            # Lambda function listing
│   │   ├── rds.ts               # RDS/Aurora instances & clusters
│   │   ├── ec2.ts               # Security Group inspection
│   │   ├── s3.ts                # S3 buckets + CORS checks
│   │   └── quotas.ts            # Service Quotas API
│   ├── gcp/
│   │   ├── index.ts             # isGCPConfigured() + resolveGCPProject()
│   │   ├── cloud-run.ts         # Cloud Run services
│   │   ├── cloud-sql.ts         # Cloud SQL instances (sqladmin v1beta4)
│   │   └── logging.ts           # Cloud Logging
│   ├── cloudflare/
│   │   └── index.ts             # Pages, Workers, Worker tail logs (WebSocket)
│   └── vercel/
│       └── index.ts             # Vercel REST API v9
└── tools/
    ├── list-cloud-topology.ts
    ├── get-correlated-logs.ts
    ├── diagnose-service-link.ts
    └── check-resource-limits.ts

Añadir una nueva plataforma en la nube

  1. Crea src/providers/<plataforma>/index.ts exportando:

    • is<Plataforma>Configured(): boolean

    • Funciones de datos específicas del proveedor

  2. Conecta las funciones en las herramientas relevantes bajo src/tools/

  3. Añade el nombre de la plataforma a la unión CloudPlatform en src/types.ts


Licencia

MIT © Colaboradores de CloudPulse

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - A tier

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Galadriel-Tech-Solutions/cloudpulse-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server