com.noseforleads/leads-mcp

Nose for Leads

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

Endpointhttps://api.noseforleads.com/mcp (streamable-http)
Registry version1.0.0
Now11 tools · grade B (80) · pin ts_58cecd3b67e47528d8f9c05a9c0a77d9 · protocol 2025-06-18
First / last listed2026-10-25 01:58 UTC / 2026-10-25 01:58 UTC
Grade over time2026-10-25: B (80), 11 tools

Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.

Timeline

First listing · 2026-10-25 01:58 UTC
11 tools, grade B (80)

Tools: translate_icp start_campaign get_campaign_status fetch_results get_icp_pack add_suppression review_lead get_credits list_campaigns get_usage send_feedback

Current tools (11)

translate_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} — pass vertical/geo/query straight to start_campaign. `discovery
params: text*
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 tool's schema — build it with translate_icp from free text (recommended),
params: 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 until `status` is terminal. Out-of-range wait_seconds clamps to [0, 45],
params: job_id*, wait_seconds
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) — omit it for both. Returns {summary, total, offset, limit, rows}; total coun
params: job_id*, offset, limit, kept_only, match_status
get_icp_packList the ICP packs (saved vertical/geo templates) available to this tenant.
params: none
add_suppressionAdd an email or domain to the suppression list (scope is 'email' or 'domain') so future campaigns exclude it.
params: scope*, value*, reason*
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.
params: job_id*, result_id*, status*
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 dashboard when balance runs low. When you authenticate with an API key t
params: offset, limit
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 vertical/geo), status (queued | running | done | done_partial | failed), c
params: offset, limit, q, status, order, 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 campaign. `remaining` is quota UNITS, which usually equals calls; a creato
params: none
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 themselves — a confusing description, a bug, a missing capability. Use
params: message*, kind, category, tool

Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.