Skip to main content
Glama

CloudPulse MCP 服务器

面向 AI 代理的跨云基础设施可视化工具。无需离开编辑器,即可诊断 AWSVercel、GCP 和 Cloudflare 上的问题。

License: MIT Node.js ≥18


为什么选择 CloudPulse?

痛点

CloudPulse 解决方案

Vercel 出现前端错误 → 必须打开 AWS 控制台

get_correlated_logs 自动合并两条时间线

AI 无法判断安全组是否拦截了 5432 端口

diagnose_service_link 实时检查安全组规则

无声无息地触及 Lambda 并发限制

check_resource_limits 在使用率达到 80% 时发出警告

调试前拓扑结构未知

list_cloud_topology 秒级映射所有活跃服务


快速开始

1. 使用 npx 安装/运行

npx cloudpulse-mcp

服务器会自动检测您机器上已有的凭据(AWS CLI、环境变量等)。

2. 配置您的 AI 客户端

Claude Desktop – 添加到 ~/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 – 添加到项目中的 .cursor/mcp.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 模式) – 需要 VS Code 1.99+ 和 GitHub Copilot 扩展。

首先,构建项目:

npm run build

然后在该仓库中创建 .vscode/mcp.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} 从您的 shell 环境变量中读取 —— 源代码中不包含任何密钥。

使用方法:打开 Copilot Chat,切换到 Agent 模式,点击 Select Tools 并启用 CloudPulse 工具,然后自然地提问:

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

凭据与安全

CloudPulse 遵循 只读、不存储 策略:

凭据

提供方式

AWS

AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY,或 AWS_PROFILE,或 EC2 实例角色

Vercel

VERCEL_TOKEN (来自 vercel.com/account/tokens 的个人访问令牌)

Vercel Team

VERCEL_TEAM_ID (可选)

GCP

GOOGLE_APPLICATION_CREDENTIALS

Cloudflare

CLOUDFLARE_API_TOKEN + CLOUDFLARE_ACCOUNT_ID

不会记录或存储任何凭据。 所有值均在调用时从环境变量中读取。


可用工具

list_cloud_topology

扫描所有已配置的平台并返回统一的服务映射图。

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

get_correlated_logs

获取并合并 Vercel + AWS CloudWatch 的日志到同一时间线。

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

检查服务 A 无法连接到资源 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

执行的检查:

  • Vercel 环境变量是否包含 DATABASE_URL / DB_URL

  • AWS 安全组是否允许在所需端口上进行入站 TCP 连接

  • 外部 API HEAD 可达性测试

check_resource_limits

查询配额并标记即将达到限制的资源。

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

路线图

阶段

状态

范围

1 – MVP

✅ 已完成

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

2 – 扩展

✅ 已完成

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

3 – 智能

🔜

针对 CORS、504 超时、冷启动循环的预构建诊断手册


开发

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/

项目结构

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

添加新的云平台

  1. 创建 src/providers/<platform>/index.ts 并导出:

    • is<Platform>Configured(): boolean

    • 提供程序特定的数据函数

  2. 将这些函数连接到 src/tools/ 下的相关工具中

  3. 将平台名称添加到 src/types.ts 中的 CloudPlatform 联合类型中


许可证

MIT © CloudPulse Contributors

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