Can an agent create a storage bucket with Cloudflare Developer Platform?
Who does each step
Whether the agent handles it alone or a person has to step in.
- 01
Discover
MachineThe vendor's machine-readable docs show the agent where and how to call this job.
- 02
Access
Workaround · setupYou give the agent a key or token.
- 03
Onboard
Workaround · setupYou sign up or register a client for the agent.
- 04
Pay
Workaround · setupYou add a payment card at the vendor's checkout.
- 05
Confirm
MachineThe response or specification defines errors the agent can distinguish from success.
- 06
Sustain
Workaround · setupYou replace or revoke the agent's access when it needs to change.
- Access: handing over a key or token.
- Onboard: signing up or registering a client for the agent.
- Pay: adding a payment card.
- Sustain: renewing, replacing or revoking its access.
To remove these handoffs: support OAuth client registration so the agent can register its own client and ask for consent; provide an agent registration route, such as auth.md, a sign-up API or OAuth client registration; support payment in the request, such as x402 or MPP, so setup does not require a person to add a card; provide key management or OAuth refresh and revocation so the agent can maintain its own access.
Agent surfaces
The probe
Each request it sent and what came back; the descriptors it read, counted, with what they named.
Discover55 descriptor reads14 facts
- Found
- MCPdocs.mcp.cloudflare.com/mcpMCPblog.mcp.cloudflare.com/mcpOAuthmcp.cloudflare.com/mcpFor agentswww.cloudflare.com/auth.mdFor agentswww.cloudflare.com/llms.txtAPIwww.cloudflare.comOAuthmcp.cloudflare.com/mcpOAuthmcp.cloudflare.comOAuthmcp.cloudflare.comFor agentsdevelopers.cloudflare.com/llms.txtFor agentsapi.cloudflare.comSkillsdevelopers.cloudflare.com/.well-known/agent-skills/agents-sdk.tar.gzSkillsdevelopers.cloudflare.com/.well-known/agent-skills/basin.tar.gzSkillsdevelopers.cloudflare.com/.well-known/agent-skills/cloudflare-email-service.tar.gz
- From
- www.cloudflare.com/.well-known/mcp/server-card.json · www.cloudflare.com/auth.md · www.cloudflare.com/llms.txt · www.cloudflare.com/openapi.json · mcp.cloudflare.com/.well-known/oauth-protected-resource/mcp · mcp.cloudflare.com/.well-known/oauth-authorization-server · developers.cloudflare.com/llms.txt · www.cloudflare.com/.well-known/agent-skills/index.json
- This endpoint
- api.cloudflare.com/client/v4 is named by a document written for agents
Job requestPOST api.cloudflare.com/client/v4/accounts/00000000000000000000000000000000/r2/buckets400102 ms
- Request
- POST https://api.cloudflare.com/client/v4/accounts/00000000000000000000000000000000/r2/buckets
- Response
- 400 · application/json · 141 bytes
- Body
- sha256:be13886ba58c81bcc946d78083c2919aaefd6792c24510b149429090f0a5825c
- Exchange
- sha256:921bce6bda16228218567e62b1ff6d81ad8ec49927be8056c679b09a8be23ae4
Resource metadataGET api.cloudflare.com/.well-known/oauth-protected-resource/client/v4/accounts/00000000000000000000000000000000/r2/buckets404104 ms
- Request
- GET https://api.cloudflare.com/.well-known/oauth-protected-resource/client/v4/accounts/00000000000000000000000000000000/r2/buckets
- Response
- 404 · application/json · 105 bytes
- Body
- sha256:96693af5f2632ba7bd17f1991c33b1c57327e058fd460dd800831cfbb41122af
- Exchange
- sha256:47fe281e72b61b29bd6e2315e7811465c228a24ba291698591b1a448c10b75ed
Resource metadataGET api.cloudflare.com/.well-known/oauth-protected-resource404102 ms
- Request
- GET https://api.cloudflare.com/.well-known/oauth-protected-resource
- Response
- 404 · application/json · 105 bytes
- Body
- sha256:96693af5f2632ba7bd17f1991c33b1c57327e058fd460dd800831cfbb41122af
- Exchange
- sha256:5eb53c09058e3e5b1e79b4f55bed1c68dc4f0bcaaefcf857cec2b65a891362f8
Job requestsession openedPOST mcp.cloudflare.com/mcp40127 ms
- Request
- POST https://mcp.cloudflare.com/mcp
- Response
- 401 · application/octet-stream · 0 bytes
- Body
- sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
- Exchange
- sha256:ff4081f2a8723d2c132038d19c08dda0cc6fcb4538535bdee84b1a5aef9f7554
Resource metadataGET mcp.cloudflare.com/.well-known/oauth-protected-resource/mcp20022 ms
- Request
- GET https://mcp.cloudflare.com/.well-known/oauth-protected-resource/mcp
- Response
- 200 · application/json · 230 bytes
- Body
- sha256:db5e479bb0e41f6d8ed1edf3c0215fdc48b7fc8ba7dff4af13bfc6abefce9873
- Exchange
- sha256:e3a1e84bf82e6bf087fef6c520263207b032e462fe1d101e3f7339ec9d068127
Authorization serverGET mcp.cloudflare.com/.well-known/oauth-authorization-server20027 ms
- Request
- GET https://mcp.cloudflare.com/.well-known/oauth-authorization-server
- Response
- 200 · application/json · 9305 bytes
- Body
- sha256:876d6fc05477088c8cf425570ff4aeb0925eef62efbbb788c78c2911eca0d1ee
- Exchange
- sha256:50f159a208f307f9cc7eb36f6b80b408f9b5d2dc29a7519e89627054df02fd74
AuthorizationGET mcp.cloudflare.com/authorize?response_type=code&client_id=https%3A%2F%2Fapi.sourcey.com%2F.well-known%2Fagent-readiness%2Fclient.json&redirect_uri=https%3A%2F%2Fapi.sourcey.com%2F.well-known%2Fagent-readiness%2Fcallback&state=cf8bef1a3486991c22dfbfd22500190a&code_challenge=VwfD-t_Nk1E5gal0yYGy5yaGmDdq-OEl5JAB12WJREQ&code_challenge_method=S256&resource=https%3A%2F%2Fmcp.cloudflare.com%2Fmcp&scope=user%3Aread+account%3Aread200310 ms
- Request
- GET https://mcp.cloudflare.com/authorize?response_type=code&client_id=https%3A%2F%2Fapi.sourcey.com%2F.well-known%2Fagent-readiness%2Fclient.json&redirect_uri=https%3A%2F%2Fapi.sourcey.com%2F.well-known%2Fagent-readiness%2Fcallback&state=cf8bef1a3486991c22dfbfd22500190a&code_challenge=VwfD-t_Nk1E5gal0yYGy5yaGmDdq-OEl5JAB12WJREQ&code_challenge_method=S256&resource=https%3A%2F%2Fmcp.cloudflare.com%2Fmcp&scope=user%3Aread+account%3Aread
- Response
- 200 · text/html · 63016 bytes
- Body
- sha256:1d9749350232f91246f97d5a627f29dc94277de375465741c263c708d47e71e8
- Exchange
- sha256:8e01407dbe33472bdae7a042bf0fec6c189551806b639afbadb4e129d8454441
Declared pageGET dash.cloudflare.com/sign-up40334 ms
- Request
- GET https://dash.cloudflare.com/sign-up
- Response
- 403 · text/html · 5495 bytes
- Body
- sha256:50c8c452838171004253a1e23b2635b298fc190caebf7bc1c589426002434e4a
- Exchange
- sha256:9565166dd68b7041e2a898c5736c998ccc90105f2731f76790281ef7eb9b2150
Declared pageGET developers.cloudflare.com/billing30740 ms
- Request
- GET https://developers.cloudflare.com/billing
- Response
- 307 · application/octet-stream · 0 bytes
- Body
- sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
- Exchange
- sha256:1a6e52fd9fa47a53090ccd6b42ada3a7161ef9aea494bcac8c9a96845f0360e2
Declared pageGET developers.cloudflare.com/billing/get-started/create-billing-profile/20065 ms
- Request
- GET https://developers.cloudflare.com/billing/get-started/create-billing-profile/
- Response
- 200 · text/html · 106800 bytes
- Body
- sha256:3d9c9ccbccf3e3db64bc38de1e5a4b4b5aab235d97a6b68380911166d026dbbc
- Exchange
- sha256:9724e558da4d013f4045d3509199aa9b1d3b6e8188e26792fd6b36a6b596d0de
Cloudflare on the startup-offers board
- $10,000 in creditsCloudflare for Startups - Tier 3
- $100,000 in creditsCloudflare for Startups - Tier 2
- $350,000 in creditsCloudflare for Startups - Tier 1
The grade’s badge
One image that keeps itself current, linking here.
[](https://sourcey.com/c/cloudflare/agent-readiness/cloudflare-developer-platform/bucket-create)Improve the report
Correct it, probe it again, or improve the path.
- Profile
- arp_01m4pmg52xhbp7p6m1vrkzt2f6
- Projection
- sha256:9617c7782d5538b92616b11c47d5ac0b1f0ad011ea9ff633cb8f4b7cfbb9d025
- Policy
- kind-2026-10-12 · sha256:0a4e4996176ce674b4f3ce910c5fca4f37c9b53bcdf51656d53a1a92fcf2c879
A report or a reassessment request names this profile, its revision and its projection. How report cards are assessed →View the exact declaration