PersuadioAI is an MCP server with 20 tools an agent can call, among them add_leads_to_campaign, analyze_lead_source, attach_leads_to_campaign. It answers at https://api.persuadioai.com/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 10 of 10 times since 5 September 2026; the last check, on 18 October 2026, succeeded.
Analyze leads, draft follow-up campaigns, and launch SMS outreach only with explicit human approval.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
add_leads_to_campaign | Move leads this account owns into a campaign this account owns, by explicit id. Updates membership only — sends nothing. Opted-out and suppressed leads are REJECTED with per-lead skip reasons even when listed explicitly; leads already in th Inputs: campaign_id, lead_ids, idempotency_key |
analyze_lead_source | Summarise 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 oper Inputs: campaign_id |
attach_leads_to_campaign | Attach 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 — sends nothing. O Inputs: campaign_id, lead_ids, idempotency_key |
clone_campaign_draft | Copy 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 la Inputs: source_campaign_id, name, import_ids, lead_ids, channel_override, description |
create_campaign_draft | Create 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 relat Inputs: name, message, description, lead_ids, idempotency_key |
create_lead | Add 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 — sends nothing, to nobody, ever. Inputs: campaign_id, name, first_name, last_name, phone, email |
find_lead | Search 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. Inputs: query, campaign_id |
get_campaign_status | Report what a campaign has actually done: leads, messages delivered, replies, opt-outs, meetings scheduled, and threads waiting on a human. Omit campaign_id to list every campaign in the account. Read-only. The response includes caveats abo Inputs: campaign_id, status, limit, offset |
get_interested_leads | List 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 in Inputs: campaign_id, days, limit, offset |
import_leads_from_file | Upsert 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 Inputs: file, source, tags, column_mapping, dedupe_by, mode |
launch_approved_campaign | SENDS REAL MESSAGES TO REAL PEOPLE. This is irreversible and costs credits. It requires an approval_token from review_campaign_readiness AND the confirmation phrase that review returned, which the HUMAN OPERATOR must give you explicitly. Ne Inputs: campaign_id, approval_token, confirmation, lead_ids, channel, from_address_id |
list_from_addresses | The 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. |
list_leads | Page 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 Inputs: campaign_id, status, limit, offset |
pause_campaign | Stop 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 contactin Inputs: campaign_id, reason |
preview_lead_import | Inspect 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 duplic Inputs: file, column_mapping, dedupe_by |
recommend_followup_campaign | Propose 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 th Inputs: campaign_id, goal |
review_campaign_readiness | Pre-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 — Inputs: campaign_id, lead_ids, channel, from_address_id |
search_leads | Search 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 Inputs: campaign_id, source, city, state, county, lead_type |
select_and_attach_leads | Deterministically 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 Inputs: campaign_id, filters, requested_count, selection_strategy, idempotency_key |
update_campaign_message | Rewrite 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 mi Inputs: campaign_id, message, idempotency_key |
Every block below points at https://api.persuadioai.com/mcp. Pick your client and copy.
claude mcp add --transport http persuadioai https://api.persuadioai.com/mcp
{
"mcpServers": {
"persuadioai": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://api.persuadioai.com/mcp"]
}
}
}{
"mcpServers": {
"persuadioai": {
"url": "https://api.persuadioai.com/mcp"
}
}
}{
"servers": {
"persuadioai": {
"type": "http",
"url": "https://api.persuadioai.com/mcp"
}
}
}{
"context_servers": {
"persuadioai": {
"url": "https://api.persuadioai.com/mcp"
}
}
}{
"mcpServers": {
"persuadioai": {
"serverUrl": "https://api.persuadioai.com/mcp"
}
}
}{
"mcpServers": {
"persuadioai": {
"url": "https://api.persuadioai.com/mcp"
}
}
}name: PersuadioAI
version: 0.0.1
schema: v1
mcpServers:
- name: PersuadioAI
type: streamable-http
url: https://api.persuadioai.com/mcp{
"mcpServers": {
"persuadioai": {
"httpUrl": "https://api.persuadioai.com/mcp"
}
}
}{
"mcpServers": {
"persuadioai": {
"type": "http",
"url": "https://api.persuadioai.com/mcp"
}
}
}{
"mcpServers": {
"persuadioai": {
"url": "https://api.persuadioai.com/mcp"
}
}
}goose://extension?url=https%3A%2F%2Fapi.persuadioai.com%2Fmcp&type=streamable_http&id=persuadioai&name=PersuadioAI
It answered our last check on 18 October 2026 in 374 ms. Over 10 checks since 5 September 2026 it answered 10. Status here comes from Neuronto's own probes, not from the publisher.
Yes. It is published by persuadioai.com and served from api.persuadioai.com, the vendor's own domain: https://api.persuadioai.com/mcp.
20, as returned by the server's own tools/list on 31 August 2026: add_leads_to_campaign, analyze_lead_source, attach_leads_to_campaign, clone_campaign_draft, create_campaign_draft, create_lead, find_lead, get_campaign_status, and 12 more.
It answered our last check on 18 October 2026 in 374 ms. Over 10 checks since 5 September 2026 it answered 10.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://api.persuadioai.com/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: com.persuadioai. Endpoint host: api.persuadioai.com. ARD identifier: urn:air:com.persuadioai:mcp:mcp.
First indexed 31 August 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.