Skip to content

Releases: claude-world/cf-browser

v2.0.0 — Browser Interaction + REST API Params

16 Mar 23:04

Choose a tag to compare

What's New

Browser Interaction (Worker Mode only)

5 new MCP tools for clicking, typing, form submission, JavaScript execution, and multi-step action chains. Requires BROWSER binding (Workers Paid plan, $5/mo).

Tool What it does
browser_click Click an element, return resulting page
browser_type Type text into input fields
browser_evaluate Execute JavaScript, get return value
browser_interact Chain up to 20 actions (click, type, wait, screenshot, evaluate, select, scroll)
browser_submit_form Fill and submit forms in one call

REST API Parameters (Direct + Worker Mode)

All 10 read-only tools now support:

  • add_script_tag — inject JavaScript before capture (modify DOM without full interaction)
  • add_style_tag — inject CSS before capture
  • reject_resource_types — block images/stylesheets for faster loading

Other

  • DELETE /crawl/:id — clean up cached crawl results
  • uvx cf-browser-mcp support — install and run with one command
  • Health endpoint reports capabilities.interact based on BROWSER binding

Security

  • SSRF: request interception blocks redirects to private IPs
  • IPv6 private range blocking (fc00::/7, fe80::/10, ::ffff mapped)
  • Selector/script injection prevention with runtime validation
  • Action chain timeout enforcement (50s budget, per-action limits)

Install

# Direct Mode (read-only, no Worker needed)
uvx cf-browser-mcp

# Or with pip
pip install cf-browser cf-browser-mcp

Full Changelog: https://github.com/claude-world/cf-browser/blob/main/CHANGELOG.md

v1.2.0 — Fix CF API parameter mapping, add SPA support

15 Mar 03:23

Choose a tag to compare

What's Changed

Critical Fixes

All prior versions had silently broken parameterswait_for, headers, and timeout were sent using wrong names that Cloudflare's Browser Rendering REST API silently ignored. This release fixes the mapping across all 3 layers (Worker, SDK, MCP Server).

User API CF REST API (actual) Status
wait_for="h1" waitForSelector: {selector: "h1"} Fixed (was ignored)
headers={"X-Auth":"tok"} setExtraHTTPHeaders: {...} Fixed (was ignored)
timeout=5000 gotoOptions.timeout: 5000 Fixed (was ignored)

New Parameters

Added to all 10 MCP tools:

  • wait_until — Navigation completion strategy: networkidle0, networkidle2, load, domcontentloaded. Critical for SPA sites.
  • user_agent — Custom User-Agent string per request.

SPA Support Verified

Site Before After
X/Twitter Black splash screen Full profile render (bio, followers, tweets)

Use wait_until="networkidle0" for React, Next.js, Angular, and other SPA sites.

Stats

  • 23 files changed, 594 insertions, 96 deletions
  • Worker: 50 tests ✅ | SDK: 68 tests ✅ | TypeScript: 0 errors ✅
  • Live integration: all 10 MCP tools verified ✅

Full Changelog: https://github.com/claude-world/cf-browser/blob/main/CHANGELOG.md

v1.0.0 — Cloudflare Browser Rendering Proxy

13 Mar 21:08

Choose a tag to compare

cf-browser v1.0.0

Open-source Cloudflare Browser Rendering proxy — 10 MCP tools for Claude Code.

Features

  • 10 MCP tools: markdown, content, screenshot, PDF, snapshot (a11y), scrape, JSON AI extraction, links, crawl, crawl_status
  • Python SDK (pip install cf-browser) + MCP Server (pip install cf-browser-mcp)
  • One-command deployment (bash setup.sh)
  • Cloudflare Workers + Browser Rendering API
  • Auth support (cookies/headers for authenticated pages)
  • Smart caching (KV 1hr text, R2 24hr binary)
  • Rate limiting (60 req/min)
  • CI/CD with PyPI auto-publish

Quick Start

bash setup.sh              # Deploy Worker
pip install cf-browser-mcp # Install MCP Server

Full documentation: README.md