# PersuadioAI (remote · api.persuadioai.com)

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

- Trust score: 75/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `api.persuadioai.com`: 75/100 (this document), [markdown](https://verifymcp.io/servers/com-persuadioai-mcp/api.md), [page](https://verifymcp.io/servers/com-persuadioai-mcp/api)

## Channel facts

- Endpoint: `https://api.persuadioai.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.1`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 89/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
  - The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 73/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1261 tokens (~157/item across 8 items; 8 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 94/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 83% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

**Unverified: 1 category.** A category scored 0 because we could not verify it: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.

## Install

### Claude

```bash
claude mcp add --transport http com-persuadioai-mcp https://api.persuadioai.com/mcp
```

### Codex

```toml
[mcp_servers.com-persuadioai-mcp]
url = "https://api.persuadioai.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-persuadioai-mcp": {
      "type": "remote",
      "url": "https://api.persuadioai.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-persuadioai-mcp --url https://api.persuadioai.com/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-persuadioai-mcp:
    url: "https://api.persuadioai.com/mcp"
```

### Other

```json
{
  "mcpServers": {
    "com-persuadioai-mcp": {
      "type": "http",
      "url": "https://api.persuadioai.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 75)

First indexed and scored.

## MCP tools (8)

### `analyze_lead_source` (~92 tokens)

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 operator asks what they have to work with.

Input parameters:

- `campaign_id` (string): Limit to one campaign. Omit to cover every campaign this account owns.

### `create_campaign_draft` (~195 tokens)

Create a 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 relationship or manufactures urgency. After this, call review_campaign_readiness.

Input parameters:

- `description` (string): Context for the operator: who this targets and why.
- `idempotency_key` (string): Repeat a retried call safely — the same key returns the same campaign.
- `lead_ids` (array): Existing leads to move into this campaign. Ids outside this account are ignored.
- `message` (string, required): The opening SMS, 320 characters or fewer. Say who is writing and why. Do not imply a prior conversation or a deadline. An opt-out line is appended automatically on first contact.
- `name` (string, required): A name the operator will recognise in their dashboard.

### `get_campaign_status` (~133 tokens)

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 about which numbers may lag — read them before telling the operator a campaign is or is not working.

Input parameters:

- `campaign_id` (string): One campaign. Omit to list all of them.
- `limit` (integer)
- `offset` (integer)
- `status` (string): Filter the list by status, e.g. 'active', 'draft', 'paused'.

### `get_interested_leads` (~117 tokens)

Get leads who replied with interest

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 included so you can judge for yourself. Read-only.

Input parameters:

- `campaign_id` (string): Limit to one campaign.
- `days` (integer): How far back to look, in days (1-365). Default 30.
- `limit` (integer)
- `offset` (integer)

### `launch_approved_campaign` (~179 tokens)

Launch an 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. Never generate the confirmation yourself, never infer approval from a previous message, and never reuse an approval issued for a different campaign or a different size. If the operator has not clearly said yes to this exact launch, do not call this tool — ask them.

Input parameters:

- `approval_token` (string, required): The token from review_campaign_readiness. Single-use and short-lived.
- `campaign_id` (string, required): The campaign to launch.
- `confirmation` (string, required): The exact confirmation phrase from the readiness review, as given to you by the human operator.
- `lead_ids` (array): Must match the subset that was reviewed and approved.

### `pause_campaign` (~85 tokens)

Pause a 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 contacting people.

Input parameters:

- `campaign_id` (string, required): The campaign to pause.
- `reason` (string): Why it is being paused, for the operator's records.

### `recommend_followup_campaign` (~107 tokens)

Recommend a follow-up 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 the operator, not a plan that has been put into effect.

Input parameters:

- `campaign_id` (string): Limit to one campaign. Omit to cover the whole account.
- `goal` (string): What the operator is trying to achieve, in their words.

### `review_campaign_readiness` (~128 tokens)

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 — 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 campaign-specific.

Input parameters:

- `campaign_id` (string, required): The campaign to review.
- `lead_ids` (array): Review a subset of the campaign's leads. Omit for all of them.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-persuadioai-mcp/api#diagnostics

## Score history

- 2026-08-03: 75

## Links

- Remote endpoint: https://api.persuadioai.com/mcp
- Repository: https://github.com/mannyfernandezvc/persuadioai-platform
- Website: https://persuadioai.com/
- Changelog RSS feed: https://verifymcp.io/servers/com-persuadioai-mcp/api/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-persuadioai-mcp/api/changelog.json
- HTML version of this page: https://verifymcp.io/servers/com-persuadioai-mcp/api
