Finds, filters, and verifies local-business leads; every email carries a verification receipt.
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://api.noseforleads.com/mcp11 tools · 230mstranslate_icpTranslate free-text ICP description (e.g. "plumbers in phoenix with no
website") into a structured query. Call this BEFORE start_campaign — start_campaign
only accepts a structured `query` dict, never free text. Returns {query, vertical,
geo, category, location, preview, unsupported, discovery}…Translate free-text ICP description (e.g. "plumbers in phoenix with no website") into a structured query. Call this BEFORE start_campaign — start_campaign only accepts a structured `query` dict, never free text. Returns {query, vertical, geo, category, location, preview, unsupported, discovery}…
| Parameter | Type | Description |
|---|---|---|
| text* | string | — |
start_campaignSubmit a lead-generation campaign. Pass translate_icp's `vertical`, `geo`, and
`query` fields directly (category/location are ALIASES for vertical/geo, accepted
so translate output round-trips; prefer vertical/geo when constructing calls).
`query`'s full shape and field vocabulary are in this to…Submit a lead-generation campaign. Pass translate_icp's `vertical`, `geo`, and `query` fields directly (category/location are ALIASES for vertical/geo, accepted so translate output round-trips; prefer vertical/geo when constructing calls). `query`'s full shape and field vocabulary are in this to…
| Parameter | Type | Description |
|---|---|---|
| query* | — | — |
| vertical | — | — |
| geo | — | — |
| category | — | — |
| location | — | — |
| idempotency_key | — | — |
get_campaign_statusCheck the status of a previously submitted campaign (queued/running/done/
done_partial/failed) by job_id. Prefer wait_seconds=45 over sleeping between
polls: the call holds until the status or pipeline stage changes (or the timer
expires) and returns the normal snapshot either way — loop on it u…Check the status of a previously submitted campaign (queued/running/done/ done_partial/failed) by job_id. Prefer wait_seconds=45 over sleeping between polls: the call holds until the status or pipeline stage changes (or the timer expires) and returns the normal snapshot either way — loop on it u…
| Parameter | Type | Description |
|---|---|---|
| job_id* | string | — |
| wait_seconds | integer | — |
fetch_resultsFetch a page of leads produced by a campaign (paginate with offset/limit).
kept_only=True returns only rows the user marked kept in review (for export).
match_status narrows to one population: 'validated' (verified email, billed) or
'needs_review' (surfaced free; rejection_reason says why) — omi…Fetch a page of leads produced by a campaign (paginate with offset/limit). kept_only=True returns only rows the user marked kept in review (for export). match_status narrows to one population: 'validated' (verified email, billed) or 'needs_review' (surfaced free; rejection_reason says why) — omi…
| Parameter | Type | Description |
|---|---|---|
| job_id* | string | — |
| offset | integer | — |
| limit | integer | — |
| kept_only | boolean | — |
| match_status | — | — |
get_icp_packList the ICP packs (saved vertical/geo templates) available to this tenant.List the ICP packs (saved vertical/geo templates) available to this tenant.
No input schema was published for this tool.
add_suppressionAdd an email or domain to the suppression list (scope is 'email' or 'domain')
so future campaigns exclude it.Add an email or domain to the suppression list (scope is 'email' or 'domain') so future campaigns exclude it.
| Parameter | Type | Description |
|---|---|---|
| scope* | string | — |
| value* | string | — |
| reason* | string | — |
review_leadMark a lead kept or discarded after review (status: kept | discarded |
unreviewed). Then fetch_results(kept_only=true) returns only kept leads — the
export set.Mark a lead kept or discarded after review (status: kept | discarded | unreviewed). Then fetch_results(kept_only=true) returns only kept leads — the export set.
| Parameter | Type | Description |
|---|---|---|
| job_id* | string | — |
| result_id* | integer | — |
| status* | string | — |
get_creditsCheck this tenant's prepaid credit balance (a validated lead costs 1 credit —
2 for person-target or Meta-ads campaigns), the available credit packs, and the
ledger (paginate ledger entries with offset/limit, newest first). Campaigns
cannot start with a zero balance — buy a pack via the dashboar…Check this tenant's prepaid credit balance (a validated lead costs 1 credit — 2 for person-target or Meta-ads campaigns), the available credit packs, and the ledger (paginate ledger entries with offset/limit, newest first). Campaigns cannot start with a zero balance — buy a pack via the dashboar…
| Parameter | Type | Description |
|---|---|---|
| offset | integer | — |
| limit | integer | — |
list_campaignsList this tenant's campaigns, newest first — the recovery path when a job_id
was lost: every row carries job_id, status, the query it ran, and credits spent,
so you can resume polling (get_campaign_status) or fetch results without
resubmitting (and double-charging). Filters: q (substring over ve…List this tenant's campaigns, newest first — the recovery path when a job_id was lost: every row carries job_id, status, the query it ran, and credits spent, so you can resume polling (get_campaign_status) or fetch results without resubmitting (and double-charging). Filters: q (substring over ve…
| Parameter | Type | Description |
|---|---|---|
| offset | integer | — |
| limit | integer | — |
| q | — | — |
| status | — | — |
| order | string | — |
| created_after | — | — |
| created_before | — | — |
get_usageToday's external vendor usage against the tenant's daily quota
(vendor_calls_today / per_day_max / remaining). This is the OTHER ceiling besides
credits: when remaining hits 0, campaign work pauses until midnight even with a
healthy credit balance — check it before launching a large or urgent ca…Today's external vendor usage against the tenant's daily quota (vendor_calls_today / per_day_max / remaining). This is the OTHER ceiling besides credits: when remaining hits 0, campaign work pauses until midnight even with a healthy credit balance — check it before launching a large or urgent ca…
No input schema was published for this tool.
send_feedbackSend feedback to the Nose for Leads team. Set kind='product' for feedback
about the leads, the service, coverage, or pricing — relay what the business
owner tells you (categories: lead_quality, pricing, missing_feature, praise,
other). Set kind='tool' (default) for feedback about these MCP tools…Send feedback to the Nose for Leads team. Set kind='product' for feedback about the leads, the service, coverage, or pricing — relay what the business owner tells you (categories: lead_quality, pricing, missing_feature, praise, other). Set kind='tool' (default) for feedback about these MCP tools…
| Parameter | Type | Description |
|---|---|---|
| message* | string | — |
| kind | string | — |
| category | string | — |
| tool | — | — |
11 of 11 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.
Finds, filters, and verifies local-business leads; every email carries a verification receipt.
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.