Cloudpulse

io.github.lhf552004Published by GitHub account lhf552004v0.1.2Updated Oct 24, 2026

Cross-cloud observability for AI agents. Covers AWS, GCP, Vercel, and Cloudflare.

Overview

AI-generated overview

A local MCP server that gives an AI assistant read-only visibility across AWS, GCP, Vercel and Cloudflare to map services, merge logs and diagnose connectivity.

What you can do
Map services across configured cloud platforms into one topology view, filtered by platform and region. Fetch and merge Vercel and AWS CloudWatch logs into a single timeline, filterable by time range, trace ID, log group prefix and project. Diagnose why one service cannot reach another by checking Vercel environment variables, AWS security group rules and external endpoint reachability. Query quotas and flag resources nearing their usage limits at a configurable warning threshold.
When to use it
Useful when debugging cross-cloud problems, such as a Vercel frontend failing to reach an AWS database, or when you want an assistant to survey infrastructure and quota headroom without opening each provider console.
Requirements
Runs locally via npx (Node.js). Credentials are read from environment variables or existing local configuration: AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY or an AWS profile, AWS_REGION, VERCEL_TOKEN, GOOGLE_APPLICATION_CREDENTIALS and GOOGLE_CLOUD_PROJECT, CLOUDFLARE_API_TOKEN and CLOUDFLARE_ACCOUNT_ID. Network access to the cloud provider APIs is required.
Before you install
Requires broad cloud credentials: AWS access keys, VERCEL_TOKEN, a GCP service account file and CLOUDFLARE_API_TOKEN. The README states a read-only, no-storage policy and that credentials are not logged, but the keys themselves grant access beyond this server, so scope them narrowly. The diagnose tool performs an outbound HEAD request to external API targets.

Installation

In SourceWeft

  1. Open Cloudpulse in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

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 pointCloudPulse fix
Frontend error on Vercel → must open AWS consoleget_correlated_logs merges both timelines automatically
AI can't see if an SG blocks port 5432diagnose_service_link inspects the security group rules live
Hitting Lambda concurrency limits silentlycheck_resource_limits warns at 80% usage
Topology unknown before debugginglist_cloud_topology maps every active service in seconds

Quick Start

1. Install / run with npx

bash
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:

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:

json
{  "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:

bash
npm run build

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

json
{  "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:

CredentialHow to provide
AWSAWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY, or AWS_PROFILE, or EC2 instance role
VercelVERCEL_TOKEN (personal access token from vercel.com/account/tokens)
Vercel TeamVERCEL_TEAM_ID (optional)
GCPGOOGLE_APPLICATION_CREDENTIALS
CloudflareCLOUDFLARE_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

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

Development

bash
git clone https://github.com/Galadriel-Tech-Solutions/cloudpulse-mcpcd cloudpulse-mcpnpm installnpm run dev        # run from source with tsxnpm 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

Source: README.md at commit c4bf91b

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.2LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts