also known as Devin Desktop
Windsurf's own examples use serverUrl where every other client uses url. Both are accepted, but a config copied from Cursor is reported to fail silently.
One endpoint exposing 22 data capabilities across 57 pre-described tools — news, governance, DeFi, security and market data. It is a remote server, so there is no package to install, no process to keep alive and no key to obtain. That matters for Windsurf setup specifically: almost every MCP example online is command + args spawning a local binary, and none of it applies here.
The config below assumes all of this is already true. Most failed setups are one of these rather than a wrong field.
~/.codeium/windsurf/mcp_config.jsonConfirm the connection before you go looking for a bug in your prompt. A server that is listed but not connected looks identical to a model that chose not to call it.
alphaday should appear with its tools listedThe server listed with its tools. If the panel is empty straight after a save, press Refresh before assuming the config is wrong — a stale read is the more common cause.
This is the first message of the MCP protocol, sent by hand. If it answers, the server is reachable from your machine and every remaining problem is on the Windsurf side.
Expected response
The version number moves; "name":"alphaday" is the part to look for. The response also carries an mcp-session-id header, which is what a client reuses for every later call.
Ask these in the Cascade panel. Each one needs data the model cannot have — a live feed, an incident record, a yield table — so a good answer is proof the tools fired, not just that the server is listed.
serverUrl. The docs say serverUrl or url both work, but every official example uses the former.type or transport field. Guides telling you to add type: "streamable-http" are wrong — it is not in the schema.~/.codeium/windsurf/ directory.Symptom first, because that is what you have. The status codes below were produced against the live server rather than copied from elsewhere — if yours does not appear here, it is worth trusting that difference.
Config saved, but Cascade shows no server.
Windsurf read the file before you saved it, or the path is wrong.
Press Refresh in the MCP panel first. Then confirm the file is at ~/.codeium/windsurf/mcp_config.json — .codeium persists under the old name despite the Devin rename.
You copied a working Cursor config and it does not connect.
Cursor's config uses url. Windsurf accepts it per the docs, but every vendor example uses serverUrl, and failures with url are widely reported.
Rename the field to serverUrl.
A guide told you to add type: "streamable-http" and it broke.
That field does not exist in Windsurf's schema. It is a third-party invention.
Remove it. A remote server here is a name and a serverUrl, nothing more.
Opening the endpoint in a browser returns {"detail": "Bad Request"}.
A browser sends a GET. MCP is JSON-RPC over POST, so a 400 here is the server working correctly — there is no page to serve at an MCP endpoint.
Nothing. A 400 on a plain GET is the expected response, and it confirms the server is reachable.
404 {"detail": "Not Found"}.
The URL has a trailing slash, or a path appended. /mcp/ and /mcp/sse are both distinct routes from /mcp, and neither exists.
Use the endpoint exactly as written, with no trailing slash and nothing after it.
The server shows as connected, but the model never calls it.
Not a connection problem. Most clients only call tools in an agent mode, and several ship new tools unticked or capped.
Switch to the client's agent mode, confirm the Alphaday tools are enabled in its tool picker, and ask something that cannot be answered without live data.
The server does not appear anywhere, with no error at all.
An unparseable config. Most clients skip a file they cannot read rather than surfacing a parse error, and a trailing comma after the last field is the usual culprit.
Validate the file, then reload the window. Every block on this page is valid JSON as written; retyping it by hand is where commas get added.
22 datasets, reached by 57 tools — most datasets have a list form, a detail form and a trending form, which is why the two numbers differ. These four are the ones a general crypto API does not have:
180+ on-chain exploits and hacks, each with a written incident record.
3,000+ GitHub activity snapshots — commits and contributors per coin.
AI-detected chart patterns with a bullish/bearish signal and confidence score.
32,000+ DeFi yield pools with base and reward APY, TVL and IL risk.
Real-time news from 49 crypto outlets — 440,000+ articles, tagged and deduped.
59 governance forums — 60,000+ posts — behind one endpoint.
133 project blogs — 19,000+ posts — in one feed.
118 crypto podcast feeds — 22,000+ episodes, each with its audio URL and duration.
121 YouTube channels — 34,000+ videos — timestamped.
Prices, metadata, history and trending movers for the top coins.
700+ token categories; about half carry a market-cap aggregate.
140+ centralized exchanges with trust scores and volume.
700+ DEXes with the chains and protocols behind them.
2,000+ protocol fee and revenue records across DeFi.
400+ stablecoins — peg type, mechanism and circulating supply.
Live Snapshot proposals across 51 DAOs.
6,000+ conferences, meetups, hackathons and side events.
A 17,000+ tag taxonomy — projects, chains and categories, with parents and children.
An AI briefing over the whole news corpus, focusable by project.
What crypto is talking about, ranked, right now.
Search project-tagged content across the whole superfeed.
The fear & greed index, per asset.
All 22 capabilities are listed on the MCP overview, with the tool count behind each.
Verified 2026-09-14 against the vendor's docs: