PHPackages                             coquibot/coqui-toolkit-cloudflare - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Security](/categories/security)
4. /
5. coquibot/coqui-toolkit-cloudflare

ActiveLibrary[Security](/categories/security)

coquibot/coqui-toolkit-cloudflare
=================================

Cloudflare management toolkit for Coqui — DNS records, tunnels, zones, security, and analytics via the Cloudflare REST API v4.

v0.1.2(2mo ago)00MITPHPPHP ^8.4CI passing

Since Apr 9Pushed 2mo agoCompare

[ Source](https://github.com/carmelosantana/coqui-toolkit-cloudflare)[ Packagist](https://packagist.org/packages/coquibot/coqui-toolkit-cloudflare)[ RSS](/packages/coquibot-coqui-toolkit-cloudflare/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (1)Dependencies (4)Versions (4)Used By (0)

Coqui Toolkit: Cloudflare
=========================

[](#coqui-toolkit-cloudflare)

Comprehensive Cloudflare management toolkit for [Coqui](https://github.com/carmelosantana/coqui). Provides full API v4 access for DNS records, tunnels, zones, security (firewall/WAF), page rules, and analytics.

Requirements
------------

[](#requirements)

- PHP 8.4+
- Coqui Bot with `carmelosantana/php-agents` ^0.7

Installation
------------

[](#installation)

```
composer require coquibot/coqui-toolkit-cloudflare
```

The toolkit is auto-discovered by Coqui via `extra.php-agents.toolkits` in `composer.json`.

Configuration
-------------

[](#configuration)

### Required Credentials

[](#required-credentials)

CredentialDescription`CLOUDFLARE_API_TOKEN`API token with appropriate permissions. Create one at [Cloudflare Dashboard](https://dash.cloudflare.com/profile/api-tokens).### Optional Credentials

[](#optional-credentials)

CredentialDescription`CLOUDFLARE_ACCOUNT_ID`Account ID for tunnel and account-scoped operations. Found on the dashboard overview page.Set credentials via the Coqui `credentials` tool:

```
credentials(action: "set", key: "CLOUDFLARE_API_TOKEN", value: "your-token")
credentials(action: "set", key: "CLOUDFLARE_ACCOUNT_ID", value: "your-account-id")

```

### API Token Permissions

[](#api-token-permissions)

Create a custom API token at [Cloudflare API Tokens](https://dash.cloudflare.com/profile/api-tokens) with the permissions you need:

PermissionRequired ForZone: Read`cf_zone` list/get, `cf_analytics`Zone: Edit`cf_zone` create/delete/purgeDNS: Read`cf_dns` list/get/exportDNS: Edit`cf_dns` create/update/delete/importCloudflare Tunnel: Read`cf_tunnel` list/getCloudflare Tunnel: Edit`cf_tunnel` create/delete, `cf_tunnel_config`Firewall Services: Read`cf_firewall` list, `cf_waf` listFirewall Services: Edit`cf_firewall` create/update/delete, `cf_waf` updateZone: Page Rules: Read`cf_page_rule` list/getZone: Page Rules: Edit`cf_page_rule` create/update/deleteAnalytics: Read`cf_analytics`Account Settings: Read`cf_account`Tools
-----

[](#tools)

### `cf_account`

[](#cf_account)

List accounts or get details for a specific account.

**Actions:** `list`, `get`

### `cf_zone`

[](#cf_zone)

Manage zones — list, get details, create, delete, or purge cache.

**Actions:** `list`, `get`, `create`, `delete`, `purge_cache`

### `cf_dns`

[](#cf_dns)

Full CRUD for DNS records (A, AAAA, CNAME, MX, TXT, NS, SRV, CAA, and more), plus BIND export/import.

**Actions:** `list`, `get`, `create`, `update`, `delete`, `export`, `import`

### `cf_tunnel`

[](#cf_tunnel)

Manage Cloudflare Tunnels. Requires `CLOUDFLARE_ACCOUNT_ID`.

**Actions:** `list`, `create`, `get`, `delete`, `connections`

### `cf_tunnel_config`

[](#cf_tunnel_config)

Get and update tunnel configurations — ingress rules and origin settings. Supports both full JSON config and single-rule updates with automatic merge.

**Actions:** `get`, `update`

### `cf_firewall`

[](#cf_firewall)

Manage firewall access rules — block/challenge IPs, IP ranges, ASNs, or countries.

**Actions:** `list_rules`, `create_rule`, `update_rule`, `delete_rule`

### `cf_waf`

[](#cf_waf)

List and manage WAF managed rule packages and individual rule overrides.

**Actions:** `list_packages`, `get_package`, `list_rules`, `get_rule`, `update`

### `cf_page_rule`

[](#cf_page_rule)

Create, list, update, and delete Page Rules for URL pattern matching with actions.

**Actions:** `list`, `get`, `create`, `update`, `delete`

### `cf_analytics`

[](#cf_analytics)

Retrieve zone analytics — dashboard totals (traffic, bandwidth, threats) and DNS query analytics.

**Actions:** `dashboard`, `dns`

Gated Operations
----------------

[](#gated-operations)

The following operations require user confirmation (or `--auto-approve`):

ToolGated Actions`cf_zone``delete`, `purge_cache``cf_dns``delete`, `import``cf_tunnel``delete``cf_tunnel_config``update``cf_firewall``create_rule`, `update_rule`, `delete_rule``cf_waf``update``cf_page_rule``create`, `update`, `delete`Usage Examples
--------------

[](#usage-examples)

```
# List all zones
cf_zone(action: "list")

# Find DNS records for a zone
cf_dns(action: "list", zone_id: "abc123")

# Create an A record
cf_dns(action: "create", zone_id: "abc123", type: "A", name: "app.example.com", content: "192.0.2.1", proxied: true)

# Create a tunnel
cf_tunnel(action: "create", name: "my-tunnel")

# Configure tunnel ingress
cf_tunnel_config(action: "update", tunnel_id: "def456", hostname: "app.example.com", service: "http://localhost:8080")

# Get zone analytics for the last 7 days
cf_analytics(action: "dashboard", zone_id: "abc123", since: "-10080")

```

Development
-----------

[](#development)

```
# Install dependencies
composer install

# Run tests
composer test

# Static analysis
composer analyse
```

License
-------

[](#license)

MIT

###  Health Score

36

—

LowBetter than 79% of packages

Maintenance88

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1 days

Total

3

Last Release

60d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/597820?v=4)[Carmelo Santana](/maintainers/carmelosantana)[@carmelosantana](https://github.com/carmelosantana)

---

Top Contributors

[![carmelosantana](https://avatars.githubusercontent.com/u/597820?v=4)](https://github.com/carmelosantana "carmelosantana (3 commits)")

---

Tags

dnscloudflareanalyticsfirewalltoolkitphp-agentscoquiwaftunnels

###  Code Quality

TestsPest

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/coquibot-coqui-toolkit-cloudflare/health.svg)

```
[![Health](https://phpackages.com/badges/coquibot-coqui-toolkit-cloudflare/health.svg)](https://phpackages.com/packages/coquibot-coqui-toolkit-cloudflare)
```

###  Alternatives

[akaunting/laravel-firewall

Web Application Firewall (WAF) package for Laravel

1.0k494.9k2](/packages/akaunting-laravel-firewall)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
