Skip to content

feat: restrict outgoing fetch from dynamic workers to Cloudflare API domains - #20

Merged
mattzcarey merged 2 commits into
mainfrom
feat/global-outbound
Feb 19, 2026
Merged

feat: restrict outgoing fetch from dynamic workers to Cloudflare API domains#20
mattzcarey merged 2 commits into
mainfrom
feat/global-outbound

Conversation

@mattzcarey

Copy link
Copy Markdown
Contributor

Summary

  • Adds a GlobalOutbound WorkerEntrypoint that intercepts all fetch() calls from dynamically-loaded workers and only permits requests to api.cloudflare.com
  • Search executor workers have network access fully blocked (globalOutbound: null) since they only query the in-memory spec
  • Adds GLOBAL_OUTBOUND service binding in wrangler config for all environments (dev, staging, production)

Test plan

  • Deployed to staging (staging.mcp.cloudflare.com)
  • Verify execute tool calls to Cloudflare API succeed as before
  • Verify dynamically-loaded worker cannot fetch non-Cloudflare domains
  • Verify search tool still works (no network access needed)

…domains

Add a GlobalOutbound WorkerEntrypoint that intercepts all fetch() calls
from dynamically-loaded workers and only permits requests to
api.cloudflare.com. Search executor workers have network access fully
blocked (globalOutbound: null) since they only query the in-memory spec.
@mattzcarey
mattzcarey merged commit b568387 into main Feb 19, 2026
1 check passed
@mattzcarey
mattzcarey deleted the feat/global-outbound branch February 19, 2026 23:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant