
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)
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-mcpAdd your badge
Show developers this MCP server is listed on Skillselion. Paste this into your README.
| repo stars | ★ 1 |
|---|---|
| Package | cloudpulse-mcp |
| Transport | STDIO |
| Auth | Required |
| Last updated | April 19, 2026 |
| Repository | Galadriel-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.
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
- Create
src/providers/<platform>/index.tsexporting:is<Platform>Configured(): boolean- Provider-specific data functions
- Wire the functions into the relevant tools under
src/tools/ - Add the platform name to the
CloudPlatformunion insrc/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.