Verified local-business leads: search any niche + city, query your library, export to your CRM.
Inferred from the transports this listing declares (streamable-http). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.
Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.
Read from a real MCP initialize → tools/list handshake against the declared endpoint. No tool was ever invoked — tools/list is the read-only introspection call the protocol defines for this. It reflects what the server advertised at that moment; a hosted endpoint is not pinned to any version and can change without notice.
https://leadmarina.com/api/mcp13 tools · 425mssearch_leadsRun a live search for local businesses by niche + city (e.g. query 'electrician', location 'Austin, TX'). Returns the first batch immediately with a search_id; more results are found and verified in the background — every email is SMTP-checked and every phone verified with line type + carrier. Spen…Run a live search for local businesses by niche + city (e.g. query 'electrician', location 'Austin, TX'). Returns the first batch immediately with a search_id; more results are found and verified in the background — every email is SMTP-checked and every phone verified with line type + carrier. Spen…
| Parameter | Type | Description |
|---|---|---|
| query* | string | Business niche/category keyword, e.g. 'electrician'. |
| location | string | City, e.g. 'Austin, TX'. Ignored if location_code is given. |
| location_code | number | Optional exact location code (skips the city lookup). |
get_search_resultsFetch 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.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.
| Parameter | Type | Description |
|---|---|---|
| search_id* | string | The search_id returned by search_leads or enrich_domains. |
| limit | number | Max leads to return (default 25, max 1000). |
| offset | number | Pagination offset (default 0). |
enrich_domainsAlready 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 domain. Returns a search_id to poll with get_search_results.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 domain. Returns a search_id to poll with get_search_results.
| Parameter | Type | Description |
|---|---|---|
| domains* | array | Business domains, e.g. ['acme.com'] (max 10). |
query_leadsSearch ALL leads the account has ever collected (across every search) with filters and sorting — no new search is run and no leads are spent. Filter fields include: name, category, city, state, rating, reviews, website, claimed, owner_name, phone_1, email_1, email_status, phone_1_type, google_cid.…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. Filter fields include: name, category, city, state, rating, reviews, website, claimed, owner_name, phone_1, email_1, email_status, phone_1_type, google_cid.…
| Parameter | Type | Description |
|---|---|---|
| filters | array | Filter conditions (optional — omit for everything, newest data first). |
| sort | array | Sort keys, e.g. [{id:'reviews',dir:-1}]. Optional. |
| limit | number | Max leads to return (default 25, max 1000). |
| cursor | string | Opaque pagination cursor from a previous call. |
export_leadsPush 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' (emailed to the account owner + download…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' (emailed to the account owner + download…
| Parameter | Type | Description |
|---|---|---|
| destination* | string | Where the leads go. |
| search_id | string | Export this search's leads. |
| all | boolean | Export the whole library instead of one search. |
| filters | array | With all=true: narrow the library using query_leads-style filter rows. |
| spreadsheet_id | string | google_sheets only: add to this existing LeadMarina-created sheet instead of a new one. |
list_searchesThe account's recent searches (id, niche, location, result count, when) — use a search_id with get_search_results or export_leads.The account's recent searches (id, niche, location, result count, when) — use a search_id with get_search_results or export_leads.
| Parameter | Type | Description |
|---|---|---|
| limit | number | Max searches (default 10, max 25). |
get_balanceWhat the account has left, and when it resets. On a plan with a rate limit (no monthly quota) this is the leads left in the current 7-day period; on a metered plan it is the monthly allotment remaining.What the account has left, and when it resets. On a plan with a rate limit (no monthly quota) this is the leads left in the current 7-day period; on a metered plan it is the monthly allotment remaining.
No input schema was published for this tool.
list_viewsThe 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 th…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 th…
No input schema was published for this tool.
list_integrationsWhich 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, and Close additionally needs one manual ex…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, and Close additionally needs one manual ex…
No input schema was published for this tool.
list_automationsThe 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.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.
No input schema was published for this tool.
create_automationCreate 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…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…
| Parameter | Type | Description |
|---|---|---|
| keyword* | string | The niche to search, e.g. 'roofing contractor'. |
| cities* | array | Cities to search, e.g. ['Austin, TX'] (max 25). |
| cadence* | string | How often it repeats. |
| destination | string | Where each run's leads go. 'none' just saves them to the library. |
| spreadsheet_id | string | google_sheets only: append to this existing LeadMarina-created sheet. |
| start_at | string | ISO timestamp for the first run. Defaults to now (runs on the next tick, within 15 min). |
update_automationPause 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.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.
| Parameter | Type | Description |
|---|---|---|
| id* | string | The automation id from list_automations. |
| active* | boolean | false to pause, true to resume. |
delete_automationprivilegedPermanently 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.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.
| Parameter | Type | Description |
|---|---|---|
| id* | string | The automation id from list_automations. |
13 of 13 tools published a description.
Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.
Verified local-business leads: search any niche + city, query your library, export to your CRM.
Linked names open Forge’s index of every entry observed exposing that tool. Browse all indexed tools.
This entry publishes no npm package, so Forge has no dependency tree for it. That is a gap in coverage — not a statement that it has no dependencies.