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


Related MCP server: Daemoon

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

Available Tools

4 tools
check_resource_limitsA

Query quota limits and current usage across configured cloud platforms. Highlights resources approaching or exceeding their limits (default warning threshold: 80%). Use this to proactively catch Lambda concurrency limits, Vercel plan caps, and similar issues before they cause outages.

Inputs: platforms, warn_threshold, aws_region.

get_correlated_logsA

Fetch logs from multiple cloud platforms (AWS CloudWatch + Vercel) for a given time window and optional trace ID, then merge them into a single chronological timeline. Use this to correlate errors across frontend and backend services.

Inputs: start_time (required), trace_id, end_time, aws_log_group_prefix, +4 more.

list_cloud_topologyA

Scan all configured cloud platforms (AWS, Vercel, GCP, Cloudflare) and return a unified topology of active services including their endpoints and regions. Run this first to understand the infrastructure landscape.

Inputs: platforms, aws_region.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.1/5.0

    Scored across 4 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose with no overlap: check_resource_limits focuses on quota monitoring, diagnose_service_link on connectivity diagnostics, get_correlated_logs on log aggregation, and list_cloud_topology on infrastructure discovery. The descriptions reinforce unique scopes, making misselection unlikely.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern (e.g., check_resource_limits, diagnose_service_link), using snake_case uniformly. This predictability aids agent understanding and tool selection without confusion.

    Tool Count4/5

    Four tools is a reasonable count for a cloud monitoring server, covering key areas like limits, diagnostics, logs, and topology. It feels slightly lean but well-scoped, as each tool addresses a distinct monitoring need without bloat.

    Completeness4/5

    The toolset covers core cloud monitoring workflows: proactive limits checking, connectivity diagnosis, log correlation, and topology mapping. Minor gaps exist, such as lack of alerting or remediation tools, but agents can work around these with the provided diagnostic and data-fetching capabilities.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Enables AI agents to discover, evaluate, and provision cloud infrastructure across AWS, GCP, and Azure with cross-cloud normalization, cost comparisons, and deployable execution kits.
      5
      12 npm
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Gives AI coding agents (Claude Code, Cursor, etc.) unified, secure access to dev infrastructure (Vercel, GitHub, Supabase, Cloudflare, GCP) via a single MCP token.
      MIT
    • F
      license
      Not graded
      quality
      C
      maintenance
      Provides real-time monitoring of AI agents, context, usage limits, workflows, files, Git, tests, builds, errors, secrets, and model-economy advice for tools like Claude Code, Codex, and Cursor, with 30 MCP tools for comprehensive observability.
      1
      -
    • F
      license
      A
      quality
      D
      maintenance
      Provides AI coding agents with real-time visibility into local development runtime state, enabling them to tail application logs, inspect ports, monitor process metrics, and diagnose network errors.
      1
      -