Guides · Windsurf + MCP
How to set up Windsurf with a whole-machine file index.
Windsurf's Cascade agent only sees the folder you opened. Everything else on your machine (the other repos, the git-ignored files, the config with the answer), it re-scans or never finds. One MCP server fixes that, and the same install wires it into 18 other AI clients too. Here is the whole setup, then the payoff, measured.
Windsurf's Cascade agent indexes only the folder you open: other repos, git-ignored files, and everything outside the workspace are invisible to it.
The fix is MCP: add one server to mcp_config.json and Cascade gains whole-machine file tools it can call in plain language.
Interlinked Files is that server, a machine-wide filename + content index that answers in the microsecond range (85 µs a lookup) and stays fresh as you save (~1 ms).
One signed installer wires it into Windsurf plus 18 other AI clients(Cursor, Claude Code, Copilot, Codex, Zed, Cline) with no per-app JSON editing.
Local and offline; nothing leaves your disk. Free forever, no card. Hosting starts at $5.99/mo.
What you are actually wiring
One config entry, the whole disk searchable.
A whole-machine file index is a background service that keeps every filename and every file's contents on your computer pre-searchable, so any program (Windsurf included) can look something up in the microsecond range instead of walking the disk. You expose it to Cascade through MCP, the open standard for handing an agent new tools.
There are three moving parts. You add one entry to a config file once. On every launch, Windsurf connects to the server and reads its menu of tools. Those tools sit in Cascade's toolbelt, callable whenever the model decides one fits, now reaching every repo and every file, not just the folder you opened.
Open Windsurf's MCP settings. In the Cascade panel, open the MCP toolbar and choose Configure (or Settings → Cascade → Manage MCP servers). Windsurf keeps its servers in a plain file at ~/.codeium/windsurf/mcp_config.json.
Add one server entry. Every MCP client uses the same shape: an mcpServers block naming the program to run. A local index server is a small program on your machine, so nothing crosses the network. Paste the block, save the file.
Refresh, so Cascade connects. Hit Refresh in the MCP panel (or restart Windsurf). Cascade opens a connection to the server and asks one question (what can you do?) and the server answers with its menu of file tools. You do nothing.
Ask in plain language. You will see the server and its tools listed as connected. From here you just ask where something lives, or what mentions a string; the model picks the right tool and calls it, now across the whole machine, not one folder.
The config, exactly
The one block Windsurf needs.
Windsurf reads its MCP servers from ~/.codeium/windsurf/mcp_config.json. Reach it from the Cascade MCP panel, or open the file directly. It is the same mcpServers shape every MCP client uses, so the block you write here is the block you write anywhere:
Save, hit Refresh in the MCP panel, and Cascade lists the server as connected with its file tools attached. That is the entire manual setup.
What the wire actually buys you.
Cascade's own retrieval is scoped to the workspace you opened: that is by design, and it is why it can feel like the agent forgot the rest of your machine. Here is the reach it gains once a machine-wide index answers on its behalf:
| What the search can reach | Windsurf alone | With the index |
|---|---|---|
| The folder you opened | Yes | Yes |
| Other repos on the same machine | No | Yes |
| Files outside any workspace (Downloads, configs, notes) | No | Yes |
| Git-ignored files | No | Yes |
| Contents across every repo at once | No | Yes |
| Text inside PDFs and Office documents | No | Yes |
The named problem
Windsurf indexes the folder you opened. So does Cursor.
This is not a knock on Windsurf: it is how AI-native editors are built. Cascade indexes the workspace you open and re-scans it as you work; Cursor does the same with the repo you are in. It is the right call for one project. But your machine is not one project. It is a dozen repos that ship together, plus the 90% of the disk that was never in git: configs, downloads, documents, the PDF with the spec. An agent's questions do not respect folder boundaries; its built-in index does.
So Cascade either misses what lives outside the workspace, or falls back to scanning, walking directories on a question it should have answered instantly. Two editors, the same ceiling. We wrote up how the workspace index gets drawn in Cursor vs Windsurf, and it is a specific case of a bigger pattern: the layer every agent stands on is the one nobody makes fast.
Skip the JSON entirely
One install wires Windsurf and 18 other clients.
Interlinked Files is that machine-wide index, delivered as an MCP server, so everything above applies, but you never open mcp_config.json at all. One signed installer detects the AI clients on your machine and writes the config into each of them: Windsurf, Cursor, Claude Code, Copilot, Codex, Zed, Cline and more: 19 clients wired up in a single step. And it is the one server an agent reaches for most: the file layer for your whole machine, local and offline, every save searchable again in about a millisecond.
YOU CAN STILL ADD IT BY HAND. MOST PEOPLE LET THE INSTALLER DO ALL 19.
Measured, not claimed
What the index actually saves.
An agent handed a fast file layer changes shape. We measured the same single-file task with and without the index, on a real 4.47-million-file machine. The hardware is in the footer, and the numbers are anchored to things you can feel.
And the plain lookup, against the tools you already use to find a file: same machine, same drive, same queries. 67 seconds of Windows Search is long enough to refill your coffee; 139 microseconds is gone before you lift the cup.
| The searcher | What ran | Time | vs Interlinked |
|---|---|---|---|
| Interlinked Files | one indexed filename lookup | 85 µs | baseline |
| VS Code (Ctrl+P) | same file, same drive | 35 s | 412,000× |
| Windows Search | median of 20 queries | 67 s | ~480,000× |
| ripgrep | same content query, same corpus | 93.8 s | 58,625× |
| Claude Code (no index) | one file, agentic hunt | 6 m 57 s | ~7,200,000× |
Methodology: Ryzen 9 9950X3D · 64 GB DDR5 · NVMe · Windows 11 · 4,470,000 files. Filename lookups are microsecond-scale (85 µs single, best 2 µs, 139 µs median of 20 queries). The ripgrep row is the same content query, content-to-content (93.8 s → 16 ms; 58,625× across the five-query set). The Claude Code row is a measured single-file agent run given no index (6 m 57 s and 71 tool calls, versus one indexed call), and the multiplier compares it to a single microsecond-scale lookup.
Questions people ask
Windsurf + a file index, in short.
Does Windsurf support MCP servers?
Yes. Windsurf's Cascade agent speaks the Model Context Protocol, so any MCP server drops in. You add one through the Cascade MCP panel or by editing ~/.codeium/windsurf/mcp_config.json, then Refresh. New for MCP? Start with what is an MCP server.
Why can't Windsurf find files outside my workspace?
Its built-in retrieval indexes the folder you opened. Anything in another repo, outside any workspace, or ignored by .gitignore is simply not in that index, so Cascade cannot see it. A machine-wide index server reaches all of it at once.
Do I have to set this up separately for Cursor and Claude Code?
By hand, yes: each client keeps its own config in its own place, so today you wire the same server up once per app. The Interlinked installer skips that: it detects the AI clients on your machine and configures 19 of them in one step. The manual path for Anthropic's agent is here: set up an MCP server in Claude Code.
Is the index private and offline?
Yes. It runs as a local background service; queries and file contents never leave the disk. There are no keys, no cloud calls, and no model in the loop, just an index and a lookup.
Do I have to re-index when files change?
No. The index rides your changes: save a file and it is searchable again in about a millisecond, under 30 in the worst case. You never trigger a re-scan by hand.
Do this today
Give Cascade the whole machine.
Install once. One signed installer auto-configures Windsurf and 18 other AI clients: Cursor, Claude Code, Copilot, Codex, Zed, Cline and the rest. No mcp_config.json to edit.
Let it index. Filename search works immediately; content search fills in behind it. At rest the whole engine sits around 44 MB, less than a browser tab.
Ask normally. Cascade picks the right tool by itself. Ask where something is, or what mentions it; the answer comes back in the microsecond range, whole-machine.
It stays fresh. Save a file and it is searchable in about a millisecond, under 30 in the worst case. The index rides your changes; you never re-index by hand.
Everything (the desktop app and the MCP server every client plugs into) is free forever, on all your devices, no card. Hosting starts at $5.99/mo. Download for Windows.