Ask Claude or Cursor how much a company has raised and the agent calls get_company for you. One URL, OAuth sign-in, 1 record per company found.
This page is about setup and prompts. For the field list and REST call, see Company Funding. Other clients are on the MCP hub.
Connect the server
The server is https://api.leadocean.io/mcp. It signs in with OAuth 2.1, so there is no key to paste. Create a free account first.
Claude Code. The command format is from the Claude Code MCP docs, September 2026:
claude mcp add --transport http leadocean https://api.leadocean.io/mcpThen run claude mcp login leadocean, or /mcp inside a session, and finish the browser sign-in.
Cursor. Add a remote server to mcp.json, in the url form shown in the Cursor MCP docs, September 2026:
{
"mcpServers": {
"leadocean": {
"url": "https://api.leadocean.io/mcp"
}
}
}Cursor starts the sign-in the first time the server is used. Other clients are listed in the LeadOcean MCP docs.
The tool
Funding has no tool of its own. It is one block inside the company record, returned by get_company (listed by the server as leadocean_get_company). It costs 1 record per company found.
| Input | Type | Meaning |
|---|---|---|
domain | string | Website domain, for example stripe.com. Preferred key. |
linkedin_url | URL | LinkedIn company page. Use it when you have no domain. |
Send one of the two. Name-only lookups do not work, so the agent asks for a domain. To find companies by funding stage instead, the agent calls search_companies with fundingType, minFunding, minLastFundingYear or investors. That is 1 record per company returned.
Prompts that work
| Prompt | What the agent calls | Records |
|---|---|---|
| "Look up acme.com. Give me total raised, last round type and date, and who led it." | get_company with domain | 1 |
| "How many mailable C-level people work at US software companies with 51-200 staff? Do not pull anyone." | list_enum_values, then count_leads | 0 |
| "Find 25 fintech companies with a Series B as the last round and at least $20M raised. Table the total raised and lead investors." | list_enum_values, then search_companies | 25 at most |
Put a record limit in the prompt. "Stop after 25 records" is enough for the agent to hold a batch.
A question about reach goes to count_leads, which is free. A named company goes to get_company. A criteria list goes to search_companies.
The funding filters skip unknowns. A company with no figure on file is never returned by minFunding or minLastFundingYear, so a filtered list undercounts the real market. Say so in the prompt if the list feeds a decision.
What the agent gets back
The result is one leadocean.company.v1 object plus a meta block. The funding fields are from the company docs, September 2026. The docs sample response omits the funding block, so the values below are placeholders.
{
"success": true,
"data": {
"company_data": {
"company_name": "Example Inc",
"company_domain": "example.com",
"company_funding": {
"total_raised_usd": 42000000,
"last_round_type": "Series B",
"last_round_date": "2025-06-12",
"last_round_year": 2025,
"lead_investors": ["Example Ventures"]
}
},
"meta": { "sources": ["own"], "schema": "leadocean.company.v1" }
},
"meta": { "credits": 1, "source": "own" }
}Funding is held for a small fraction of companies. Absent is the normal case, not an error. Values we do not hold come back null, never guessed. Tell the agent to write "not held" rather than fill the gap.
The record holds the last round only: its type, date and year, plus a total. There is no round-by-round history, and no alert when a company raises. This is a lookup, so rerun it when you need a fresh read.
Free checks first
count_leads, list_enum_values and get_account spend no records. Run them before any paid call.
The free count does not reliably apply the funding filters, so we do not quote a funding count here. Size the audience with filters it does apply, and the funding filter narrows the list at search time. For example, we ran count_leads on 1 October 2026 with jobLevel: ["C-Team"], hqCountry: ["US"], employeeRange: ["51-200"] and industry: ["Software Development"]. It returned total: 28793, totalIsExact: true, credits: 0. That counts people with a verified, catch_all_valid or catch_all email, not companies.
Troubleshooting
| Error | Cause | Fix |
|---|---|---|
| 401 | The OAuth sign-in is missing or expired. | Run /mcp in Claude Code and re-authenticate. In Cursor, sign in again from the MCP settings. |
| 402 | The free 1,000 records are spent. The free plan is one-off and does not reset. | Move to Pro at $499 a month. |
| 400 | A filter value is malformed, for example a year sent as text. | Ask the agent to send minLastFundingYear as an integer and to check list_filters if unsure. |
| 429 | Too many calls at once. The limit is 100 requests per second per key. | Wait one second and retry. Ask the agent to work in small batches. |
| Wrong enum | fundingType is an exact string, for example "Series E-J", not "Series F". | Call list_enum_values with funding_type and use the string it returns. |
FAQ
Do I need an API key for MCP?
No. The MCP server uses OAuth sign-in. The REST API uses an x-api-key header. Both draw on the same records, so one balance covers every call however you make it.
What does a call cost, and what does a miss cost?
A company we hold costs 1 record, even when its funding block is empty. A company we hold nothing for is a 404 on REST and costs nothing. Rejected requests (429, 402, 503) are never metered. See the limits docs, September 2026.
Can the agent look up funding by company name?
No. It needs a domain or a LinkedIn company URL. For related firmographics, see company revenue with MCP and company employees with MCP. Plans are on the pricing page.
Pull your first company's funding from Claude, free
Free to start. No credit card. 1,000 records to spend whenever you like.
Get your free API key →