Add one url entry to mcp.json, sign in through your browser, and Cursor 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 Cursor only. Other clients are on the MCP hub.
Before you start
You need a LeadOcean account and Cursor installed. Create a free account. It has no card and 1,000 records, one-off, and it needs a work email.
The Cursor MCP docs, September 2026, name no paid plan for adding a remote server. On a team plan, an admin can restrict remote servers by URL through the MCP Allowlist. If Cursor refuses the entry, ask your admin to approve https://api.leadocean.io/mcp.
Add the server
The server URL is https://api.leadocean.io/mcp. Cursor reads remote servers from mcp.json. Use ~/.cursor/mcp.json for every project, or .cursor/mcp.json inside one project:
{
"mcpServers": {
"leadocean": {
"url": "https://api.leadocean.io/mcp"
}
}
}That is the whole configuration. Do not add a headers block or a CLIENT_ID. The Cursor docs reserve static OAuth credentials for providers that do not support dynamic client registration, and ours does.
The Cursor docs say you can enable or disable servers from Customize in the sidebar. Menu names change between versions, so look for whichever your build shows.
Sign in
Sign-in is OAuth 2.1 in your browser. The Cursor docs say only that Cursor supports OAuth for servers that need it. The exact button label can vary by Cursor version.
Save the file, then open the MCP list in Cursor and start the sign-in for leadocean. The button is usually labelled Connect, but the label can vary by version. Your browser opens on LeadOcean. Sign in, approve, and return to Cursor. The tools appear without a restart.
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), and Cursor registers itself.
To revoke, remove the entry from mcp.json and remove the app under API keys, Connected apps in your LeadOcean account.
Your first prompt
Start with a count. Counting is free.
How many engineering directors in Germany can I email? Count only. Do not pull anyone.
Cursor calls leadocean_count_leads with jobLevel set to Director, jobFunction set to Engineering and country set to DE. That costs 0 records. We ran the same filters on 2026-10-01 and the tool returned 1,941, an exact total.
That figure uses the tool's default email filter: email status verified, catch_all_valid or catch_all. It is not everyone we hold for those filters.
Cursor asks for approval before it runs an MCP tool, and the arrow beside the tool name shows the arguments. Read them before you approve a search. A pull costs 1 record per person returned. For sizing a market, see size your TAM in Cursor. For addresses, see find work emails in Cursor. To read a long result set page by page, see cursor pagination explained.
The 12 tools
Cursor lists them as leadocean_ plus the name below. Six of them spend no records.
| Tool | What it does | Records |
|---|---|---|
leadocean_count_leads | Counts people for a filter set. | Free |
leadocean_list_filters | Lists valid filters and enum values. | Free |
leadocean_list_enum_values | Looks up exact strings, such as one of 534 industries. | Free |
leadocean_get_account | Shows plan, records left and export ceilings. | Free |
leadocean_get_export | Polls one export for status and download link. | Free |
leadocean_list_exports | Lists your exports. | Free |
leadocean_search_leads | Finds people by title, level, country, domain and more. | 1 per person returned |
leadocean_get_lead | Enriches one person by LinkedIn URL, email or person_id. | 1 |
leadocean_find_phone | Returns the phone numbers held for one person. | 1 |
leadocean_get_company | Enriches one company by domain or LinkedIn URL. | 1 |
leadocean_search_companies | Finds companies by industry, size, funding or technology. | 1 per company returned |
leadocean_export_leads | Starts a bulk CSV export of people. | 1 per row |
A leadocean_get_lead call that finds nobody costs nothing. Count before you export. Source: LeadOcean MCP docs, September 2026.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| Cursor cannot reach the server | A typo in the URL, invalid JSON in mcp.json, the server toggled off, or an admin URL allowlist. | Check the URL is exactly https://api.leadocean.io/mcp and the file parses. Turn the server on in Customize. On a team plan, ask your admin to allow the URL. |
| The sign-in window closed before you approved | The OAuth flow was interrupted. | Click Connect again and finish the approval in the browser. |
| 402 | Your 1,000 free records are spent, or an export needs more than you have left. The free plan is one-off. | Ask the agent to run leadocean_get_account. Move to Pro at $499 a month, or shrink the limit. |
| 429 | Past 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. |
| Wrong enum, filter rejected | A 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 Cursor?
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 approve each tool call in Cursor.
Connect Cursor to 693M people, free
Free to start. No credit card. 1,000 records to spend whenever you like.
Get your free API key →