Cloudflare
Use Cloudflare from your AI agent through ClawLink — browser login, no API key to paste, no config to edit. Connect Cloudflare once and the agent can read and act on it. Works in any agent that can run shell commands (Claude Code, Cursor, Codex, Cline, and more).
Setup
Run these once — the agent can run them for you:
npx @useclawlink/cli login # opens browser → approve (mints + stores a key)
npx @useclawlink/cli connect cloudflare # opens browser → authorize Cloudflare
No API key to create or paste — login stores the credential at ~/.clawlink/credentials.json.
Using Cloudflare
npx @useclawlink/cli actions cloudflare "<what you want to do>" # find an action
npx @useclawlink/cli describe cloudflare <action-id> # see its inputs (before writes)
npx @useclawlink/cli run cloudflare <action-id> --input '<json>' # execute
Reads first; confirm with the user before any write.
Available actions
| Action |
Description |
cloudflare_create_dns_record |
Tool to create a new DNS record within a specific zone. Requires write privileges and makes live changes to the zone. Use after obtaining the zone ID via CLOUDFLARE_LIST_ZONES to programmatically add DNS entries. |
cloudflare_create_list |
Create a new empty custom list for use in WAF rules and filters. Lists can contain IP addresses, hostnames, ASNs, or redirects. Once created, use separate actions to add items to the list. Note: List availability depends on plan (Free: 1 list, Pro/Business: 10 lists, Enterprise: 1000 lists). Example: CREATE_LIST(account_id='abc123', kind='ip', name='blocklist', description='Block malicious IPs') |
cloudflare_create_zone |
Creates a new DNS zone (domain) in Cloudflare. A zone represents a domain and its DNS records. Use this when adding a new domain to manage with Cloudflare. Requires account ID (obtainable via LIST_ACCOUNTS). The zone will be in 'pending' status until nameservers are updated at the domain registrar. |
cloudflare_delete_dns_record |
Tool to delete a DNS record within a specific zone. Deletion is immediate and irreversible. Use only after confirming both zone and record IDs. Requires write privileges on the zone. Example: 'Delete DNS record 372e6795... from zone 023e105f4ecef...' |
cloudflare_delete_list |
Tool to delete a WAF list. Use when you need to remove a list after verifying no filters reference it. Example: DELETE_LIST(account_id='', list_id='') |
cloudflare_delete_zone |
Tool to delete a zone. Use after confirming the zone identifier to permanently remove a DNS zone and all its DNS records from your Cloudflare account. Example: DELETE_ZONE(zone_identifier='023e105f4ecef8ad9ca31a8372d0c353') |
cloudflare_get_bot_management_settings |
Tool to retrieve a zone's Bot Management configuration (Bot Fight Mode / Super Bot Fight Mode / Enterprise Bot Management). Use after identifying the correct zone_id (e.g., via CLOUDFLARE_LIST_ZONES). This tool is the canonical way to audit bot-related configuration; firewall rules are adjacent controls but not equivalent to Bot Management settings. |
cloudflare_get_lists |
Tool to fetch all WAF lists (no items) for an account. Results are paginated; iterate using page and per_page parameters until result_info.total_pages is reached to retrieve all lists. Use after confirming account ID. |
cloudflare_list_account_members |
Lists all members of a Cloudflare account with their roles, permissions, and status. Returns detailed information about each account member including their user details (name, email, 2FA status), assigned roles with granular permissions, membership status (accepted/pending/rejected), and access policies. Supports filtering by status, sorting by various fields, and pagination for accounts with many members. Use this action when you need to: - View all users with access to a Cloudflare account - Audit account member permissions and roles - Check membership status of invited users - List members with specific roles or statuses Requires the account ID which can be obtained using the List Accounts action. Note: caller's account role may restrict visibility of some members if permissions are insufficient. |
cloudflare_list_accounts |
List all Cloudflare accounts you have ownership or verified access to. Retrieves a paginated list of accounts with their details including account ID, name, type, settings, and creation date. An empty or partial result may indicate insufficient API token scope or permissions, not the absence of accounts. When multiple accounts are returned, confirm the intended account_id before performing any write operations to avoid acting on unintended environments. Use this when you need to: - Discover available accounts before performing account-specific operations - Find an account ID for other API calls that require an account identifier - Audit account configurations and settings - Filter accounts by name or paginate through large account lists |
cloudflare_list_dns_records |
Tool to list and search DNS records in a Cloudflare zone. Use when you need to find existing DNS record IDs for update or delete operations, especially after a 'record already exists' error during creation. Returns matching records with their IDs, names, types, content, and other properties. |
cloudflare_list_firewall_rules |
Tool to list firewall rules for a specific DNS zone. Use after confirming the zone ID to retrieve and audit current firewall rules. Does not expose Workers routes or other routing constructs. |
Notes
- No API key for Cloudflare itself — ClawLink holds the OAuth token; the agent only holds your ClawLink credential.
- Not connected yet, or access expired? Re-run
npx @useclawlink/cli connect cloudflare.
- The action list above is a snapshot;
npx @useclawlink/cli actions cloudflare is always current.
Resources
Powered by ClawLink — connect 90+ apps to any AI agent.
1---2name: cloudflare3description: Cloudflare integration for AI agents via ClawLink — browser login, no API key setup. Connect cloudflare through ClawLink's hosted setup. Use this skill when the user wants to work with Cloudflare (Developer Tools) — connect Cloudflare, read or update Cloudflare data, or take actions in Cloudflare from chat instead of saying you cannot access it.4---56# Cloudflare78Use **Cloudflare** from your AI agent through [ClawLink](https://claw-link.dev) — browser login, no API key to paste, no config to edit. Connect Cloudflare once and the agent can read and act on it. Works in any agent that can run shell commands (Claude Code, Cursor, Codex, Cline, and more).910## Setup1112Run these once — the agent can run them for you:1314```bash15npx @useclawlink/cli login # opens browser → approve (mints + stores a key)16npx @useclawlink/cli connect cloudflare # opens browser → authorize Cloudflare17```1819No API key to create or paste — `login` stores the credential at `~/.clawlink/credentials.json`.2021## Using Cloudflare2223```bash24npx @useclawlink/cli actions cloudflare "<what you want to do>" # find an action25npx @useclawlink/cli describe cloudflare <action-id> # see its inputs (before writes)26npx @useclawlink/cli run cloudflare <action-id> --input '<json>' # execute27```2829Reads first; confirm with the user before any write.3031## Available actions3233| Action | Description |34|--------|-------------|35| `cloudflare_create_dns_record` | Tool to create a new DNS record within a specific zone. Requires write privileges and makes live changes to the zone. Use after obtaining the zone ID via CLOUDFLARE_LIST_ZONES to programmatically add DNS entries. |36| `cloudflare_create_list` | Create a new empty custom list for use in WAF rules and filters. Lists can contain IP addresses, hostnames, ASNs, or redirects. Once created, use separate actions to add items to the list. Note: List availability depends on plan (Free: 1 list, Pro/Business: 10 lists, Enterprise: 1000 lists). Example: CREATE_LIST(account_id='abc123', kind='ip', name='blocklist', description='Block malicious IPs') |37| `cloudflare_create_zone` | Creates a new DNS zone (domain) in Cloudflare. A zone represents a domain and its DNS records. Use this when adding a new domain to manage with Cloudflare. Requires account ID (obtainable via LIST_ACCOUNTS). The zone will be in 'pending' status until nameservers are updated at the domain registrar. |38| `cloudflare_delete_dns_record` | Tool to delete a DNS record within a specific zone. Deletion is immediate and irreversible. Use only after confirming both zone and record IDs. Requires write privileges on the zone. Example: 'Delete DNS record 372e6795... from zone 023e105f4ecef...' |39| `cloudflare_delete_list` | Tool to delete a WAF list. Use when you need to remove a list after verifying no filters reference it. Example: DELETE_LIST(account_id='<account_id>', list_id='<list_id>') |40| `cloudflare_delete_zone` | Tool to delete a zone. Use after confirming the zone identifier to permanently remove a DNS zone and all its DNS records from your Cloudflare account. Example: DELETE_ZONE(zone_identifier='023e105f4ecef8ad9ca31a8372d0c353') |41| `cloudflare_get_bot_management_settings` | Tool to retrieve a zone's Bot Management configuration (Bot Fight Mode / Super Bot Fight Mode / Enterprise Bot Management). Use after identifying the correct zone_id (e.g., via CLOUDFLARE_LIST_ZONES). This tool is the canonical way to audit bot-related configuration; firewall rules are adjacent controls but not equivalent to Bot Management settings. |42| `cloudflare_get_lists` | Tool to fetch all WAF lists (no items) for an account. Results are paginated; iterate using page and per_page parameters until result_info.total_pages is reached to retrieve all lists. Use after confirming account ID. |43| `cloudflare_list_account_members` | Lists all members of a Cloudflare account with their roles, permissions, and status. Returns detailed information about each account member including their user details (name, email, 2FA status), assigned roles with granular permissions, membership status (accepted/pending/rejected), and access policies. Supports filtering by status, sorting by various fields, and pagination for accounts with many members. Use this action when you need to: - View all users with access to a Cloudflare account - Audit account member permissions and roles - Check membership status of invited users - List members with specific roles or statuses Requires the account ID which can be obtained using the List Accounts action. Note: caller's account role may restrict visibility of some members if permissions are insufficient. |44| `cloudflare_list_accounts` | List all Cloudflare accounts you have ownership or verified access to. Retrieves a paginated list of accounts with their details including account ID, name, type, settings, and creation date. An empty or partial result may indicate insufficient API token scope or permissions, not the absence of accounts. When multiple accounts are returned, confirm the intended account_id before performing any write operations to avoid acting on unintended environments. Use this when you need to: - Discover available accounts before performing account-specific operations - Find an account ID for other API calls that require an account identifier - Audit account configurations and settings - Filter accounts by name or paginate through large account lists |45| `cloudflare_list_dns_records` | Tool to list and search DNS records in a Cloudflare zone. Use when you need to find existing DNS record IDs for update or delete operations, especially after a 'record already exists' error during creation. Returns matching records with their IDs, names, types, content, and other properties. |46| `cloudflare_list_firewall_rules` | Tool to list firewall rules for a specific DNS zone. Use after confirming the zone ID to retrieve and audit current firewall rules. Does not expose Workers routes or other routing constructs. |4748## Notes4950- **No API key for Cloudflare itself** — ClawLink holds the OAuth token; the agent only holds your ClawLink credential.51- Not connected yet, or access expired? Re-run `npx @useclawlink/cli connect cloudflare`.52- The action list above is a snapshot; `npx @useclawlink/cli actions cloudflare` is always current.5354## Resources5556- ClawLink: https://claw-link.dev57- Docs: https://docs.claw-link.dev58- CLI: https://www.npmjs.com/package/@useclawlink/cli5960---6162**Powered by [ClawLink](https://claw-link.dev)** — connect 90+ apps to any AI agent.