CloudPulse MCP Server
CloudPulse MCP 서버
AI 에이전트를 위한 크로스 클라우드 인프라 가시성 도구입니다. AWS, Vercel, GCP, Cloudflare 전반의 문제를 에디터를 벗어나지 않고 진단하세요.
왜 CloudPulse인가요?
문제점 | CloudPulse 해결책 |
Vercel에서 프론트엔드 오류 발생 → AWS 콘솔을 열어야 함 |
|
AI가 SG가 5432 포트를 차단하는지 알 수 없음 |
|
Lambda 동시성 제한에 조용히 도달함 |
|
디버깅 전 토폴로지를 알 수 없음 |
|
빠른 시작
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 (에이전트 모드) – 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}은 셸 환경에서 읽어오므로 소스 제어에 비밀 정보가 포함되지 않습니다.
사용 방법: Copilot Chat을 열고 Agent 모드로 전환한 뒤, Select Tools를 클릭하여 CloudPulse 도구를 활성화하고 자연스럽게 질문하세요:
Why can't my Vercel project reach AWS RDS instance "my-db"?자격 증명 및 보안
CloudPulse는 읽기 전용, 비저장 정책을 따릅니다:
자격 증명 | 제공 방법 |
AWS |
|
Vercel |
|
Vercel Team |
|
GCP |
|
Cloudflare |
|
자격 증명은 기록되거나 저장되지 않습니다. 모든 값은 호출 시점에 환경 변수에서 읽어옵니다.
사용 가능한 도구
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_regiondiagnose_service_link
서비스 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, 보안 그룹, S3) |
2 – 확장 | ✅ 완료 | GCP Cloud Run + Cloud SQL + 로깅; 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새로운 클라우드 플랫폼 추가
src/providers/<platform>/index.ts를 생성하고 다음을 내보냅니다:is<Platform>Configured(): boolean플랫폼별 데이터 함수
src/tools/아래의 관련 도구에 함수를 연결합니다.src/types.ts의CloudPlatform유니온에 플랫폼 이름을 추가합니다.
라이선스
MIT © CloudPulse Contributors
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