Support EU-jurisdiction R2 buckets in Cloudflare MCP
Maintainers usually reply within 1 day
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- typescript
Research direction
Start by reviewing the open linked pull request #279 and the Cloudflare MCP actions that access R2 buckets. Check how those actions build requests and expose parameters, then compare with Cloudflare’s R2 API documentation for the jurisdiction header. Done means EU bucket metadata and configuration can be read with the existing read permission and the optional jurisdiction behavior is covered.
Written by the indexing model from the issue text.
Description
Problem
The Cloudflare MCP connector currently does not expose a way to send the cf-r2-jurisdiction: eu header when accessing an R2 bucket located in the European Union.
As a result, we cannot read the bucket configuration or verify data residency and isolation for a staging environment.
This blocks our pre-production security validation, even though Cloudflare authentication is working. No permission-denied response has been observed; the required jurisdiction header cannot be supplied through the available connector action.
Proposed Solution
Please add support for EU-jurisdiction R2 operations in the Cloudflare MCP connector.
Ideally, the connector should automatically pass cf-r2-jurisdiction: eu for EU-jurisdiction buckets, or expose an optional jurisdiction parameter supporting eu.
The solution should allow read-only access to bucket metadata and configuration with the existing Workers R2 Storage Read permission, without requiring additional write permissions.
Alternatives Considered
Using the Cloudflare REST API directly with the cf-r2-jurisdiction: eu header, or using a separate Cloudflare-compatible client.
These alternatives require an additional authentication workflow outside the existing MCP connector.
Additional Context
Use case: validating an isolated European staging environment before enabling application-level testing.
Cloudflare authentication and basic resource discovery already work through MCP. The remaining limitation is the inability to query the EU-jurisdiction R2 bucket using the required header.
Cloudflare R2 API documentation:
https://developers.cloudflare.com/r2/api/
No production resources have been modified, and no credentials or sensitive bucket details are included in this request.
- Dominant language
- TypeScript
- Stars
- 972
- Forks
- 143
- Avg merge
- 2d 8h
- Merged PRs (30d)
- 51
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from cloudflare/mcp
-
[Connection guide] Claude CodePossibly taken @umeraamir69 claimed this 3 days ago. Openenhancement good first issue
Difficulty 1/5 Under an hour Newbie friendliness 72/100
cloudflare/mcp#39 · 6 comments · 1 reaction ·
Maintainers usually reply within 1 day
-
R2 JPEG GET returns lossy UTF-8 text instead of binary bytesPossibly taken @mattzcarey claimed this 2 days ago. Openbug
cloudflare/mcp#322 · 1 assignee ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 25/100
cloudflare/mcp#320 ·
Maintainers usually reply within 1 day
-
Track Codex and ChatGPT step-up: they need the challenge in the tool result, not the spec's 403Openenhancement
Difficulty 4/5 3-5 days Newbie friendliness 25/100
cloudflare/mcp#298 · 2 comments ·
Maintainers usually reply within 1 day
-
Access application creation returns “1010: undefined” without diagnostic detailsPossibly taken @mattzcarey claimed this 8 days ago. Openbug
cloudflare/mcp#292 · 1 assignee ·
Maintainers usually reply within 1 day
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
braintrustdata/braintrust-sdk-javascript#2659 ·
Maintainers usually reply within 1 day
-
body-parser 2.3.0 in the published ai-dial-chat-bff image is vulnerable (CVE-2026-111181, HIGH)Possibly taken @illya-havsiyevych claimed this today. Openbug
Difficulty 1/5 1-3 hours Newbie friendliness 87/100
epam/ai-dial-chat#9566 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
Maintainers usually reply within 1 day
-
はさみアイコンを修正するOpenbug
Difficulty 1/5 Under an hour Newbie friendliness 68/100
-
area: core
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day