mcp-cloudflare について
mcp-cloudflareは、MCPを通じてCloudflareサービスを調査・管理するスキルです。Workers、KV、R2、D1などを対象に、読み取り専用の診断と確認を要する変更を分け、証拠や作業計画をファイルに記録します。
主な機能
- 01オブザーバビリティのログとメトリクスを検索
- 02ビルド、ページ、監査ログを確認
- 03WorkersとCloudflareリソースを管理
- 04書き込み操作の前に確認を要求
- 05証拠、計画、ツール呼び出しログを記録
活用シーン
- 01Workerのエラーを調査
- 02ビルド履歴とデプロイログを確認
- 03KV、R2、D1の変更を計画・検証
- 04監査記録でアカウント変更を追跡
MCP 対応
このスキルはMCPツールを使い、Workers、KV、R2、D1、Hyperdrive、オブザーバビリティなどのCloudflareサービスを操作します。読み取り操作と、確認が必要な書き込み操作を分離します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ heyvhuang/ ship-faster --skill mcp-cloudflareインストール後、Claude Code で/mcp-cloudflareを入力して読み込まれたか確認します。
同梱ファイルscenarios.md
詳細
Cloudflare MCP スキル
MCP を通じて Cloudflare のサービス(Workers、KV、R2、D1、Hyperdrive、Observability、Builds、Audit、Container Sandbox)を操作します。
ファイルベースのパイプライン(パスのみを渡す)
トラブルシューティングや変更を複数ステップのワークフローに組み込む場合は、すべての証拠と成果物をディスクに保存し、エージェント/サブエージェント間ではパスのみを渡してください。
推奨ディレクトリ構成(プロジェクト内):runs/<workflow>/active/<run_id>/
- 入力:
01-input/goal.md(症状/目標)、01-input/context.json(アカウント/worker/リソース/time_range など) - 証拠:
02-analysis/observability.md、02-analysis/audit.md、02-analysis/screenshots/ - 計画:
03-plans/change-plan.md(書き込み操作の計画を記述します。ここに記述し、まず確認を待ってください) - 出力:
05-final/report.md(結論+証拠の連鎖+ツール呼び出しの概要+次の手順) - ログ:
logs/events.jsonl(各ツール呼び出しの概要)
権限レベル(基本原則)
| レベル | 目的 | ツールの範囲 | リスク管理 |
|---|---|---|---|
| 診断 | 読み取り専用/クエリ/トラブルシューティング | Observability、Builds、Browser、Audit | デフォルトの開始地点。書き込み操作は行いません |
| 変更 | リソースの作成/変更/削除 | Workers Bindings(KV/R2/D1) | ユーザーの確認が必要。実行後に検証します |
| スーパー管理者 | 最高権限 | すべて+Container Sandbox | 分離された環境/テストアカウントでのみ使用します |
ツールリファレンス
診断レベル(読み取り専用)
Observability
| ツール | 目的 |
|---|---|
query_worker_observability | ログ/メトリクス(イベント、CPU、エラー率)をクエリします |
observability_keys | 利用可能なフィールドを確認します |
observability_values | フィールドの値を調べます |
Builds
| ツール | 目的 |
|---|---|
workers_builds_list_builds | ビルド履歴を一覧表示します |
workers_builds_get_build | ビルドの詳細を取得します |
workers_builds_get_build_logs | ビルドログを取得します |
ブラウザーのレンダリング(ページキャプチャ)
| ツール | 目的 |
|---|---|
get_url_html_content | ページの HTML を取得します |
get_url_markdown | Markdown に変換します |
get_url_screenshot | ページのスクリーンショットを撮影します |
監査ログ
| ツール | 目的 |
|---|---|
auditlogs_by_account_id | 期間を指定して変更履歴を取得します |
変更レベル(書き込み操作)
アカウント
| ツール | 目的 |
|---|---|
accounts_list | アカウントを一覧表示します |
set_active_account | アクティブなアカウントを設定します |
Builds(設定)
| ツール | 目的 |
|---|---|
workers_builds_set_active_worker | ⚠️ アクティブな worker を設定します(確認が必要) |
KV
| ツール | 目的 |
|---|---|
kv_namespaces_list | ネームスペースを一覧表示します |
kv_namespace_get | 詳細を取得します |
kv_namespace_create | 作成します(⚠️ 確認が必要) |
kv_namespace_update | 更新します(⚠️ 確認が必要) |
kv_namespace_delete | 削除します(⚠️ 確認が必要) |
R2
| ツール | 目的 |
|---|---|
r2_buckets_list | バケットを一覧表示します |
r2_bucket_get | 詳細を取得します |
r2_bucket_create | 作成します(⚠️ 確認が必要) |
r2_bucket_delete | 削除します(⚠️ 確認が必要) |
D1
| ツール | 目的 |
|---|---|
d1_databases_list | データベースを一覧表示します |
d1_database_get | 詳細を取得します |
d1_database_query | SQL を実行します |
d1_database_create | 作成します(⚠️ 確認が必要) |
d1_database_delete | 削除します(⚠️ 確認が必要) |
Hyperdrive
| ツール | 目的 |
|---|---|
hyperdrive_configs_list | 設定を一覧表示します |
hyperdrive_config_get | 詳細を取得します |
hyperdrive_config_create | 作成します(⚠️ 確認が必要) |
hyperdrive_config_edit | 編集します(⚠️ 確認が必要) |
hyperdrive_config_delete | 削除します(⚠️ 確認が必要) |
Workers
| ツール | 目的 |
|---|---|
workers_list | worker を一覧表示します |
workers_get_worker | worker の詳細を取得します |
workers_get_worker_code | ソースコードを取得します |
スーパー管理者ティア(コンテナーサンドボックス)
| ツール | 目的 |
|---|---|
container_initialize | コンテナーを初期化します(ライフサイクルは約10分) |
container_exec | コマンドを実行します |
container_file_write | ファイルを書き込みます |
container_file_read | ファイルを読み込みます |
container_files_list | ファイルを一覧表示します |
container_file_delete | ファイルを削除します |
コンテナーに関する注意:状態は永続化されず、存続期間も短いため、一時的なタスク(テストの実行/問題の再現/データの解析)にのみ使用してください。
セキュリティルール(必ず遵守)
読み取り操作
- 最初に範囲を定義する:アカウント/ワーカー/リソース ID
- アカウントが未設定の場合:まず
accounts_listを実行する - 結論には証拠の連鎖(ログ/スクリーンショット/監査記録)を含める必要があります
書き込み操作(3段階のフロー)
1. Plan: Read current state first (list/get)
2. Confirm: Output precise change (name/ID/impact scope), await user confirmation
3. Execute: create/delete/update
4. Verify: audit logs + observability confirm no new errors
禁止事項
- ❌ 確認なしに作成/削除/更新を実行する
- ❌ 本番リソースを削除する(ユーザーが明示的に「本番の xxx を削除」と指示した場合を除く)
- ❌ 隔離されていない環境でスーパー管理者権限を使用する
- ❌ コンテナーサンドボックスを永続的な環境として使用する
操作ワークフロー
トラブルシューティングのフロー(一般的な例)
1. Clarify symptoms → worker name/time range/error type
2. query_worker_observability to pull logs/metrics
3. If build-related → workers_builds_get_build_logs
4. If page-related → get_url_screenshot to reproduce
5. Trace changes → auditlogs_by_account_id
6. Summarize: root cause + evidence + fix recommendations
リソース管理フロー
1. accounts_list → set_active_account
2. List resources (kv_namespaces_list / r2_buckets_list / d1_databases_list)
3. Plan changes → present to user
4. Execute after confirmation
5. Verify: audit logs + observability shows no errors
出力形式
- 言語:英語
- 構成:結論 → 主要なデータ/証拠 → ツール呼び出しの概要 → 次のステップ
- 書き込み操作:実行する操作と影響範囲を明確に列挙する必要があります
出力例:
✅ Investigation complete: worker `api-gateway` experienced 5xx spike between 18:00-18:30
Root cause: New code deployed threw TypeError when processing /v2/users
Evidence:
- Logs: 18:02 first occurrence of "Cannot read property 'id' of undefined"
- Audit: 18:00 user [email protected] deployed new version
- Metrics: error_rate jumped from 0.1% to 12%
Recommendation: Roll back to previous version, or fix /v2/users handler
エラー処理
| 状況 | 対応 |
|---|---|
| アカウントが未設定 | まず accounts_list → set_active_account を実行する |
| リソースが存在しない | ID/名前が正しいことを確認し、利用可能なリソースを一覧表示する |
| 権限が不足している | 必要な権限を説明し、API トークンのスコープを確認するよう提案する |
| オブザーバビリティのクエリが長すぎる | より短い時間範囲に分割し、より具体的な質問をする |
シナリオ例
実際の開発シナリオを20件掲載した scenarios.md を参照してください。