Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
Galadriel-Tech-Solutions avatar

Cloudpulse MCP

  • 1 repo stars
  • Updated April 19, 2026
  • Galadriel-Tech-Solutions/cloudpulse-mcp

Cloudpulse is an MCP server for cross-cloud observability across AWS, GCP, Vercel, and Cloudflare via stdio.

About

Cloudpulse is an MCP server aimed at developers and small teams who ship on more than one cloud edge. Instead of opening four dashboards when something breaks, you register cloudpulse-mcp with stdio transport and supply the environment variables each vendor expects. Your agent can then reason over AWS, Google Cloud, Vercel, and Cloudflare context in one thread—useful when a deploy on Vercel still depends on Cloudflare DNS and an AWS backend. Version 0.1.2 is early but the scope matches how SaaS stacks actually look: polyglot infra with one person on call. It does not replace full APM suites; it gives agents enough read-oriented hooks to answer what is happening where during operate and incident iteration.

  • Cross-cloud coverage: AWS, GCP, Vercel, and Cloudflare from one MCP server
  • stdio npm package cloudpulse-mcp v0.1.2
  • Credential-driven setup via AWS keys, VERCEL_TOKEN, GCP service account path, and CLOUDFLARE_API_TOKEN
  • Built for AI agents that triage incidents without switching vendor consoles
  • Developer Tools–adjacent ops surface rather than a single-cloud CLI wrapper

Cloudpulse MCP by the numbers

  • Data as of Aug 10, 2026 (Skillselion catalog sync)
terminal
claude mcp add --env AWS_ACCESS_KEY_ID=YOUR_AWS_ACCESS_KEY_ID --env AWS_SECRET_ACCESS_KEY=YOUR_AWS_SECRET_ACCESS_KEY --env AWS_REGION=YOUR_AWS_REGION --env VERCEL_TOKEN=YOUR_VERCEL_TOKEN --env GOOGLE_APPLICATION_CREDENTIALS=YOUR_GOOGLE_APPLICATION_CREDENTIALS --env GOOGLE_CLOUD_PROJECT=YOUR_GOOGLE_CLOUD_PROJECT --env CLOUDFLARE_API_TOKEN=YOUR_CLOUDFLARE_API_TOKEN --env CLOUDFLARE_ACCOUNT_ID=YOUR_CLOUDFLARE_ACCOUNT_ID cloudpulse-mcp -- npx -y cloudpulse-mcp

Add your badge

Show developers this MCP server is listed on Skillselion. Paste this into your README.

Listed on Skillselion
repo stars1
Packagecloudpulse-mcp
TransportSTDIO
AuthRequired
Last updatedApril 19, 2026
RepositoryGaladriel-Tech-Solutions/cloudpulse-mcp

What it does

Let your agent pull cross-cloud health and observability signals from AWS, GCP, Vercel, and Cloudflare in one MCP session.

Who is it for?

Best when you're running production on Vercel plus Cloudflare plus AWS or GCP and want agent-assisted incident triage.

Skip if: Single-host hobby projects with no cloud accounts, or teams that need enterprise-grade SLO dashboards out of the box.

What you get

After MCP registration with provider tokens, the agent can query Cloudpulse-backed tools for unified multi-vendor operational context.

  • Agent-accessible cross-provider operational queries
  • Faster multi-console incident context inside the IDE
  • Credential-scoped MCP integration v0.1.2

By the numbers

  • 4 cloud platforms: AWS, GCP, Vercel, Cloudflare
  • Package cloudpulse-mcp version 0.1.2
  • stdio transport
README.md

CloudPulse MCP Server

Cross-cloud infrastructure visibility for AI agents. Diagnose issues across AWS, Vercel, GCP, and Cloudflare without ever leaving your editor.

License: MIT Node.js ≥18


Why CloudPulse?

Pain point CloudPulse fix
Frontend error on Vercel → must open AWS console get_correlated_logs merges both timelines automatically
AI can't see if an SG blocks port 5432 diagnose_service_link inspects the security group rules live
Hitting Lambda concurrency limits silently check_resource_limits warns at 80% usage
Topology unknown before debugging list_cloud_topology maps every active service in seconds

Quick Start

1. Install / run with npx

npx cloudpulse-mcp

The server auto-detects credentials already present on your machine (AWS CLI, environment variables, etc.).

2. Configure your AI client

Claude Desktop – add to ~/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 – add to .cursor/mcp.json in your project:

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

VS Code + GitHub Copilot (Agent Mode) – requires VS Code 1.99+ and the GitHub Copilot extension.

First, build the project:

npm run build

Then create .vscode/mcp.json in this repository:

{
  "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} reads from your shell environment — no secrets in source control.

To use: open Copilot Chat, switch to Agent mode, click Select Tools and enable the CloudPulse tools, then ask naturally:

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

Credentials & Security

CloudPulse follows a read-only, no-storage policy:

Credential How to provide
AWS AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY, or AWS_PROFILE, or EC2 instance role
Vercel VERCEL_TOKEN (personal access token from vercel.com/account/tokens)
Vercel Team VERCEL_TEAM_ID (optional)
GCP GOOGLE_APPLICATION_CREDENTIALS
Cloudflare CLOUDFLARE_API_TOKEN + CLOUDFLARE_ACCOUNT_ID

No credentials are logged or stored. All values are read from environment variables at call time.


Available Tools

list_cloud_topology

Scan all configured platforms and return a unified service map.

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

get_correlated_logs

Fetch and merge logs from Vercel + AWS CloudWatch into one timeline.

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

diagnose_service_link

Check why service A can't reach resource 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

Checks performed:

  • Vercel env vars contain a DATABASE_URL / DB_URL
  • AWS Security Group allows inbound TCP on the required port
  • External API HEAD reachability test

check_resource_limits

Query quotas and flag resources nearing their limits.

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

Roadmap

Phase Status Scope
1 – MVP ✅ Done Vercel + AWS (Lambda, RDS, CloudWatch, Security Groups, S3)
2 – Extend ✅ Done GCP Cloud Run + Cloud SQL + Logging; Cloudflare Workers + Pages; S3 CORS
3 – Intelligence 🔜 Pre-built diagnostic playbooks for CORS, 504 timeout, cold-start loops

Development

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/

Project structure

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

Adding a new cloud platform

  1. Create src/providers/<platform>/index.ts exporting:
    • is<Platform>Configured(): boolean
    • Provider-specific data functions
  2. Wire the functions into the relevant tools under src/tools/
  3. Add the platform name to the CloudPlatform union in src/types.ts

License

MIT © CloudPulse Contributors

Recommended MCP Servers

How it compares

Multi-cloud observability MCP, not a single-provider IaC skill or hosted APM product.

FAQ

Who is Cloudpulse MCP for?

operators and agent users who manage live apps split across AWS, GCP, Vercel, and Cloudflare and want one MCP entry for status-style checks.

When should I use Cloudpulse MCP?

Use it during Operate when debugging outages, verifying deploy health, or comparing signals across providers from Claude Code or Cursor.

How do I add Cloudpulse MCP to my agent?

Install cloudpulse-mcp from npm, configure stdio MCP, and set AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION, VERCEL_TOKEN, GOOGLE_APPLICATION_CREDENTIALS, GOOGLE_CLOUD_PROJECT, and CLOUDFLARE_API_TOKEN as needed.

Monitoringmonitoringinfradeploy

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.