Skip to main content
Reply MCP executes a successful call immediately — there is no undo. These principles keep an agent safe and effective. They pair with the tool contract (how calls behave) and the workflow recipes (concrete call graphs). For the platform-wide, surface-independent versions of these rules, see Agent safety rules and Drop-in system prompts.

Design principles

Resolve before you mutate

Almost every mutating tool takes exact numeric IDs (sequence, contact, task, thread, user, email-account, LinkedIn-account, schedule, offer, playbook, knowledge-base). Never invent an ID, and never ask the user for one — users don’t know internal IDs. Search → confirm the match → act → verify:

Gate high-stakes actions

Confirm with the user before anything that sends to a prospect, starts outreach, enrolls contacts, changes ownership, blacklists, bulk-approves, or switches Jason to Autonomous. Two traps worth naming:
  • reply_reject_message doesn’t just discard a draft — it removes the contact from the sequence entirely. To merely revise a draft, use reply_regenerate_message.
  • reply_send_inbox_reply supports only threadId + channel + message in v1 — no Cc/Bcc, attachments, or scheduling; 32,000-char max; the channel must match the thread’s.

Separate discovery, configuration, and execution

Discover objects and IDs (search_* / list_* / get_*), configure the sequence (mailboxes, schedules, offers, knowledge bases, playbooks, reply mode), then execute (start, approve, send, complete). reply_start_sequence fails with NoEmailAccounts or NoContacts if you skip configuration.

MCP is the interactive surface; REST is the exhaustive one

These 70 tools cover most day-to-day operations. Drop to the REST API (api.reply.io/v3) for bulk imports and updates, background jobs, deep report exports, and anything absent from tools/list.

High-stakes tools

Each of these reaches a prospect or changes ownership/state the instant it succeeds. Require explicit confirmation in almost any agent UX: Usually worth confirming too (production-affecting, but not prospect-visible): reply_pause_sequence, reply_change_status_in_sequence, the reply_assign_* / reply_attach_* configuration tools, reply_complete_task, and any create/update/delete on knowledge bases, reply handlers, reengagement cards, offers, or playbooks. The server’s destructiveHint annotation marks all 39 mutations — use it as the machine-readable gate.

Drop-in system prompt

Add this to an agent’s system prompt when it has Reply MCP tools:
Next: workflow recipes turn these principles into concrete call graphs.