Windsurf Web Scraping Integration — fastCRW [Firecrawl-Compatible]
Integrate fastCRW as an MCP server in Windsurf (Codeium's AI IDE). Configure ~/.windsurf/mcp.json, then scrape, search, crawl, and extract web data from coding sessions. 6.6 MB RAM.
Register fastCRW as an MCP server in Windsurf so the agent can scrape, search, crawl, map, and extract live web pages directly from your coding environment and agentic workflows.
Verdict
Windsurf is Codeium's next-generation AI IDE, designed for multi-agent coding workflows. Unlike single-agent chat IDEs, Windsurf's Cascade multi-turn agent and flow editor let you orchestrate complex agentic behaviors — chain a web search, scrape results, extract structured data, and feed it into code generation. fastCRW integrates as an MCP server, adding five web scraping tools to Windsurf's agent toolkit. The fastCRW runtime is 6.6 MB, which means the entire scraping pipeline runs on your laptop without cloud bloat. This is ideal for Windsurf users who want their agents to research APIs, monitor status pages, or extract data from internal wikis during coding sessions.
Who This Is For
- Windsurf users with Cascade multi-agent workflows — your agents need to scrape docs, status pages, or web content to inform code generation.
- Teams using Windsurf's flow editor — build reusable flows that search, scrape, and extract data triggered from the IDE.
- AI-assisted development at scale — Windsurf + fastCRW gives your agent web browsing capability without manual context switching.
- Enterprises self-hosting fastCRW — point Windsurf at your internal fastCRW instance to scrape private wikis, dashboards, and authenticated content.
Setup Steps
1. Install Windsurf
Visit windsurf.dev and download the IDE for your operating system. Open it and authenticate with your Codeium account.
2. Provision a fastCRW API key
Sign up at fastcrw.com and copy your API key (starts with fcrw_). Free tier includes 500 credits/month.
3. Create ~/.windsurf/mcp.json
Windsurf reads MCP server configs from ~/.windsurf/mcp.json at startup. Create the file if it doesn't exist:
{
"mcpServers": {
"fastcrw": {
"command": "npx",
"args": ["-y", "@fastcrw/mcp"],
"env": {
"FASTCRW_API_KEY": "${FASTCRW_API_KEY}"
}
}
}
}
4. Store your API key securely
Add your fastCRW API key to your shell profile instead of hardcoding it:
# Add to ~/.zshrc or ~/.bashrc
export FASTCRW_API_KEY="fcrw_..."
# Reload
source ~/.zshrc
Verify it's set:
echo $FASTCRW_API_KEY
5. Restart Windsurf
Close all Windsurf windows and reopen. Windsurf will load mcp.json and spawn the fastCRW MCP server. You should see no errors in the output panel.
6. Test in Cascade agent
Open a conversation in Windsurf and ask the Cascade agent to use fastCRW:
@fastcrw Scrape the latest Windsurf documentation from docs.windsurf.dev
and summarize the MCP integration steps for me.
The agent will invoke fastcrw__scrape, fetch the page, and return the Markdown.
Example Agent Prompts
Research APIs for integration
Using fastCRW:
1. Search for "OpenAI API documentation"
2. Scrape the top result
3. Extract the key endpoints and authentication methods
4. Generate TypeScript types for the API
Then write a TypeScript client that uses these types.
Cascade orchestrates search → scrape → extract → code generation in one multi-turn flow.
Monitor competitor features
@fastcrw Compare three competitors:
- Firecrawl (firecrawl.dev)
- Crawl4AI (crawl4ai.com)
- fastCRW (fastcrw.com)
Scrape their homepages and feature lists.
Create a comparison table highlighting speed, pricing, and MCP support.
Your agent pulls live marketing pages and generates competitive analysis.
Build a data pipeline from a public dataset
@fastcrw Crawl example.com/data (depth 2) to find all CSV download links.
Extract the URLs into a JSON array.
Then generate a Python script that:
1. Downloads each CSV
2. Combines them into a single dataset
3. Validates the data
Include error handling and progress logging.
Multi-turn orchestration: crawl → extract → code generation.
Extract structured data from a directory listing
@fastcrw Navigate to jobs.example.com and extract all job postings as JSON.
Schema should include: title, department, seniority, location, apply_url.
Then generate a Svelte component that displays these as a filterable table.
Combines web scraping with UI generation.
Self-hosted internal tool
@fastcrw Scrape our internal wiki at https://wiki.internal.company.com/engineering.
Extract all deployment runbooks and summarize them.
Highlight any outdated procedures (check dates).
Point fastCRW at your private infrastructure for on-demand internal research.
Windsurf Flow Workflow Example
Beyond Cascade agent conversations, you can create reusable flows:
- Open the Flow Editor in Windsurf.
- Add steps:
- Step 1: Call
fastcrw__searchwith a query - Step 2: For each result, call
fastcrw__scrape - Step 3: Call
fastcrw__extractwith a JSON schema - Step 4: Generate code based on results
- Step 1: Call
- Save the flow and trigger it from the keyboard or IDE menu.
This is useful for repetitive research workflows that you run daily (e.g., "find and extract new security advisories").
Troubleshooting
fastCRW tools don't appear in Cascade agent
Problem: You configured mcp.json but the agent can't see fastCRW tools.
Fixes:
- Confirm
~/.windsurf/mcp.jsonexists and is valid JSON. - Check
echo $FASTCRW_API_KEYin your terminal — the environment variable must be set. - Restart Windsurf completely (close all windows).
- Check Windsurf's logs: Help → Show Logs and search for "mcp" or "fastcrw".
"Tool failed: invalid API key"
Problem: Cascade says the fastCRW tool failed with an authentication error.
Fixes:
- Verify your API key is correct at fastcrw.com/dashboard.
- Check that your key hasn't expired (check the dashboard for status).
- Regenerate a new key if needed.
- Make sure the key is set:
echo $FASTCRW_API_KEYshould printfcrw_....
Cascade agent calls fastCRW but gets empty results
Problem: The scrape tool runs but returns no content.
Fixes:
- Test the URL in your browser first — is it publicly accessible?
- Some sites block scrapers. Try a simpler URL (e.g., fastcrw.com vs a JavaScript-heavy app).
- Ask your agent to retry with a simple HTML page like
example.comto confirm the tool works. - For JavaScript-rendered sites, use the
renderparameter if your Windsurf config supports it.
"Command not found: npx"
Problem: Windsurf says npx is not available.
Fixes:
- Install Node.js 20+:
node --versionin terminal. - If using nvm:
nvm useand verifywhich npx. - Update your Windsurf environment in Settings → Environment to include your Node.js path.
Cascades are slow when scraping
Problem: Multi-turn Cascade flows take a long time because each fastCRW call waits for the previous one.
Fixes:
- Reduce crawl depth: use
depth: 1ordepth: 2instead of 5. - Use
scrapefor single pages instead ofcrawlfor entire sites. - For parallel workloads, use Windsurf's flow editor to make simultaneous calls.
- Monitor credit usage at fastcrw.com/dashboard — you may be hitting rate limits.
Self-Hosted fastCRW in Windsurf
For enterprise deployments, self-host fastCRW on your infrastructure and point Windsurf at it:
{
"mcpServers": {
"fastcrw": {
"command": "npx",
"args": ["-y", "@fastcrw/mcp"],
"env": {
"FASTCRW_API_KEY": "${FASTCRW_API_KEY}",
"FASTCRW_BASE_URL": "https://crw.internal.company.com"
}
}
}
}
This lets your Cascade agents scrape:
- Internal wikis and knowledge bases
- Private dashboards and monitoring tools
- Authenticated APIs and portals
- Compliance-sensitive content that must stay on-premise
Windsurf vs Cursor vs Cloud IDEs
| Feature | Windsurf | Cursor | GitHub Copilot |
|---|---|---|---|
| MCP support | Yes (native) | Yes (native) | Limited preview |
| Multi-agent flows | Yes (Cascade + Flow Editor) | No (single agent) | No |
| Keyboard shortcut customization | Yes | Yes | Limited |
| Self-hosted models | Yes (Ollama, local) | No | No |
| Price | Free tier + Pro | Free tier + Pro | $10/mo |
Choose Windsurf if: you want multi-agent flows and complex orchestration. Choose Cursor if you prefer simplicity and single-agent chat. Both support MCP equally.
When to Use fastCRW vs Alternatives
fastCRW vs web scraping with code
| Approach | Time to first scrape | Maintenance | Multi-agent |
|---|---|---|---|
| fastCRW + MCP | 2 minutes | None | Yes |
| BeautifulSoup | 30 minutes | You maintain it | Manual |
| Playwright | 1 hour | Complex | Manual |
| Firecrawl API | 5 minutes | Third-party SLA | Limited |
Choose fastCRW if: you want to embed scraping in Windsurf flows without writing custom code. Choose code-based scrapers if you need deep customization.
fastCRW vs Firecrawl
| Feature | fastCRW | Firecrawl |
|---|---|---|
| MCP built-in | Yes | Separate install |
| Multi-agent flows | Works in Windsurf | Manual orchestration |
| Performance | 5.5x faster | Slower |
| Browser actions | Planned | Yes (click, type) |
| Free tier | 500 credits | 500 credits |
Choose fastCRW if: you want MCP-first integration with Windsurf. Choose Firecrawl if you need browser automation today.
Related
Continue exploring
More from Integrations
Cline Web Scraping Integration — fastCRW [Firecrawl-Compatible]
Make Web Scraping Integration — fastCRW [Firecrawl-Compatible]
Vercel AI SDK Web Scraping Integration — fastCRW [Firecrawl-Compatible]
Register fastCRW as a tool in Vercel AI SDK so generateText and streamText can scrape live web pages. Drop-in alternative to Firecrawl with 6.6 MB RAM runtime and 833 ms average latency on 1,000-URL benchmark.
Cursor Web Scraping Integration — fastCRW [Firecrawl-Compatible]
Add fastCRW as an MCP server in Cursor IDE. Configure ~/.cursor/mcp.json, then scrape, search, crawl, and extract web pages from within your agent prompts. 6.6 MB RAM runtime.
Flowise Web Scraping Integration — fastCRW [Firecrawl-Compatible]
Add fastCRW to Flowise workflows with an HTTP node or custom tool definition. No-code web scraping for LangChain flows, RAG pipelines, and AI agents. 6.6 MB RAM runtime, 92% coverage on the 1,000-URL benchmark.
Related hubs