Web scraping in Devin Desktop,
one config file away
Save one JSON block into ~/.codeium/windsurf/mcp_config.json, hit Connect, and all 57 scraping tools land in Cascade's schema, with no restart and no install step. Proxies and parsing stay on our side. Devin Desktop is the editor that shipped as Windsurf, which is why the path still says so.
1,000 free credits. No credit card required.
the key stays in your environment, and the file sits outside the repo either way


The same MCP server, in the file that commits and in the one that doesn't.
Cascade reads a personal file that never leaves your machine. The Devin CLI reads one that travels with the repo. Same endpoint, same balance, and the key stays a variable in both.
The hero file wires Cascade only. The CLI takes one command, writes its own file, and calls the endpoint url where Cascade calls it serverUrl.
.devin/mcp_config.json goes to the repo with the endpoint, and the tool allow-list sits next to it in .devin/mcp_config.json, so a pull brings both. Keys stay out of it: the header reads ${env:HASDATA_API_KEY}, and anything personal belongs in the gitignored .devin/mcp_config.local.json.
Cascade's server page lists all 57 tools with a checkbox each. Untick what the agent shouldn't see.
editor or terminal, the endpoint doesn't care
You ask once. Cascade runs the chain.
One prompt, and the calls chain themselves. Each answer becomes the input the next call needs, and you never paste a value between steps.
Cascade names each tool as it calls it, so you watch the reasoning instead of a spinner.
You describe the steps.
It supplies the values.
| I Tested 7 Standing Desks To Find The Best One | Switch and Click | 434,712 | 13:57 |
| Are Standing Desks Overrated? — My 1 Year Experience | David Zhang | 2,932,632 | 5:39 |
| Give Me 9 Minutes Before You Waste $$$ On a Standing Desk | Ahnestly | 334,331 | 9:09 |
| I Thought this was the Best Standing Desk. | Switch and Click | 145,741 | 14:53 |
| How Much Should You Spend on a Standing Desk in 2026? | Reid Wilking | 67,867 | 8:03 |
0:02 over a year now but do I think they're
0:03 overrated in my opinion some standing
0:06 desks solutions aren't really worth it
0:08 the health benefits of standing is
0:09 highly debated and probably not that
0:11 beneficial and I strongly believe a good
Nothing in the prompt names the product. The previous answer does.
| BestOffice Ergonomic Office Chair | $39.99 | 4.3 · 64,200 | 10K+ |
| NEO CHAIR High Back Mesh | $64.98 $58.45 | 4.2 · 2,600 | 6K+ |
| Fizzin Office Chair Mesh | $109.99 $87.99 | 4.3 · 609 | 2K+ |
| Marsail Ergonomic Office Chair | $139.99 $118.94 | 4.2 · 1,800 | 5K+ |
| Criss Cross Office Chair | $209.99 | 5.0 · 5 | New |
57 scraping tools, already parsed field by field.
Search, every surface of it
The Google results page, Light SERP, AI Mode, AI Overview, News, Shopping, Images, Events and short videos. Plus Bing and Trends.
Businesses, phone included
Google Maps places, reviews, author reviews, photos and posts. Plus Yelp and YellowPages.
Homes, stays and fares
Zillow, Redfin, Airbnb, Booking, Google Hotels, Google Flights.
Products and their sellers
Amazon search, product, seller and seller inventory. Plus Shopify.
Channels, posts and transcripts
YouTube search, video, channel and transcript. TikTok profile, posts and keyword search. Instagram.
Openings and employers
Indeed for the openings, Glassdoor for the employers behind them.
Anything with a URL
Any public URL through the Web Scraping API. Markdown for reading, or name the fields and get typed JSON. A site we don't parse out of the box is a custom scraper away.
1,000 free credits is a finished job.
Free
Startup
Business
RecommendedGrowth
Monthly credit volume
Custom price based on required volume
Past 100M credits a month, or terms the self-serve plans do not cover. We shape the contract around your workload.
How do I scrape websites in Devin Desktop?
Add the HasData MCP server to ~/.codeium/windsurf/mcp_config.json and hit Connect. Cascade discovers 57 scraping tools (SERP, Maps, Amazon, any public URL) and calls them by name in the chat. The Devin CLI keeps its own .devin/mcp_config.json and lists the same server under Devin Local. Proxies, rendering and parsing run on HasData's side. This is a scraping server you add to Devin, not Cognition's own Devin MCP, which points the other way and lets outside agents hand work to Devin.
Is Devin Desktop the same as Windsurf?
Yes. Cognition rebranded Windsurf as Devin Desktop to put the editor and the Devin agent under one name, and the editor agent is still called Cascade. The MCP config format did not change, and one endpoint serves both surfaces, the Cascade MCP marketplace and the Devin Local one.
Does the API key have to sit in the file?
No. ${env:HASDATA_API_KEY} in the headers is what Cascade expects, and it resolves from the environment the app started with. If the variable is missing it resolves to an empty string and the server answers 401, so set it before the app starts, then hit Connect.
How do I add an MCP server to Devin Desktop?
The server showed up on the MCP panel straight away. One click on Connect and it reads hasdata MCP · Connected with all 57 tools listed under Write. No restart, no approval dialog.
Can I switch off tools I don't need?
Yes, one by one, and an unchecked tool never enters the schema. Cascade also caps what it loads at 100 tools across all servers, so 57 leaves room for one more server, not for five.
Is there a config my team can share?
Yes, the one the Devin CLI writes. .devin/mcp_config.json commits with the repo, so a pull is the whole setup. In the app it lands in the Devin Local marketplace, not in Cascade's list.
What does a call cost?
From 1 credit for a plain page read to 15 depending on the tool, from one balance shared with the REST API. You start with 1,000 free, no card.
All integrations · The MCP server itself, including full platform coverage
One config file away.
Web scraping in Devin Desktop, minus the infrastructure. No headless browsers, no proxy pools, no parsers to maintain, just structured data back.
One config file · 1,000 free credits · no card