Connect Fine Structure to Windsurf
Windsurf's Cascade panel manages MCP servers, and remote servers are declared with serverUrl rather than url. You can add Fine Structure through the Add Server dialog or by editing the raw config, and Cascade supports OAuth for each transport type. Remember the refresh step, because a newly added server does not appear until you refresh.
Before you start
- A Fine Structure account on the free tier or above.
- Windsurf installed with the Cascade panel available.
- On enterprise deployments, the feature may need to be enabled in settings, and team admins can restrict which servers are allowed.
Step by step
- In Windsurf, open Settings, then Tools, then Windsurf Settings.
- Click Add Server to use the dialog, or click View Raw Config to edit mcp_config.json directly. Opening it from the UI is the safest route, because that is the exact file Windsurf reads.
- If you are editing the raw config, add the entry from the config snippet below. Windsurf uses serverUrl for remote servers, not url.
- Save the file.
- Press the refresh button in the Cascade MCP panel. A newly added server is not active until you refresh.
- Complete the sign in when prompted. Windsurf's docs state that Cascade supports OAuth for each transport type, including streamable HTTP.
- Ask Cascade to list your Fine Structure apps to confirm the tools loaded.
- If your build does not offer an OAuth prompt, create a scoped token in the Fine Structure Studio MCP Server tab and add a headers object with Authorization set to Bearer plus that token.
Configuration
{
"mcpServers": {
"finestructure": {
"serverUrl": "https://finestructure.ai/api/mcp",
"headers": {}
}
}
}
What to watch out for
- Windsurf is the outlier on field naming: it uses serverUrl where Cursor, Zed, Cline and VS Code all use url. Copying a config from another editor is the most common reason a Windsurf setup fails silently.
- Windsurf's MCP documentation points at a config file under your ~/.codeium directory. Rather than typing a path by hand, open it with View Raw Config so you are certain you edited the file Windsurf actually loads.
- Cascade supports stdio, streamable HTTP and SSE. Fine Structure is streamable HTTP, so no proxy or wrapper is needed.
- If you paste a token into headers, keep the file out of version control, since Windsurf's config lives in your user directory by default rather than in the repository.
- Enterprise deployments can allowlist servers, so on a managed installation check with your admin before assuming the server was rejected for a technical reason.
Questions people ask
Why is serverUrl different from every other editor?
It is simply Windsurf's chosen field name for remote MCP servers. Its documentation uses serverUrl in the remote examples, and a config copied from a Cursor or VS Code guide will not connect until you rename the field.
I added the server and nothing happened.
Press the refresh button in the Cascade MCP panel. Windsurf's docs call this out explicitly: a newly added plugin or server is not activated until you refresh.
Does Windsurf need a token, or will OAuth do?
OAuth should be enough, because Windsurf's docs say Cascade supports OAuth for each transport type. If your build does not prompt, fall back to a scoped token from the Studio MCP Server tab in the headers object.
Vendor documentation we checked
All platforms: connect Fine Structure to any AI. Also the documentation and pricing.