com.persuadioai/mcp

PersuadioAI

Analyze leads, draft follow-up campaigns, and launch SMS outreach only with explicit human approval.

Endpointhttps://api.persuadioai.com/mcp (streamable-http)
Registry version1.0.1
Now22 tools · grade D (63) · pin ts_085ba1ab26c553b0b06e8173537dde20 · protocol 2025-06-18
First / last listed2026-10-28 03:02 UTC / 2026-10-28 03:02 UTC
Grade over time2026-10-28: D (63), 22 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-28 03:02 UTC
22 tools, grade D (63)

Tools: add_leads_to_campaign analyze_lead_source attach_leads_to_campaign check_campaign_readiness clone_campaign_draft create_campaign_draft create_lead find_lead get_campaign_status get_interested_leads get_performance_summary import_leads_from_file launch_approved_campaign list_from_addresses list_leads pause_campaign preview_lead_import recommend_followup_campaign review_campaign_readiness search_leads select_and_attach_leads update_campaign_message

Current tools (22)

add_leads_to_campaignMove leads this account owns into a campaign this account owns, by explicit id. Updates membership only: this call sends nothing. But leads moved into an ACTIVE campaign with drip on or Auto Outreach running are texted or emailed on that campaign's next run, with no new review or approval (opt-outs, suppression, quiet hours and caps still apply); do that only when the operator wants those people c
params: campaign_id*, lead_ids*, idempotency_key
analyze_lead_sourceSummarise the leads in an account or one campaign: how many exist, how many can actually be contacted, how many opted out, and how they break down by status and source. Read-only — sends nothing and changes nothing. Start here when the operator asks what they have to work with.
params: campaign_id
attach_leads_to_campaignAttach leads this account owns to a campaign this account owns, by explicit id. Synonym for add_leads_to_campaign — same tool, same behavior, same response shape, just the verb some callers expect. Updates membership only: this call sends nothing. But leads attached to an ACTIVE campaign with drip on or Auto Outreach running are texted or emailed on that campaign's next run, with no new review or
params: campaign_id*, lead_ids*, idempotency_key
check_campaign_readinessRead-only, idempotent campaign readiness status for monitoring and scheduled checks: recipient count, message, channels, cost and every pass/warn/fail check. SENDS NOTHING and NEVER mints an approval token or confirmation phrase, so it cannot launch a campaign. Use review_campaign_readiness only when a human is actively deciding whether to launch.
params: campaign_id*, lead_ids
clone_campaign_draftCopy a previous campaign's configuration (channel, message template, AI instructions, follow-up sequence, sender/automation settings) onto a brand-new campaign, and attach an audience to it. THE RESULT IS ALWAYS A DRAFT — this tool NEVER launches, NEVER sends, and never touches an approval token; it does not call launch_approved_campaign under any circumstance. import_ids (from preview_lead_import
params: source_campaign_id*, name*, import_ids, lead_ids, channel_override, channels, from_address_id, subject, description, idempotency_key*
create_campaign_draftCreate a campaign in draft status with its opening SMS. THIS SENDS NOTHING — a draft cannot deliver a message. It exists so a human can read the exact wording and audience before deciding. The message is rejected if it implies a prior relationship or manufactures urgency. After this, call review_campaign_readiness.
params: name*, message*, subject, description, lead_ids, outreach_vertical, idempotency_key
create_leadAdd a single lead to a campaign this account owns. Requires campaign_id plus at least a phone or an email; deduplicates against the account's existing leads by contact detail. Writes a record only: this call sends nothing. But a lead created in an ACTIVE campaign with drip on or Auto Outreach running is texted or emailed on that campaign's next run, with no new review or approval (opt-outs, suppre
params: campaign_id*, name, first_name, last_name, phone, email, company_name, notes
find_leadSearch this account's leads by phone number, email address, or name. Phone matching tolerates formatting differences. Returns masked contact details plus lead ids. Read-only — sends nothing and changes nothing.
params: query*, campaign_id
get_campaign_statusReport recorded campaign outcomes: leads, sent records, confirmed delivery receipts, replies, opt-outs, booking records, and AI-paused leads (not people awaiting a human). Omit campaign_id to list campaigns. Account totals are independent of pagination and status filters. Read-only. Null metrics are unavailable; read the caveats before telling the operator a campaign is or is not working.
params: campaign_id, status, limit, offset
get_interested_leadsList leads whose replies were classified as positive or as asking a question, newest first, with the reply text. The classifier is keyword and sentiment based, NOT a language model — the response says so explicitly, and the reply text is included so you can judge for yourself. Read-only.
params: campaign_id, days, limit, offset
get_performance_summaryThe account's performance report, identical to the website's Performance page: pipeline (discovered, purchased, enriched, imported, duplicates excluded), readiness (prepared, approved, eligible at last launch), delivery (queued, provider-accepted, confirmed delivered, failed, unsettled -- never folded together), engagement (replies, interested, appointments, conversions), cost in credits, and one
params: range, campaign_id, lane
import_leads_from_fileUpsert leads from an uploaded CSV or XLSX file into this account. WRITES TO THE DATABASE — SENDS NOTHING on any channel, ever; this only stores contacts. Deduplicates by phone/email (dedupe_by, default both) against both the file itself and every lead already in this account. Re-importing a lead that is opted-out, suppressed, or do-not-contact NEVER clears those flags and NEVER moves the lead — on
params: file*, source, tags, column_mapping, dedupe_by, mode, idempotency_key*
launch_approved_campaignSENDS REAL MESSAGES TO REAL PEOPLE. This is irreversible and costs credits. It requires an approval_token from review_campaign_readiness and explicit operator authorization for this exact launch. In an interactive current turn where the human explicitly asked to send this campaign, in a session they signed in to themselves (OAuth), pass operator_authorized_this_launch=true instead of asking them t
params: campaign_id*, approval_token*, confirmation, operator_authorized_this_launch, lead_ids, channel, from_address_id, all_textable_numbers, from_number
list_from_addressesThe verified email sender identities (from-addresses) this account can send campaigns from. Read-only; sends nothing. Use before an email-channel readiness review to pick the right sender.
params: none
list_leadsPage through this account's leads, optionally filtered by campaign and status. Read-only — sends nothing and changes nothing. For richer filtering (geography, source, tags, contact history, SMS eligibility), use search_leads — the same data with the audience-building filter vocabulary.
params: campaign_id, status, limit, offset
pause_campaignStop a campaign from sending anything further. Queued messages that have not yet gone out are skipped; anything already handed to the carrier cannot be recalled. Safe to call when unsure — pausing is reversible and errs toward not contacting people.
params: campaign_id*, reason
preview_lead_importInspect an uploaded CSV or XLSX lead file WITHOUT writing anything to the database — read-only, sends nothing. Auto-detects common columns (name, phone, email, address, company/entity name) and reports row counts, in-file and account duplicates, missing contact fields, and how many leads would end up SMS- and email-contactable. Run this before import_leads_from_file so the operator can see what wo
params: file*, column_mapping, dedupe_by
recommend_followup_campaignPropose how to follow up, based on which leads have never been contacted, were contacted without replying, or already replied. Returns segments with counts and a suggested approach for each. Read-only — this is a proposal to discuss with the operator, not a plan that has been put into effect.
params: campaign_id, goal
review_campaign_readinessPre-flight a campaign: how many people would be contacted, on which channels, what it would cost, and which checks pass, warn or fail. SENDS NOTHING. If everything passes, it returns a short-lived approval token and a confirmation phrase — both of which a human operator must authorise before launch_approved_campaign will do anything. Run this before every launch; the token is single-use and campai
params: campaign_id*, lead_ids, channel, all_textable_numbers, from_address_id, from_number
search_leadsSearch this account's leads by campaign/list, source, geography (city/state/county), lead type, tags, contact history (never_contacted / contacted_no_reply / replied) and SMS eligibility (textable phone, not opted out, not suppressed), with paging and a deterministic sort. Returns lead_id values plus masked contact details and per-lead eligibility flags. Read-only — SENDS NOTHING and changes nothi
params: campaign_id, source, city, state, county, lead_type, investor_type, tags, status, contact_status, has_phone, sms_eligible, opted_out, suppressed, limit, offset, sort
select_and_attach_leadsDeterministically select up to requested_count SMS-eligible leads matching the same filters search_leads accepts (nested under 'filters') and attach them to a DRAFT campaign this account owns — the same membership move add_leads_to_campaign performs, driven by a filter instead of an id list. SENDS NOTHING and never launches. Opted-out and suppressed leads are never selected; leads already in the t
params: campaign_id*, filters, requested_count*, selection_strategy, idempotency_key*
update_campaign_messageRewrite the opening SMS of a campaign that is still a DRAFT. THIS SENDS NOTHING — it changes stored wording only, and it never launches or enqueues anything. DRAFT ONLY: a campaign that has already launched is refused, because editing it mid-send would tell one half of an audience something different from the other; clone it into a new draft instead. The replacement is held to the same rules as cr
params: campaign_id*, message*, subject, idempotency_key

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.