Claude writes the message, LeadOcean supplies the facts it can personalize on. You describe the prospects in plain English, Claude searches 693M people through the LeadOcean MCP server, reads each person's career history, and drafts one email with one hook. You see the hook next to every draft, so you can check it before you send.
LeadOcean has no sequencer. Claude drafts, you paste the result into the tool that sends.
How it works
- Connect the MCP server. In Claude, add a custom connector with the URL
https://api.leadocean.io/mcpand sign in with OAuth. No key is pasted. - Size the list for free. Ask: "How many VPs of Sales in Canada can I email?" Claude calls
leadocean_count_leads, which costs no records. - Search the people. Claude calls
leadocean_search_leadswith your filters. Each person returned costs 1 record. Start with 10. - Pull career history. Claude calls
leadocean_get_leadfor each person (1 record). Since October 2026 the result includes past roles, education, certifications and awards. - Pick one hook. Tell Claude to choose a single fact per person: a recent role change, a certification, a shared school. It should print the hook above each draft.
- Draft and iterate. Claude writes the email. Ask for a shorter version or a different tone, then copy the drafts to your sending tool.
Prompt to paste in step 2 onward:
Find 10 VPs of Sales in Canada at software companies with a mailable email.
For each, pull the full profile. Pick one hook from their career history.
Write a 70-word cold email that opens with the hook. Show the hook first.
Do not invent facts. If the profile has no usable hook, say so and skip.Configuration
The MCP connector needs only the server URL. If you prefer to run step 4 yourself, for example to pass profiles to Claude through an API call, this is the same enrichment over HTTP.
curl -X POST https://api.leadocean.io/v1/people/enrich \
-H "x-api-key: $LEADOCEAN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"linkedin_url": "https://www.linkedin.com/in/jane-doe-example"}'Enrich takes exactly one of linkedin_url, email, phone or person_id. A person we hold nothing for returns 404 and costs nothing. For hooks you do not need reveal_email; add it only for people you will write to.
To find people by company first, call GET /v1/companies/acme.com/people, then enrich by person_id.
Field mapping
| LeadOcean field | Used in the prompt as | Note |
|---|---|---|
contact_current_experiences[] | Current title and company | Hook: "joined 3 months ago". |
resume_data.experiences[] | Past roles, with dates | Past employers have no company_id yet. |
resume_data.educations[] | School, degree | Hook: shared school. |
resume_data.certifications[] | Certifications | Held only when the person lists them. |
resume_data.awards[] | Awards | Held only when the person lists them. |
email_status | Send filter | Read it before sending. Bounces are not refunded. |
Cost at 10,000 rows
The Free plan covers a test, not a campaign: 1,000 records for life, no card, 5 requests a second. Searching and then enriching a person is 2 records, so Free pays for about 500 drafts.
For 10,000 prospects, use Solo at $97 a month, which allows 10k enrichments every 5 hours and 50k a week. There is no per-record price. If you hit the pace, the key slows until the window resets.
Claude's own cost is your Claude plan, not a per-row fee. Claude's docs list custom connectors on Free, Pro, Max, Team and Enterprise, with one custom connector on Free (Claude custom connectors, September 2026). Drafting 10,000 emails in one chat is not practical. Work in batches of 10 to 25.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| Claude says it has no LeadOcean tools | Connector not signed in | Re-add https://api.leadocean.io/mcp and finish OAuth. |
| Answer is 402 | The 1,000 free records are spent | Move to Solo, or wait: Free does not refill. |
| Drafts repeat the same hook | Prompt does not demand one fact per person | Add "one hook per person, never reuse a hook". |
| A profile has no career history | We hold none for that person | Ask Claude to skip it. A 404 costs nothing. |
| Draft states something not in the profile | Model filled a gap | Add "do not invent facts" and check the printed hook. |
FAQ
Does LeadOcean send the emails?
No. LeadOcean returns data. Claude drafts the text, and you send it from your own tool.
How many records does one personalized draft cost?
Two: one for the search result and one for the profile pull. Counts, filter lookups and an enrichment that finds nobody are free.
Can I use this from ChatGPT instead?
Yes. On the web, open chatgpt.com/plugins, click +, then Add custom MCP server, paste the server URL, sign in with OAuth and choose Create as a plugin. In a chat, type @ to select it. The prompt above works the same way.
How fresh is the career history?
The dataset is refreshed monthly, and each record carries its own fetched_at date. Check it before you write "joined last month".
For ideas on what makes a hook work, read how to write hyper-personalized cold emails and how to write personalized cold email outreach that gets replies. To plan the account first, use the account plan prompt. Plan details are on pricing, and other recipes are under integrations.
Give Claude real career history to write from
Free to start. No credit card. 1,000 records to spend whenever you like.
Get your free API key →