skills/ship-faster/skills/mcp-cloudflare/SKILL.md
Manage Workers/KV/R2/D1/Hyperdrive via Cloudflare MCP, perform observability/build troubleshooting/audit/container sandbox operations. Triggers: worker/KV/R2/D1/logs/build/deploy/screenshot/audit/sandbox. Three permission tiers: Diagnose (read-only), Change (write requires confirmation), Super Admin (isolated environment). Write operations must follow read-first, user confirmation, post-execution verification.
npx skillsauth add enuno/claude-command-and-control mcp-cloudflareInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Interact with Cloudflare services via MCP: Workers, KV, R2, D1, Hyperdrive, Observability, Builds, Audit, Container Sandbox.
When integrating troubleshooting/changes into multi-step workflows, persist all evidence and artifacts to disk, passing only paths between agents/sub-agents.
Recommended directory structure (within project): runs/<workflow>/active/<run_id>/
01-input/goal.md (symptoms/objectives), 01-input/context.json (account/worker/resource/time_range, etc.)02-analysis/observability.md, 02-analysis/audit.md, 02-analysis/screenshots/03-plans/change-plan.md (write operation plan; must write here and await confirmation first)05-final/report.md (conclusion + evidence chain + tool call summary + next steps)logs/events.jsonl (summary of each tool call)| Tier | Purpose | Tool Scope | Risk Control | |------|---------|------------|--------------| | Diagnose | Read-only/query/troubleshoot | Observability, Builds, Browser, Audit | Default entry point, no write operations | | Change | Create/modify/delete resources | Workers Bindings (KV/R2/D1) | Requires user confirmation, post-execution verification | | Super Admin | Highest privileges | All + Container Sandbox | Only in isolated environments/test accounts |
Observability
| Tool | Purpose |
|------|---------|
| query_worker_observability | Query logs/metrics (events, CPU, error rate) |
| observability_keys | Discover available fields |
| observability_values | Explore field values |
Builds
| Tool | Purpose |
|------|---------|
| workers_builds_list_builds | List build history |
| workers_builds_get_build | Get build details |
| workers_builds_get_build_logs | Get build logs |
Browser Rendering (Page Capture)
| Tool | Purpose |
|------|---------|
| get_url_html_content | Fetch page HTML |
| get_url_markdown | Convert to Markdown |
| get_url_screenshot | Take page screenshot |
Audit Logs
| Tool | Purpose |
|------|---------|
| auditlogs_by_account_id | Pull change history by time range |
Account
| Tool | Purpose |
|------|---------|
| accounts_list | List accounts |
| set_active_account | Set active account |
Builds (Settings)
| Tool | Purpose |
|------|---------|
| workers_builds_set_active_worker | ⚠️ Set active worker (requires confirmation) |
KV
| Tool | Purpose |
|------|---------|
| kv_namespaces_list | List namespaces |
| kv_namespace_get | Get details |
| kv_namespace_create | Create (⚠️ requires confirmation) |
| kv_namespace_update | Update (⚠️ requires confirmation) |
| kv_namespace_delete | Delete (⚠️ requires confirmation) |
R2
| Tool | Purpose |
|------|---------|
| r2_buckets_list | List buckets |
| r2_bucket_get | Get details |
| r2_bucket_create | Create (⚠️ requires confirmation) |
| r2_bucket_delete | Delete (⚠️ requires confirmation) |
D1
| Tool | Purpose |
|------|---------|
| d1_databases_list | List databases |
| d1_database_get | Get details |
| d1_database_query | Execute SQL |
| d1_database_create | Create (⚠️ requires confirmation) |
| d1_database_delete | Delete (⚠️ requires confirmation) |
Hyperdrive
| Tool | Purpose |
|------|---------|
| hyperdrive_configs_list | List configs |
| hyperdrive_config_get | Get details |
| hyperdrive_config_create | Create (⚠️ requires confirmation) |
| hyperdrive_config_edit | Edit (⚠️ requires confirmation) |
| hyperdrive_config_delete | Delete (⚠️ requires confirmation) |
Workers
| Tool | Purpose |
|------|---------|
| workers_list | List workers |
| workers_get_worker | Get worker details |
| workers_get_worker_code | Get source code |
| Tool | Purpose |
|------|---------|
| container_initialize | Initialize container (~10 min lifecycle) |
| container_exec | Execute command |
| container_file_write | Write file |
| container_file_read | Read file |
| container_files_list | List files |
| container_file_delete | Delete file |
Container Notes: No persistent state, short lifespan, only for temporary tasks (running tests/reproducing issues/parsing data).
accounts_list first1. 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
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
Example output:
✅ 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
| Situation | Action |
|-----------|--------|
| Account not set | Run accounts_list → set_active_account first |
| Resource doesn't exist | Verify ID/name is correct, list available resources |
| Insufficient permissions | Explain required permissions, suggest checking API token scope |
| Observability query too long | Split into smaller time ranges, ask more specific questions |
See scenarios.md for 20 real-world development scenarios.
tools
MemPalace local-first AI memory system. Use when setting up persistent memory for Claude Code sessions, mining project files or conversation transcripts, querying past context, configuring MCP tools, managing the knowledge graph, or troubleshooting palace operations.
tools
LangSmith Python SDK — trace, evaluate, and monitor LLM applications. Covers @traceable decorator, trace context manager, Client API, evaluate() / aevaluate(), comparative evaluation, custom evaluators, dataset management, prompt caching, ASGI middleware, and pytest plugin.
development
LangGraph (Python) — build stateful, controllable agent graphs with checkpointing, streaming, persistence, interrupts, fault tolerance, and durable execution. Covers both Graph API (StateGraph) and Functional API (@entrypoint/@task).
development
LangGraph Graph API (Python) — build explicit DAG agent workflows with StateGraph, typed state, nodes, edges, Command routing, Send fan-out, checkpointers, interrupts, and streaming. Use when you need explicit control flow and graph topology.