MCP setup

Connect LeadOcean to Windsurf

One config entry, one browser sign-in, no API key pasted. The free plan gets the same MCP server as Pro.

Get your free API key →Free to start. No credit card. 1,000 records to spend whenever you like.

Add one entry to Windsurf's MCP config, sign in through your browser, and the agent can search, count and enrich people and companies. No API key is pasted anywhere. The free plan gets the same server as Pro.

This page covers Windsurf only. Other clients are on the MCP hub.

Before you start

You need a LeadOcean account and Windsurf installed. Create a free account. It has no card and 1,000 records, one-off, and it needs a work email.

The Windsurf MCP docs, September 2026, name no paid plan for remote HTTP servers. They do say Enterprise users must turn MCP on in settings. Team admins can also allowlist servers, and once one is allowlisted, all others are blocked. If the server is refused, ask your admin.

Windsurf now has two agents, and each reads its own config. Cascade is the legacy agent. Devin Local is the default for new tabs. Pick the section that matches the agent you use.

Add the server

The server URL is https://api.leadocean.io/mcp.

Cascade. Click the ... (Actions) menu in the Cascade panel, then the Open MCP config file icon in the MCPs section. Add the entry under mcpServers and save. Windsurf's docs say remote HTTP servers need a serverUrl or url field:

json
{
  "mcpServers": {
    "leadocean": {
      "serverUrl": "https://api.leadocean.io/mcp"
    }
  }
}

The docs put this file at ~/.config/devin/mcp_config.json on macOS and Linux, and %APPDATA%\devin\mcp_config.json on Windows. Do not add a headers block with an API key. The server signs you in with OAuth instead.

Devin Local. The Windsurf page says servers live in config files and points to the Devin CLI for the rest. The Devin CLI docs add a remote server with one command:

bash
devin mcp add leadocean https://api.leadocean.io/mcp

The file locations on the Windsurf page and the CLI page differ. The CLI page says versions from v3000.3 use .devin/mcp_config.json. Check the CLI page if your version is older.

Cascade caps you at 100 tools in total. LeadOcean adds 12.

Sign in

Sign-in is OAuth 2.1 in your browser, and you approve on LeadOcean. You do not register an OAuth client yourself. The LeadOcean OAuth server supports dynamic client registration at https://api.leadocean.io/oauth/register (scope mcp), so the client registers itself.

Windsurf's docs say OAuth is supported for each transport type. For Cascade they do not show the sign-in prompt, so we cannot describe it step by step. Check the server's status in the MCPs section after you save.

Devin Local is documented. A server with stale credentials shows Needs auth. Click Authenticate to re-run the browser flow. From a shell, run devin mcp login leadocean. Tokens are not shared between clients, so Windsurf signs in on its own.

To revoke, remove the app under API keys, Connected apps in your LeadOcean account.

Your first prompt

Start with a count. Counting is free.

How many CMO-level marketing leaders in the US can I email? Count only. Do not pull anyone.

The agent calls leadocean_count_leads with jobLevel set to C-Team, jobFunction set to Advertising & Marketing and country set to US. That costs 0 records. We ran the same filters on 2026-10-01 and the tool returned 22,386, an exact total.

That figure uses the tool's default email filter: verified, catch_all_valid or catch_all. It is not everyone we hold for those filters.

Devin Local asks for approval before any MCP tool call. Allow the tool for the session, or for the whole leadocean server if you trust it.

When the count looks right, ask: "Pull five of them with title and company." That calls leadocean_search_leads and costs 1 record per person returned, so 5. For a bigger sizing job, see size your TAM in Windsurf. To get addresses, see find work emails in Windsurf. To fill in a spreadsheet, see enrich a CSV in Windsurf.

The 12 tools

Windsurf lists them as leadocean_ plus the name below. Six spend no records.

ToolWhat it doesRecords
leadocean_count_leadsCounts people for a filter set.Free
leadocean_list_filtersLists valid filters and enum values.Free
leadocean_list_enum_valuesLooks up exact strings, such as one of 534 industries.Free
leadocean_get_accountShows plan, records left and export ceilings.Free
leadocean_get_exportPolls one export for status and download link.Free
leadocean_list_exportsLists your exports.Free
leadocean_search_leadsFinds people by title, level, country, domain and more.1 per person returned
leadocean_get_leadEnriches one person by LinkedIn URL, email or person_id.1
leadocean_find_phoneReturns the phone numbers held for one person.1
leadocean_get_companyEnriches one company by domain or LinkedIn URL.1
leadocean_search_companiesFinds companies by industry, size, funding or technology.1 per company returned
leadocean_export_leadsStarts a bulk CSV export of people.1 per row

A leadocean_get_lead call that finds nobody costs nothing. Exports reserve up to your limit when they start, so count first. In Cascade you can switch a tool off with the server's disabledTools array, for example ["leadocean_export_leads"]. Source: LeadOcean MCP docs, September 2026.

Troubleshooting

SymptomCauseFix
Windsurf cannot reach the server, no tools appearWrong URL, wrong config key or no network path. Cascade needs serverUrl or url.Check the URL is exactly https://api.leadocean.io/mcp. Behind a proxy, open it in a browser to test the path.
Server shows Needs auth, or the OAuth window closedThe browser window was closed before you approved.Click Authenticate in Devin Local, or run devin mcp logout leadocean then devin mcp login leadocean.
Server is blockedA team admin turned MCP off or allowlisted other servers.Ask the admin to allowlist the key name leadocean. It is case-sensitive.
402Your 1,000 free records are spent, or an export needs more than you have left. The free plan is one-off.Check leadocean_get_account. Move to Pro at $499 a month, or shrink the limit.
429Past the rate limit of 100 requests per second per key, or an export ceiling was reached.Wait a second and retry, or ask the agent to work in small batches. Export 429s return a reset time.
Wrong enum, filter rejectedA value is not in the catalogue, such as an invented industry.Have the agent call leadocean_list_enum_values and use the exact string it returns.

FAQ

Do I need an API key for Windsurf?

No. The MCP server uses OAuth sign-in. The REST API uses an x-api-key header. Both spend the same records from one balance.

Is the free plan the same server as Pro?

Yes. Free is 1,000 records, one-off, with search and enrich both available. Pro is $499 a month, flat, with no per-record price.

What does the agent cost me per prompt?

Only records it receives. Counts, filter lookups and account checks are free. Tell it a limit, such as "stop after 25 records", and it will hold to it.

Connect Windsurf to 693M people, free

Free to start. No credit card. 1,000 records to spend whenever you like.

Get your free API key →