Skip to main content
Glama
crunchtools

mcp-cloudflare-crunchtools

by crunchtools

Create Access Policy Tool

create_access_policy_tool

Adds a policy to a Cloudflare Access application by specifying include, exclude, or require rules and an allow, deny, bypass, or non_identity decision.

Instructions

Add a policy to an Access application.

Each rule is an object with exactly one key: {"email": "user@example.com"}, {"email_domain": "example.com"}, {"ip": "203.0.113.0/24"} or {"everyone": true}.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesPolicy name
app_idYesApplication ID (UUID)
excludeNoRules of which a visitor must match none (optional)
includeYesRules of which a visitor must match at least one
requireNoRules of which a visitor must match all (optional)
zone_idYesZone ID (32-character hex string)
decisionYesallow, deny, bypass (no login at all) or non_identity

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.7.2

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It never states permission requirements, whether policy evaluation order matters, whether changes apply immediately, or any side effects of a mutation. The rule-shape explanation is valuable but reads as parameter semantics rather than behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, both front-loaded with the essential facts: the operation, then the non-obvious rule object format. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values needn't be explained, and the critical parameter unknown (rule structure) is covered. However, for a 7-parameter mutation with zero annotations, the description omits prerequisites and behavioral context an agent would want before invoking it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (baseline 3), but the description adds genuinely new information: the include/exclude/require arrays hold objects with exactly one key of a fixed set, with concrete examples (email, email_domain, ip, everyone). The schema types these as generic objects with additionalProperties:true and no key documentation, so this is real added meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: 'Add a policy to an Access application.' This clearly distinguishes it from create_access_app_tool and delete_access_policy_tool by naming the resource and operation. It does not explicitly reference siblings, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no prerequisites (e.g. that the target Access app must already exist via create_access_app_tool), and no mention of how this relates to list_access_policies_tool or delete_access_policy_tool. The agent must infer everything about context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.