MCP-native
Not a bolted-on MCP server. Every capability — built-in and agent-defined — goes through the same tools/call; agents never see the backend difference.
Firecrawl’s zero-setup, plus the depth of agents writing code that runs in real isolation. Fully hosted on Cloudflare — zero ops, usage-based pricing.
Parametric APIs cover 80%, but can’t express site-specific logic; self-hosting is fully programmable, but the browser fleet, deps and scaling are all on you.
format:markdownAn agent submits some TypeScript; the platform statically validates it, runs it in real isolation, and registers it into tools/list. The next call feels identical to a built-in tool.
An agent calls define_extractor with a name + a TS function over PageSnapshot.
AST allowlist static check, compute code_hash, store in R2, register in D1.
Emit tools/list_changed; the new tool appears instantly, isolated per token.
Each call runs in a fresh V8 isolate; self-debug, overwrite by name, reuse forever.
// Submitted once by an agent, registered as a permanent MCP tool export default { async extract(snapshot: PageSnapshot) { const q = snapshot.dom.querySelector; return { title: q('h1.title')?.textContent, price: parseFloat( q('.price')?.textContent ?.replace(/[^\d.]/g, '') ?? '0' ), in_stock: q('[data-stock]') != null, }; } }; // → tool "my-shop-scraper" registered ✓
A single MCP endpoint, all visible to agents. Structured results with no LLM post-processing.
Render a single URL, return markdown / html / screenshot. Supports wait_for and pre-render actions.
Schema-driven extraction, Firecrawl-style. Give a JSON Schema, get structured data with confidence.
Seed URL + rules for batch fetching. Queue-dispatched concurrent workers, results streamed back via MCP notifications.
Not a bolted-on MCP server. Every capability — built-in and agent-defined — goes through the same tools/call; agents never see the backend difference.
Agents write code that runs in real isolation and registers as a tool. Not a prebuilt actor store — it’s “let the agent write an extraction function that lasts forever”.
Workers / D1 / R2 / KV / Queues / Browser Rendering / Dynamic Worker Loader — all included. No fixed infrastructure cost.
No servers, databases or browser fleets to maintain. Idle, you pay only D1 / R2 storage — under $1/month. 2026’s GA Dynamic Worker Loader makes “agent uploads code → platform runs it in real isolation” available on any paid plan.
Sign up, issue a Bearer token, paste the config into your MCP client. First scrape running in 5 minutes.