NF

Nose for Leads

com.noseforleads/leads-mcp

Finds, filters, and verifies local-business leads; every email carries a verification receipt.

Yes, your AI can use this right now.Answered a live MCP handshake in 335 ms with no sign-in needed and exposes 11 tools.

Connect it

Settings → Connectors → Add custom connector
URL: https://api.noseforleads.com/mcp

11 tools, verified live

Pulled straight from the server with tools/list on 2026-10-17.
translate_icpread-only

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} — pass vertical/geo/query straight to start_campaign. `discovery

start_campaign

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 tool's schema — build it with translate_icp from free text (recommended),

get_campaign_statusread-only

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 until `status` is terminal. Out-of-range wait_seconds clamps to [0, 45],

fetch_resultsread-only

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) — omit it for both. Returns {summary, total, offset, limit, rows}; total coun

get_icp_packread-only

List the ICP packs (saved vertical/geo templates) available to this tenant.

add_suppression

Add an email or domain to the suppression list (scope is 'email' or 'domain') so future campaigns exclude it.

review_lead

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.

get_creditsread-only

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 dashboard when balance runs low. When you authenticate with an API key t

list_campaignsread-only

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 vertical/geo), status (queued | running | done | done_partial | failed), c

get_usageread-only

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 campaign. `remaining` is quota UNITS, which usually equals calls; a creato

send_feedback

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 themselves — a confusing description, a bug, a missing capability. Use

Alternatives in Email & Messaging

Compare →
Try “Notion”, “Stripe”, “create invoice”, “browser”