Skip to main content
Tutorial

Cursor + fastCRW: Live Web Context via MCP

Wire fastCRW into Cursor with the crw-mcp server so your AI coding agent scrapes, crawls, and searches the live web. Setup, config, and credit costs explained.

fastcrw
By RecepJune 9, 20268 min readLast updated: July 12, 2026

By the fastCRW team · Credit costs and footprint verified against the canonical fact sheet 2026-05-18 · See /pricing for current rates. Verify independently before buying.

Why Cursor's agent needs live web context

To add a Cursor IDE fastCRW MCP plugin you connect the crw-mcp server, and the reason you'd want to is simple: Cursor's agent reasons from its training cutoff plus whatever is in your repo, and neither one knows what a library's docs say today. When the agent guesses an API that changed two releases ago, you get confident, wrong code. Live web context closes that gap by letting the agent fetch the current page instead of recalling a stale one.

What Cursor can and cannot fetch on its own

Cursor indexes your codebase and can read files you open. It does not, by default, run a general-purpose web scraper that turns an arbitrary URL into clean markdown, crawls a whole docs site, or runs a live web search mid-task. Those are exactly the operations an external tool server provides — and that is what MCP is for.

Where MCP fits in the Cursor agent loop

The Model Context Protocol (MCP) lets Cursor's agent discover and call external tools the same way it calls built-in ones. You register a server once; from then on the model sees the tools, reads their schemas, and decides when to call them inside its plan-and-act loop. fastCRW ships an MCP server, crw-mcp, that exposes its scrape/crawl/map/search surface to any MCP client — Cursor included. For the broader pattern, see our guide to MCP web scraping.

What the crw-mcp server gives Cursor

scrape, crawl, map, search tools

The crw-mcp server surfaces fastCRW's core endpoints as agent tools:

  • scrape — one URL to clean markdown (/v1/scrape).
  • crawl — an async BFS crawl of a whole site, returning a job ID (/v1/crawl).
  • map — discover every URL on a site before you crawl (/v1/map).
  • search — a live web search, optionally scraping the results (/v1/search).

That covers the three things an agent actually needs from the web: read one page, read a whole reference site, or find a page it doesn't have the URL for yet. We round up the field in the best MCP servers for web scraping.

Firecrawl-compatible shape, drop-in after a base-URL swap

fastCRW's REST surface is Firecrawl-compatible — same base shape, drop-in after a base-URL swap. If you already wired the Firecrawl MCP server into Cursor, the tool semantics will feel identical; you are mostly changing the endpoint and key. That makes crw-mcp a low-friction Firecrawl MCP server alternative rather than a new mental model.

Step 1: Install and configure crw-mcp in Cursor

Adding the server to Cursor's mcp.json

Cursor reads MCP servers from an mcp.json config (project-level .cursor/mcp.json or your global Cursor config). The published package is crw-mcp@0.6.0 on npm (dist-tag latest), so you can launch it with npx without a global install:

  • Add a server entry that runs npx -y crw-mcp@0.6.0.
  • Pass your fastCRW endpoint and API key as environment variables (for the managed cloud, an fastcrw.com base URL plus your key; for self-host, your own host).
  • Reload Cursor — the scrape/crawl/map/search tools appear in the agent's tool list.

The exact key names follow Cursor's MCP config convention; the load-bearing detail is that crw-mcp is a standard stdio/HTTP MCP server, so any client that speaks MCP — Cursor, Claude Code, Windsurf, Cline — registers it the same way. Our Claude Code web scraping walkthrough shows the same server in a sibling client.

Self-hosted endpoint vs managed fastcrw.com

You point crw-mcp at one of two backends:

  • Managed fastcrw.com — nothing to run; you authenticate with an API key and pay per credit. Best when you want it working in five minutes.
  • Self-hosted — run the open-core engine yourself and point the MCP server at your own host. fastCRW is a single static Rust binary (~8 MB image, one container), AGPL-3.0, so the same backend Cursor depends on can run locally for the cost of your server.

The tools, schemas, and request shapes are identical either way; only the base URL and billing differ.

Pointing at the /mcp Streamable HTTP transport

fastCRW exposes POST /mcp as a Streamable HTTP MCP transport directly on the engine. If you'd rather not run the npm shim, you can point an HTTP-capable MCP client straight at /mcp on your fastCRW host. Both routes reach the same tool surface — the npm package is the convenience wrapper, /mcp is the native transport.

Step 2: Use the tools in an agent task

Scraping a docs page into clean markdown

Once registered, you don't call the tools manually. You tell Cursor's agent something like "read the current authentication docs at this URL and update our client to match," and the agent calls the scrape tool itself. fastCRW returns clean markdown — the headings, code blocks, and prose without the nav chrome — which is exactly the shape an LLM reasons over best. Extraction quality matters here: the cleaner the markdown, the less the agent has to guess.

Searching the live web mid-task

When the agent hits an unfamiliar error or needs a current answer it doesn't have a URL for, it can call the search tool. /v1/search returns ranked results and can optionally scrape each one, so the agent gets both the links and the content in a single tool call instead of scraping each result by hand.

Crawling a whole reference site

For "learn this entire framework's docs" tasks, the agent can map a site to discover its URLs, then crawl them. /v1/crawl is async and returns a job ID; the agent polls for results. Crawls accept maxDepth (cap 10) and maxPages (cap 1000), so a runaway crawl can't quietly drain your credits.

What it costs per agent run

Credit costs: scrape, search, crawl, browse session

fastCRW meters flatly, which makes an agent run easy to forecast:

OperationCredits
scrape (any renderer)1
crawl1 per page (any renderer)
search1 per query
map1
browse (MCP session)1 per session

So a typical task — search once, scrape three docs pages — costs about 4 credits. There is no separate JS-render multiplier stacked on top: every renderer costs the same 1 credit. (Note: a request asking for formats: ["json"] extraction is the 1-credit scrape plus the LLM token cost, metered as usage-based LLM credits, so budget for structured extraction explicitly.) Live tier prices live on /pricing rather than hard-coded here.

Self-hosting the engine for $0

Because the engine is AGPL-3.0 and self-hostable, you can run the exact same MCP backend on your own box and pay nothing per call — your only cost is the server. For development, CI, and high-volume agent loops where every fetch would otherwise be metered, this removes the per-page bill entirely while keeping the identical Firecrawl-compatible tool surface inside Cursor.

Design constraints inside Cursor

Screenshot output is supported

fastCRW produces screenshots. A request for formats: ["screenshot"] (or ["screenshot@fullPage"]) returns data.screenshot as a base64 PNG data URL, rendered via CDP/Chrome. If your Cursor workflow needs a visual capture of a page, fastCRW can do it directly alongside turning pages into clean text the agent can read.

Stateless per request; the agent loop stays in Cursor

One constraint worth designing around: fastCRW keeps no persistent session between calls — there is no logged-in browser state carried across tool calls, each request stands alone. fastCRW gives Cursor's agent the raw web-access tools (scrape, crawl, map, search, and a built-in research endpoint with anti-bot and JS-rendering handled server-side); the agent loop and reasoning stay inside Cursor, which is exactly where you want them.

Sources

Related: MCP web scraping · Best MCP servers for web scraping · Claude Code web scraping · Firecrawl MCP server alternative

FAQ

Frequently asked questions

How do I add the fastCRW MCP server to Cursor?
Add a server entry to Cursor's mcp.json (project-level .cursor/mcp.json or your global config) that runs the published crw-mcp@0.6.0 package, e.g. via npx -y crw-mcp@0.6.0, and pass your fastCRW endpoint plus API key as environment variables. Reload Cursor and the scrape, crawl, map, and search tools appear in the agent's tool list. You can also point an HTTP MCP client directly at the engine's POST /mcp Streamable HTTP transport.
What tools does crw-mcp expose to Cursor's agent?
Four core tools: scrape (one URL to clean markdown via /v1/scrape), crawl (an async BFS crawl of a whole site via /v1/crawl), map (discover every URL on a site via /v1/map), and search (a live web search, optionally scraping results, via /v1/search). The shape is Firecrawl-compatible, so it behaves like the Firecrawl MCP server you may already know.
Can I run the fastCRW MCP server locally instead of the cloud?
Yes. fastCRW is a single static Rust binary (~8 MB image, one container) under AGPL-3.0, so you can self-host the engine and point crw-mcp at your own host instead of the managed fastcrw.com cloud. The tools, schemas, and request shapes are identical; only the base URL and billing change. Self-hosting costs nothing per call — you pay only for your own server.
How many credits does a Cursor web-scraping task cost?
fastCRW meters flatly: a scrape is 1 credit (any renderer), search is 1 per query, crawl is 1 per page, and map is 1. So a task that searches once and scrapes three docs pages costs about 4 credits. A request asking for JSON extraction (formats: ["json"]) is the 1-credit scrape plus the LLM token cost, metered as usage-based LLM credits, so budget for structured extraction explicitly. See /pricing for live tier prices.
Does fastCRW support screenshots inside Cursor?
Yes. A scrape request with formats: ["screenshot"] (or ["screenshot@fullPage"]) returns data.screenshot as a base64 PNG data URL, rendered via CDP/Chrome. So beyond turning live pages into clean markdown your Cursor agent can read, fastCRW can also capture a visual of the page in the same request.

Get Started

Try fastCRW free

Run a live request in the playground — no signup required. Or grab a free API key with 500 credits, no credit card.

Continue exploring

More tutorial posts

View category archive