Cloudflare R2 MCP integration for AI agents.

Connect AI agents to Cloudflare R2 through 10 structured actions, including download object, create bucket, and delete bucket. Review authentication, inputs…

ACTION CONTRACTS
10
AUTHENTICATION
Custom credentials + OAuth 2.0
SOURCE STATUS
Provider-backed

CATALOG SOURCE REVIEWED AUGUST 23, 2026 / ACTION NAMES AND SCHEMAS DERIVED FROM WORKING MACHINES PROVIDER SOURCE

CAPABILITY PROFILE

What the Cloudflare R2 integration exposes

The Cloudflare R2 Agent App exposes 10 provider-backed actions for storage and developer tools work. Its current contract lets an authorized agent download one r2 object into local transit file storage, create an r2 bucket in a cloudflare account, and delete an r2 bucket by name. These operations are called through Working Machines as typed capabilities rather than through browser navigation or copied UI steps.

A connection uses Custom credentials and OAuth 2.0. Before execution, the agent can inspect the selected action, its required fields, declared scopes, and expected output contract. Provider credentials remain inside the Working Machines runtime; the calling agent receives the capability and its structured result, not the underlying secret.

For reliable operation, start with the narrowest action that satisfies the task, resolve stable provider identifiers before changing state, and validate the returned object or status after execution. Availability still depends on the connected Cloudflare R2 account, granted provider permissions, workspace policy, region, plan, and upstream API behavior.

VERIFIED ACTION SAMPLE

Real Cloudflare R2 capabilities.

Showing 10 of 10 actions. Risk labels are conservative signals based on operation names, not substitutes for provider documentation or runtime policy.

download_objectREAD

Download one R2 object into local transit file storage.

INPUTS: accountId / bucketName / objectKey / fileName / jurisdiction

create_bucketWRITE

Create an R2 bucket in a Cloudflare account.

INPUTS: accountId / name / locationHint / storageClass / jurisdiction

delete_bucketHIGH IMPACT

Delete an R2 bucket by name.

INPUTS: accountId / bucketName / jurisdiction

delete_bucket_cors_policyHIGH IMPACT

Delete the bucket-level CORS policy for an R2 bucket.

INPUTS: accountId / bucketName / jurisdiction

get_bucketREAD

Get one R2 bucket by name.

INPUTS: accountId / bucketName / jurisdiction

get_bucket_cors_policyREAD

Fetch the bucket-level CORS policy for an R2 bucket.

INPUTS: accountId / bucketName / jurisdiction

list_accountsREAD

List Cloudflare accounts visible to the current credential.

INPUTS: page / perPage

list_bucketsREAD

List the R2 buckets in a Cloudflare account.

INPUTS: accountId / cursor / direction / nameContains / order

update_bucketWRITE

Update mutable R2 bucket properties such as default storage class or jurisdiction.

INPUTS: accountId / bucketName / storageClass / jurisdiction

update_bucket_cors_policyWRITE

Replace the bucket-level CORS policy for an R2 bucket.

INPUTS: accountId / bucketName / rules / jurisdiction

INPUT CONTRACTS

Know what the action needs before it runs.

download_object

accountIdOPTIONAL
The Cloudflare account ID. Custom-credential connections reuse the connected account ID when this is omitted.
bucketNameREQUIRED
The R2 bucket name.
objectKeyREQUIRED
The complete R2 object key. Slashes are preserved as key delimiters.
fileNameOPTIONAL
An optional filename override for the local transit file.
jurisdictionOPTIONAL
The jurisdiction where objects in the bucket are guaranteed to be stored.

create_bucket

accountIdOPTIONAL
The Cloudflare account ID. Custom-credential connections reuse the connected account ID when this is omitted.
nameREQUIRED
The R2 bucket name.
locationHintOPTIONAL
The R2 bucket region hint.
storageClassOPTIONAL
The default storage class for newly uploaded objects.
jurisdictionOPTIONAL
The jurisdiction where objects in the bucket are guaranteed to be stored.

delete_bucket

accountIdOPTIONAL
The Cloudflare account ID. Custom-credential connections reuse the connected account ID when this is omitted.
bucketNameREQUIRED
The R2 bucket name.
jurisdictionOPTIONAL
The jurisdiction where objects in the bucket are guaranteed to be stored.

delete_bucket_cors_policy

accountIdOPTIONAL
The Cloudflare account ID. Custom-credential connections reuse the connected account ID when this is omitted.
bucketNameREQUIRED
The R2 bucket name.
jurisdictionOPTIONAL
The jurisdiction where objects in the bucket are guaranteed to be stored.

PROVIDER-SPECIFIC WORKFLOWS

Jobs this Agent App can support

Inspect Download Object

Download one R2 object into local transit file storage. Use this as a bounded discovery step, retain the returned identifier, and avoid expanding the read beyond the task's stated scope.

download_object

Control Create Bucket

Create an R2 bucket in a Cloudflare account. Resolve the target first, present material changes for confirmation, and make retries idempotent where the provider supports it.

create_bucket

Verify with Get Bucket

Get one R2 bucket by name. Compare the returned provider state with the intended outcome and preserve stable IDs or canonical links in the run record.

get_bucket

SAFETY BOUNDARY

Operate Cloudflare R2 with explicit limits

  • Authorize Cloudflare R2 with Custom credentials and OAuth 2.0 and grant only the provider access required by the selected actions.
  • 5 actions are change-capable by name. Confirm the target identity and material parameters before allowing a write.
  • Treat `delete_bucket` and `delete_bucket_cors_policy` as high-impact operations and require an explicit approval boundary.
  • The sampled contract declares provider scopes including `workers-r2.write` and `workers-r2.read`; verify the complete action contract before execution.
  • After a call, inspect the structured result and execution record before reporting that the Cloudflare R2 task completed successfully.

CONNECTION MODEL

Custom credentials + OAuth 2.0

Cloudflare R2 uses Custom credentials and OAuth 2.0. Connection requirements and availability are determined by the provider and the Working Machines deployment.

Working Machines stores provider credentials behind the execution boundary. An agent can use an authorized connection identity, but catalog discovery alone does not reveal OAuth tokens, API keys, or provider secrets.

READ SIGNALS
5
WRITE SIGNALS
3
HIGH IMPACT
2
REVIEW SIGNALS
0

EVIDENCE AND AVAILABILITY

Provider reference

Action names, input fields, authentication types, and counts on this page are generated from the Working Machines provider catalog. Provider behavior, quotas, object semantics, account eligibility, and regional availability remain governed by Cloudflare R2.

Official Cloudflare R2 website

ONE CONNECTION. REAL WORK.

Give your agent software it can use.

Connect through MCP or explore the Agent App catalog and choose only the capabilities your workflow needs.

EXPLORE AGENT APPS