Cloudpulse Mcp Server について
CloudPulseは、AWS、Vercel、GCP、Cloudflareのインフラを調査するAIエージェントや開発者向けのMCPサーバーです。サービス構成、ログ、接続性、クォータをまとめて確認でき、認証情報は環境から読み取って保存しません。
主な機能
- 01クラウドサービス構成の統合表示
- 02VercelとAWSのログ相関
- 03サービス接続の診断
- 04クラウドリソースのクォータ確認
- 05読み取り専用の認証情報処理
活用シーン
- 01設定済みクラウドのサービス構成を把握
- 02VercelとAWSのログを横断して障害を追跡
- 03サービスからリソースへの接続失敗を調査
- 04上限に近いクォータを持つリソースを特定
MCP 対応
トポロジー探索、ログ相関、接続診断、リソース上限確認のツールをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y cloudpulse-mcpAWS_ACCESS_KEY_IDシークレットAWS access key IDAWS_SECRET_ACCESS_KEYシークレットAWS secret access keyAWS_REGIONAWS region (e.g. us-east-1)VERCEL_TOKENシークレットVercel personal access tokenGOOGLE_APPLICATION_CREDENTIALSシークレットPath to GCP service account JSON fileGOOGLE_CLOUD_PROJECTGCP project IDCLOUDFLARE_API_TOKENシークレットCloudflare API tokenCLOUDFLARE_ACCOUNT_IDCloudflare account IDローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
4掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| platforms | array | いいえ | 対象に含めるプラットフォーム。省略すると、設定済みのすべてのプラットフォームを自動検出します。 |
| aws_region | string | いいえ | スキャンする AWS リージョン。デフォルトでは AWS_REGION 環境変数、または us-east-1 を使用します。 |
詳細
CloudPulse MCP サーバー
AI エージェント向けのマルチクラウドインフラ可視化ツールです。エディターから離れることなく、AWS、Vercel、GCP、Cloudflare の問題を診断できます。
CloudPulse を選ぶ理由
| 問題点 | CloudPulse による解決策 |
|---|---|
| Vercel のフロントエンドでエラーが発生 → AWS コンソールを開く必要がある | get_correlated_logs が両方のタイムラインを自動的に統合します |
| AI が SG によってポート 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(エージェントモード) – 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 を開き、エージェントモードに切り替えて、ツールの選択をクリックし、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 からログを取得し、1 つのタイムラインに統合します。
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
サービス 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 + 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
新しいクラウドプラットフォームの追加
src/providers/<platform>/index.tsを作成し、以下をエクスポートします。is<Platform>Configured(): boolean- プロバイダー固有のデータ関数
- 関数を
src/tools/配下の該当するツールに組み込みます。 src/types.tsのCloudPlatform共用体にプラットフォーム名を追加します。
ライセンス
MIT © CloudPulse Contributors
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。