MCP.Market

LeadMarina MCP server

online · 100% uptime
by leadmarina.com·com.leadmarina/leadmarina·v1.3.0

Verified local-business leads: search by niche and US city, export to Close, GoHighLevel or Sheets.

B79/100grade B
What users say
No reviews yet
Be the first
Safety scan
B79/100

full report

Adoption
Growing

0 stars

Reviews

Write one

Nobody has reviewed LeadMarina yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

LeadMarina tools (19, 5 write)

write = sends, deletes, buys or posts
  • control_advanced_searchFree

    action pause or stop takes effect after the batches running now (a queued batch is cancelled and refunded); resume carries on.

  • create_automationwrite actionFree

    Create an automation: re-run a search on a schedule and send the results somewhere automatically. Pass cities as plain strings (e.g. ['Austin, TX', 'Dallas, TX']) — they're resolved for you. IT SPENDS LEADS ON EVERY RUN, one per result, so confirm the niche, cities and cadence with the user before creating one. A destination of 'close', 'ghl' or 'google_sheets' requires that integration to be connected already (Close with no saved field mapping sends Close's own fields); 'csv' | 'xlsx' | 'json' emails a file and needs nothing set up. Every city must resolve and the destination must be one of the listed values, or nothing is created and the error says what to fix. Up to 20 automations, 25 cities each. Automations search US places only for now: a city outside the US is refused. Advanced search's options (a country other than the US — a territory included — max_leads, exact_category) are refused here too.

  • delete_automationwrite actionFree

    Permanently delete an automation. This cannot be undone — confirm with the user first, and prefer update_automation with active=false if they only want it to stop for now. Leads already collected by past runs are kept; only the schedule is removed.

  • enrich_domainsFree

    Already have businesses? Pass up to 10 website domains to run the full enrichment + verification pipeline on them (verified emails + phones, owner name, socials). Costs 1 lead per distinct domain — spellings of the same site (acme.com, www.acme.com, https://acme.com/contact) count once. Returns a search_id to poll with get_search_results. US businesses only for now: their phones are read as US numbers.

  • estimate_advanced_searchFree

    What an advanced search (many keywords across many places) would find and how long it would take — without starting it or spending anything. expected_leads is the most likely number of unique leads (each business is charged once however many keywords or places find it); low–high is the range it lands in most of the time.

  • export_leadsFree

    Push leads into a connected destination: 'close' (CRM — uses the account's saved field mapping), 'ghl' (GoHighLevel sub-account), 'google_sheets' (new spreadsheet, or pass spreadsheet_id for one LeadMarina created before), or a file — 'csv' | 'xlsx' | 'json' (a 7-day download link in the answer; not emailed). Exports EITHER one search's leads (pass search_id) or the whole library (set all=true). Either can be narrowed with the same filter rows as query_leads — with search_id they apply within that search. Leads go out best-ranked first (rank, then id), the order of the leads table. LIMITS PER CALL, which differ by destination because CRMs take one API call per lead: csv/xlsx 50,000 · json 25,000 · google_sheets 5,000 · close/ghl 1,000. For a big library going to a CRM, export csv and import the file instead. If more leads match than the limit, the response sets truncated=true and returns next_cursor — relay that to the user, the export was partial; to send the next batch, call export_leads again with the SAME destination, search_id or all, and filters, plus cursor=next_cursor — for google_sheets also spreadsheet_id from this response, or the next batch goes into a new spreadsheet (up to 50,000 leads a spreadsheet; past that the response has no spreadsheet_id and the next batch starts a new one, or export csv). A next_cursor with not_sent means the destination's time limit cut this batch short: the same call with that cursor sends the rest. An all=true export spread over several calls reads the library live, so a lead that a search running between calls finds again can be skipped or sent twice; for one consistent copy, export the library in a single csv/xlsx (up to 50,000 leads) or json (up to 25,000) call while no search is running. Close, GoHighLevel and a LeadMarina-created sheet passed as spreadsheet_id UPDATE previously exported leads in place (matched by Google CID), never touching the user's own CRM notes/columns — unless update_existing is false (then Close skips leads it already has, and a sheet appends every row); a file or a new sheet is a fresh copy every time — so do not repeat a call that succeeded. Or pass campaign_id instead of search_id to export one advanced search's leads.

  • find_placesFree

    Where an advanced search can run — the US and its territories for now. With no arguments: the US and its territories (Puerto Rico, Guam …), with their codes. With country 'US': its states and their codes. With q: US places whose name contains q, with their codes and states — for run_advanced_search's places, or search_leads' location_code.

  • get_advanced_searchFree

    One advanced search: status, leads so far, progress by keyword, its top places and the newest batch running now.

  • get_balanceFree

    What the account has left. On a plan with a rate limit this is the smaller of what the account holds and what is left in the current 7-day period (period_* describe that week, and period_resets_at is when the week resets); on a metered plan it is the account's lead balance. On a rate-limited plan with a monthly allowance, the note names the allowance when it can be read.

  • get_search_resultsFree

    Fetch a search's leads with verification filled in as enrichment progresses. Poll until enrichment is 'complete'. Each lead includes verified emails (SMTP status), verified phones (line type + carrier), owner name where identified, socials, and the business profile.

  • list_advanced_searchesFree

    This account's advanced searches, newest first: status, leads so far, searches done of total. The newest `limit`, plus any still running or paused past them.

  • list_automationsFree

    The account's automations — saved searches that re-run on a schedule and export themselves. Shows each one's niche, cities, cadence, destination, whether it's active, when it next runs, and how the last run went.

  • list_integrationsFree

    Which export destinations this account has connected (Close, GoHighLevel, Google Sheets) and whether each is ready to receive leads. Check this BEFORE export_leads or create_automation with a CRM destination — those fail if the integration isn't connected. Close with no saved field mapping sends Close's own fields (name, website, address, contact, phone, email). File destinations (csv/xlsx/json) always work and need nothing connected.

  • list_searchesFree

    The account's recent searches (id, niche, location, result count, when) — use a search_id with get_search_results or export_leads.

  • list_viewsFree

    The account's saved views from the leads table — each a named set of filters the user already built (e.g. 'Roofers with a mobile number'). Returns each view's filter conditions in the exact shape query_leads and export_leads accept, so "export my Hot Leads view to Close" works without rebuilding the filters by hand.

  • query_leadsFree

    Search ALL leads the account has ever collected (across every search) with filters and sorting — no new search is run and no leads are spent. A Google listing found more than once appears once, with its most recent data. Up to 1,000 leads per call (default 25). When next_cursor is set, call again with cursor = next_cursor for the next page: the cursor carries its filters and sort, so it can be sent alone. Pass search_id to query one search's leads instead of the whole library. Example — plumbers in Austin rated 4.5 or higher with a safe email, most-reviewed first: filters=[{field:'category',operator:'contains',value:'plumb'},{field:'city',operator:'is',value:'Austin',conj:'and'},{field:'rating',operator:'gte',value:'4.5',conj:'and'},{field:'email_status',operator:'is',value:'safe',conj:'and'}], sort=[{id:'reviews',dir:-1}]. A field, operator or value the tool cannot use comes back as an error that names it and lists what works. Pass campaign_id instead of search_id to query one advanced search's leads.

  • run_advanced_searchwrite actionFree

    Start an advanced search: many keywords across many US places — the whole US, whole states or single places — run in the background in batches, each business charged once (1 lead), stopping at lead_cap if set. Estimate first with estimate_advanced_search and confirm with the user: it spends leads. Follow it with get_advanced_search; read its leads with query_leads or send them with export_leads (campaign_id). Up to 25 running or paused at once, and 40 new ones (or 250,000 searches) a day.

  • search_leadswrite actionFree

    Run a live search for local businesses by niche + city (e.g. query 'electrician', location 'Austin, TX'). Returns a search_id and, usually, the first batch immediately (its listings are in `results`; their emails and phones are not verified yet — when discovery is 'in_progress' the provider was slow and the whole search was queued, so the leads arrive through get_search_results); more results are found and verified in the background — every email is SMTP-checked and phones are verified with line type + carrier. Spends 1 lead per result. Poll get_search_results until enrichment is 'complete'. If enrichment is already 'complete', nothing was found and nothing more is coming; if capped is true, the balance covered fewer leads than were found. With country, a US territory (PR, GU, VI, AS, MP) is searched; max_leads stops it early and exact_category keeps only that Google category. For many keywords or places at once, use run_advanced_search.

  • update_automationwrite actionFree

    Pause an automation (active=false) so it stops running and stops spending leads, or resume it (active=true). Pausing is the safe way to stop an automation you might want back — use delete_automation only when the user wants it gone for good.

Public scan report

scanner v0.1.10 · 2026-11-05 · same rubric, same numbers if you re-run it

1 high1 low
  • –Code scanremote-only server, no package to scann/a
  • Live reliabilityremote reachable in 1139ms20/20
  • Tool poisoning19 tool descriptions checked13/15
  • Auth qualityopen endpoint exposes 5 write-action tools with no auth3/15
  • Maintenancelast push 5 days ago15/15
  • Maintainer identityendpoint served from the registry-verified namespace domain8/10

Findings (2)

  • highWrite-action tools reachable without authenticationauth.open-write
  • lowUnusually long tool description (over 2,000 characters)poison.long-description
    tool export_leads: …Push leads into a connected destination: 'close' (CRM — uses the account's saved field mapping), 'ghl' (GoHighLevel sub-account), 'google_sheets' (new spreadsheet, or pass spreadsheet_id for one LeadMarina created before), or a file — 'csv' | 'xlsx' | 'json' (a 7-day download link in the answer; not emailed). Exports EITHER one search's leads (pass search_id) or the whole library (set all=true). Either can be narrowed with the same filter rows as query_leads — with search_id they apply within that search. Leads go out best-ranked first (rank, then id), the order of the leads table. LIMITS PER CALL, which differ by destination because CRMs take one API call per lead: csv/xlsx 50,000 · json 25,000 · google_sheets 5,000 · close/ghl 1,000. For a big library going to a CRM, export csv and import the file instead. If more leads match than the limit, the response sets truncated=true and returns next_cursor — relay that to the user, the export was partial; to send the next batch, call export_leads again with the SAME destination, search_id or all, and filters, plus cursor=next_cursor — for google_sheets also spreadsheet_id from this response, or the next batch goes into a new spreadsheet (up to 50,000 leads a spreadsheet; past that the response has no spreadsheet_id and the next batch starts a new one, or export csv). A next_cursor with not_sent means the destination's time limit cut this batch short: the same call with that cursor sends the rest. An all=true export spread over several calls reads the library live, so a lead that a search running between calls finds again can be skipped or sent twice; for one consistent copy, export the library in a single csv/xlsx (up to 50,000 leads) or json (up to 25,000) call while no search is running. Close, GoHighLevel and a LeadMarina-created sheet passed as spreadsheet_id UPDATE previously exported leads in place (matched by Google CID), never touching the user's own CRM notes/columns — unless update_existing is false (then Close skips leads it already has, and a sheet appends every row); a file or a new sheet is a fresh copy every time — so do not repeat a call that succeeded. Or pass campaign_id instead of search_id to export one advanced search's leads.…
Overall 79/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How LeadMarina compares

Against every graded Productivity MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
79/100
higher than 52% of 1,301 Productivity servers
Tools
19
the typical Productivity server has 7
Tools that change things
26%
typical: 0%. Fewer write tools means less an agent can break
Uptime
100%
of our recent checks; the typical remote Productivity server answers 100%
Response time
308 ms
faster than 53% of 656 Productivity servers

What its tools let an agent do: 14 read · 1 create · 2 change · 1 delete · 1 run or deploy

Release history: 2 versions in the registry since 2026-08-01, latest 2026-10-31, typically one every 91 days.

Install LeadMarina in Claude Code, Cursor or VS Code

claude mcp add --transport http leadmarina https://leadmarina.com/api/mcp
Add to Cursor

What the publisher says

From the LeadMarina repository's README, as published. We do not edit it. Read it on GitHub

LeadMarina MCP server

Verified local-business leads, inside your AI assistant. Search any niche in any US city, get each business's emails checked for deliverability and its phones checked for line type and carrier, then send the leads to Close, GoHighLevel, Google Sheets or a CSV, Excel or JSON file. You never leave the chat.

This is a remote MCP server. There is nothing to install or run:

https://leadmarina.com/api/mcp
  • Transport: streamable HTTP (one POST per JSON-RPC message, plain JSON answers)
  • Auth: OAuth (sign in to LeadMarina in your browser), or a LeadMarina API key as a bearer token
  • Docs:
  • REST API: , with an OpenAPI 3.1 document at

This repository holds the listing: this README, client config examples, the MCP registry's server.json and smithery.yaml. The server itself is LeadMarina's hosted service.

What it does

Ask in plain language, for example:

  • "Find roofing contractors in Austin, TX with a mobile number."
  • "Which plumbers I've already collected have a safe email and over 50 reviews?"
  • "Send this search to Close."
  • "Every Monday, search HVAC contractors in Dallas and Fort Worth and email me a CSV."
  • "Estimate dentists across Colorado and Utah, then run it with a 2,000-lead cap."

Each lead is one local business: its listing (name, category, address, rating, reviews, website), up to 3 emails each marked safe, risky or invalid, up to 3 phones with line type and carrier, the owner's name where one can be found, and its social profiles.

Connect

You need a LeadMarina account. Every plan includes the MCP server, the free plan too: sign up.

OAuth (recommended). Add the server URL to your client. The first time a tool runs, your browser opens LeadMarina's sign-in and consent page. Nothing needs to be copied or pasted.

API key. Create a key on the API Keys page and send it as Authorization: Bearer YOURAPIKEY. The key spends your leads, so keep it private and out of shared or committed config files.

Client set-up, with full files in examples/:

Tools

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Grade history

  • 2026-11-05restoreC → Bscore 79: Write-action tools reachable without authentication; Unusually long tool description (over 2,000 characters)

LeadMarina: common questions

Is LeadMarina MCP server safe?
Mostly: it is graded B (79/100). Read the LeadMarina safety report
How do I install LeadMarina?
It runs remotely at leadmarina.com. Add it to Claude Code, Cursor, VS Code or Claude Desktop with the snippets above, or call it through the mcp.market gateway without installing anything.
Does LeadMarina need an API key?
Not as far as the registry entry and our scan can tell: no credentials are declared or required.
Is LeadMarina maintained?
The last commit was 6 days ago (2026-10-31). The latest release is v1.3.0.
Is LeadMarina up?
100% of our last 28 checks got an answer. We check remote servers about four times a day.
What can I use instead of LeadMarina?
Servers from other publishers that do the same job: MCP Server for Excel, Gsheets MCP server and Sheets MCP server.
How does LeadMarina compare with other Productivity MCP servers?
safety score 79/100 (higher than 52% of 1,301 Productivity servers); tools 19 (the typical Productivity server has 7); tools that change things 26% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.

Alternatives to LeadMarina

Same job from other publishers: the closest match first, then the best rated.

  • MCP Server for Excel
    Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
    A
  • Gsheets
    MCP server for Google Sheets API — read, write, format, batch operations.
    B
  • Sheets MCP
    Google Sheets for agent workflows in Claude Code and Claude Desktop: APIs, files, schedules, undo.
    A
  • jevreel
    Search and understand videos without embeddings: contact sheets plus Jev typed decisions.
    B
  • Google Drive MCP
    Secure access to Google Drive, Docs, Sheets, Slides, and Calendar through MCP.
    B