Buy mailing lists & send postcards from inside ChatGPT, Claude & Grok
LeadsPlease Connect runs a Model Context Protocol (MCP) server, so any MCP-capable AI assistant can build a targeted mailing audience, price it, design a postcard campaign, and hand you a secure checkout link — in plain English. Buy where you are.
https://lp.datawidget.com/connect/mcp
Streamable HTTP · JSON-RPC 2.0 · protocol 2025-06-18 · 26 tools
Add it to your assistant
- 1Claude.ai / Claude Desktop: Settings → Connectors → Add custom connector → paste the endpoint above. No key needed.
- 2ChatGPT (connectors / developer mode): add a new MCP server and paste the endpoint above.
- 3Any MCP client or agent: point it at the endpoint — tools are discovered automatically via
tools/list.
Tools your assistant gets (26)
clone_customers
Profile a business’s own customer list into a privacy-safe "Customer DNA" + a lookalike-targeting plan (where to find more customers like these). No PII is stored or shared.
list_audience_options
List the databases (consumer, business, new homeowners, new movers, intent), intent sub-categories, demographic filters, geography modes, postcard sizes, and the free lead-capture bundle included with every order. Call this first to learn what audience_count and pricing_quote accept.
audience_count
Get a live mailing-list count for a database + geography (+ optional demographics) via the LeadsPlease Data API, with the per-record price and estimated data cost.
pricing_quote
Estimate the all-in price of a postcard campaign (print + postage, plus data for intent), and confirm the free QR landing page + lead capture + auto-responder + CRM sync + AI analytics that are included at no extra cost.
check_postcard_artwork
USPS postcard pre-flight. Deterministic checks (dimensions, aspect, resolution/DPI, bleed, format) PLUS an AI-vision review (address clear zone, postage/indicia area, legibility, edge safety) when enabled. Returns the rule checks, an aiVision report, and an overallResult (pass/warn/fail) with specific fixes. Advisory only — not a USPS acceptance guarantee.
find_business
START HERE. Ask the user for their BUSINESS NAME up front, then call this to positively identify the business and lock its website + address via Google Places. Show the matches, confirm which is theirs, then immediately call generate_from_url with that placeId to review their site and auto-design the whole campaign (the business address becomes the postcard return address). Do this BEFORE building audiences or designing anything.
generate_from_url
Auto-design a complete, on-brand postcard campaign from a business website URL OR a Google Places placeId (from find_business). Personalized one-to-one copy ({first_name}/{zip}/{city}, e.g. "Hi {first_name}, homes like yours in {zip}…"), a custom landing page, an offer, and an auto-responder email. Returns a previewUrl, a suggestedAudience, the business returnAddress (when a placeId is used), and applyToCampaign (landing+offer+design+returnAddress) ready for create_postcard_campaign. The QR + landing page + lead capture + responder + CRM sync are FREE with every postcard order.
lp_login
Begin LeadsPlease account verification so a customer can use THEIR purchased LP lists — without a password. Provide their LeadsPlease account email; a 6-digit code is emailed to them. Does not return the code; ask the user to read it back, then call verify_lp_code.
verify_lp_code
Verify the 6-digit code emailed by lp_login. Returns an lpToken to pass to my_lp_lists and to create_audience (with lpListIds). Codes expire in 10 minutes.
my_lp_lists
List the customer’s LeadsPlease purchased lists (names + counts only — never raw records). Requires a valid lpToken from verify_lp_code.
create_audience
Create + save a mailing audience. Three ways: (a) the customer’s own LeadsPlease lists via lpListIds[] (requires lpToken from verify_lp_code), (b) upload a list (records[]), or (c) define a selection (db + geography + demographics). Returns an audienceId plus an accountToken + accountUrl (the user’s private page to review & check out). Pass the same accountToken back on later calls to keep an anonymous user’s items in one account.
create_postcard_campaign
Create a postcard campaign (DRAFT) for a saved audienceId — size, optional front/back artwork, Smart QR + landing page + offer + lead-delivery email. Artwork is saved + USPS pre-flighted and attached for printing. Returns campaignId + pricing + a sample personalized landing URL + per-side artwork checks. No charge yet; call create_checkout to pay & launch.
create_checkout
Create a Stripe Checkout payment link for a campaignId (all-in: data + printing + postage). Returns a hosted checkout URL the buyer opens to pay; the campaign launches on payment. Creating the link does not charge anyone.
fulfillment_status
Check whether Stripe checkout and print/mail fulfillment are wired, and — for a campaignId — where its order sits in the flow (awaiting_payment → submitted → printing → mailed → delivered), whether artwork is attached, and whether it is ready to mail.
generate_print_pdf
Get a personalized, variable-data print PDF for a campaign (proof): one postcard front+back per recipient with merged copy ({first_name}/{zip}/{city}) and that recipient’s unique QR. Returns a printPdfUrl to download or hand to the print shop. Interim file (not PDF/VT-1).
campaign_analytics
Full analytics for one campaign: the funnel (audience → mailed → delivered → scanned → leads → calls → paid) with delivery %, scan %, response %, conversion %, spend and cost-per-lead.
account_analytics
Aggregated analytics across ALL of a customer’s campaigns: totals (mailed, delivered, scans, leads, spend), blended delivery/scan/response rates, cost-per-lead, and the best-performing campaign. Pass accountToken (from create_audience) or a verified lpToken.
get_website_images
Harvest the images/photos/graphics from a business website (og:image, logo, hero photos, srcset, CSS backgrounds) and assess each for PRINT vs digital use. Each image returns real pixel width/height, whether it is print-ready for a postcard (full-bleed/spot/logo) or web-only, and the largest print size it supports. Vector (SVG) logos are always print-ready. With analyze:true, also runs a Claude-vision pass on the page screenshot → the brand’s real colour palette + recommended on-brand assets by role (brandVision). Pass url OR a placeId (from find_business). Note: web images are usually too low-res for full-bleed print and are © the site owner — confirm rights.
show_campaign_visuals
Show the campaign's marketing materials INLINE in the chat — renders the postcard + landing-page mockup (as an image) plus an on-brand image from the business's site, so the user sees their design without leaving the conversation. Pass the previewToken (pv_… from generate_from_url) or previewUrl. Call this right after generate_from_url to display the design.
campaign_timeline
The per-person story behind the numbers. Pass campaignId to list everyone who ENGAGED (scanned their QR, opened/clicked the email, or became a lead), most-recently-active first — each with their name, town, current status and ordered event history (mailed → scanned → submitted → emailed). Pass a token instead to get one recipient's full timeline. Filter with status (lead|scanned|opened|clicked|all) and page with limit/offset. Privacy: returns name + town only, never the demographic append.
success_profile
Profile a campaign’s ACTUAL RESPONDERS (who scanned + submitted) against the mailed audience to learn what makes a responder, then return a builder-ready LOOKALIKE (profile.spec) + a builderUrl to one-click order more people like them. Geography-based today; demographic depth (income/age/home value) unlocks with the LeadsPlease® full-demo append.
create_subscription
Subscribe a customer to a saved audience so fresh records arrive automatically each cycle (LeadsPlease® AutoPilot). Works on time-refreshing audiences only: New Movers, New Homeowners, Turning-65, Intent. Every cycle delivers ONLY records that email has never received (prior-order suppression is automatic via the customer email) and bills per delivered record, capped at max_records. Returns a Stripe payment_url — NOTHING is charged until the customer opens it and pays; that first payment covers the first delivery, saves the card, and activates the subscription. Build the audience first with create_audience (db + geography + filters).
list_subscriptions
List a customer’s active + pending subscriptions (by email or verified lpToken): audience, cadence, caps, next delivery, cycles delivered so far.
pause_subscription
Pause a subscription — deliveries and billing stop until resume_subscription. Requires the subscription’s own email (or verified lpToken).
resume_subscription
Resume a paused subscription; the next delivery is scheduled a full cadence out (or on the original future date if still ahead).
cancel_subscription
Cancel a subscription permanently — no further deliveries or charges. Requires the subscription’s own email (or verified lpToken).
What it looks like
You: Find homeowners in Scottsdale AZ and mail them a 6×4 postcard for my landscaping business. Assistant → audience_count → pricing_quote → create_audience → create_postcard_campaign → create_checkout Assistant: ~12,400 homeowners in Scottsdale. All-in price covers data + printing + first-class postage, with a free personalized QR landing page and lead capture included. Here is your secure checkout link — pay and it mails.