MCP server

Reply.io's full sales platform as 70 MCP tools — sequences, contacts, inbox, tasks, and the Jason AI SDR autopilot. Live at mcp.reply.io. High-level reference here — all 70 tools, contract essentials, connect snippet; full per-argument details at docs.reply.io.

Status — available today

Reply MCP is an official, live, remote Streamable HTTP MCP server exposing Reply.io’s sales-engagement, inbox, AI SDR (Jason), task, account, and help workflows as 70 tools for any MCP-compatible client — Claude, Cursor, Make, n8n, and custom agents.

Endpointhttps://mcp.reply.io/
TransportStreamable HTTP (JSON-RPC 2.0, MCP protocol 2025-06-18)
Authx-api-key: <key> or Authorization: Bearer <key>
Rate limitHourly window, ~3000/hour (X-Rate-Limit-* headers on every response)
SessionsNone required — initialize and tools/list work without Mcp-Session-Id
Tools70 — 31 read-only (readOnlyHint), 39 mutations (destructiveHint)

Connect

claude mcp add --transport http reply https://mcp.reply.io/ \
  --header "x-api-key: YOUR_REPLY_API_KEY"

Or in any MCP client config:

{
  "mcpServers": {
    "reply": {
      "type": "http",
      "url": "https://mcp.reply.io/",
      "headers": { "x-api-key": "YOUR_REPLY_API_KEY" }
    }
  }
}

Client-by-client instructions, the OAuth discovery flow, and rate limits: docs.reply.io/mcp/connect.

Contract essentials

What an agent needs to know before calling — full rules and the safe-retry matrix at docs.reply.io/mcp/tool-contract:

  • Responses are SSE frames; the payload is a JSON string in result.content[0].text{"Success":true,"Data":{...}} or {"Success":false,"ErrorCode":"...","ErrorMessage":"..."} (tool errors arrive as HTTP 200 with isError: true; branch on ErrorCode).
  • Schemas are strictadditionalProperties: false; required fields reject null, "", [].
  • Pagination is uniformtop (default 20, max 100) + skip; iterate until HasMore is false.
  • Updates are patches — omitted fields keep their value; a passed list replaces the whole list.
  • IDs come from resolvers — resolve exact numeric IDs with search_*/list_* tools first; never invent one, never ask the user for one.
  • Batches cap at 100 and report per-item results (NotProcessed, AffectedContactIds) — report exact counts.
  • Gate high-stakes tools — anything that sends, starts outreach, enrolls, blacklists, changes ownership, rejects a draft (also removes the contact from the sequence!), or switches Jason to Autonomous executes immediately with no undo. Confirm with the user first.

All 70 tools

Grouped by domain: read = readOnlyHint · write = destructiveHint · gate = confirm with the user first. Full signatures, arguments, enums, and failure modes: docs.reply.io/mcp/tools (site index: /mcp/tools).

Sequences — discover & inspect

ToolTypePurpose
reply_search_sequencesreadFind sequences by name / status / archive flag
reply_get_sequence_stepsreadOrdered steps of a sequence (type, delay, variants)
reply_get_sequence_step_variantsreadA/B content variants of one step
reply_get_sequence_statsreadEmail + LinkedIn metrics for one sequence
reply_compare_sequence_performancereadSide-by-side metrics for up to 25 sequences

Sequences — control & configuration

ToolTypePurpose
reply_start_sequencewrite · gateStart or resume a sequence
reply_pause_sequencewritePause a sequence
reply_add_contact_to_sequencewrite · gateEnroll up to 100 contacts
reply_change_status_in_sequencewriteSet one contact’s per-sequence status
reply_assign_email_account_to_sequencewriteLink a mailbox
reply_assign_linkedin_account_to_sequencewriteLink a LinkedIn account
reply_assign_schedule_to_sequencewriteSet the sending schedule
reply_attach_offer_to_sequencewriteAttach an offer (AI SDR)
reply_attach_playbook_to_sequencewriteAttach a playbook (AI SDR)
reply_attach_knowledge_base_to_sequencewriteAttach a knowledge base (AI SDR)
reply_set_sequence_reply_modewrite · gateJason Review ↔ Autonomous mode

Contacts

ToolTypePurpose
reply_search_contactsreadLook up by exact email or LinkedIn URL
reply_filter_contactsreadFilter by list/sequence/free-text
reply_create_contactwriteCreate a contact
reply_update_contactwritePatch contact fields
reply_get_contact_activityreadActivity history for one contact
reply_mark_contacts_as_repliedwriteMark up to 100 contacts as replied
reply_change_contact_ownerwrite · gateReassign contacts to another user
reply_blacklist_contactwrite · gateBlacklist an email or whole domain

Inbox & conversations

ToolTypePurpose
reply_get_inbox_emailsreadList inbox threads with previews
reply_send_inbox_replywrite · gateSend a reply on a thread
reply_change_inbox_categorywriteAssign/clear a thread category

Jason AI SDR — approvals & autopilot

ToolTypePurpose
reply_list_pending_approvalsreadThe draft approval queue
reply_approve_messagewrite · gateApprove one draft — sends immediately
reply_bulk_approve_messageswrite · gateApprove up to 100 drafts (atomic)
reply_reject_messagewrite · gateReject a draft AND remove the contact from the sequence
reply_regenerate_messagewriteAsk Jason to rewrite a pending draft

Jason AI SDR — knowledge bases

ToolTypePurpose
reply_list_knowledge_basesreadList knowledge bases
reply_get_knowledge_basereadOne knowledge base in full
reply_create_knowledge_basewriteCreate a knowledge base
reply_update_knowledge_basewriteRename / edit instructions
reply_add_knowledge_base_sourcewriteAdd a URL source
reply_delete_knowledge_base_sourcewriteRemove a URL source

Jason AI SDR — reply handlers

ToolTypePurpose
reply_list_reply_handlersreadList reply handlers in a knowledge base
reply_get_reply_handlerreadOne reply handler in full
reply_create_reply_handlerwriteAdd a handler (question type → instructions)
reply_update_reply_handlerwritePatch a handler
reply_delete_reply_handlerwriteRemove a handler

Jason AI SDR — reengagement cards

ToolTypePurpose
reply_list_reengagement_cardsreadList win-back cards
reply_get_reengagement_cardreadOne card in full
reply_create_reengagement_cardwriteAdd a card (with send-after days)
reply_update_reengagement_cardwritePatch a card
reply_delete_reengagement_cardwriteRemove a card

Jason AI SDR — offers

ToolTypePurpose
reply_list_offersreadList offers (id + name)
reply_get_offerreadFull offer content (ICP, value props, CTAs)
reply_create_offerwriteCreate an offer
reply_update_offerwritePatch an offer
reply_generate_offer_from_websitereadDraft offer fields from a website (doesn’t save)

Jason AI SDR — playbooks

ToolTypePurpose
reply_list_playbooksreadList playbooks
reply_get_playbookreadOne playbook incl. instruction body
reply_create_playbookwriteCreate a playbook
reply_update_playbookwritePatch a playbook
reply_duplicate_playbookwriteDuplicate a playbook

Tasks

ToolTypePurpose
reply_list_my_tasksreadList tasks, filterable
reply_create_taskwriteCreate a standalone task
reply_complete_taskwriteMark a task completed

Workspace resolvers & accounts

ToolTypePurpose
reply_list_email_accountsreadMailboxes with status and limits
reply_list_linkedin_accountsreadConnected LinkedIn accounts
reply_list_schedulesreadSending schedules
reply_search_listsreadResolve a list name to its ListId
reply_search_team_membersreadResolve a teammate to their UserId

Help & meta

ToolTypePurpose
reply_search_knowledge_basereadSearch the Reply Help Center
reply_get_knowledge_base_articlereadRead a Help Center article
reply_get_app_mapreadApp areas with in-app navigation
reply_report_unsupported_requestreadLog a missing capability for the product team

The full technical reference lives on docs.reply.io

This page is the high-level surface map. For implementation details:

  • Connect — client configs, handshake, auth details, rate limits
  • Tool contract & errors — schema rules, pagination, response envelopes, error codes, the safe-retry matrix
  • Building agents — design principles, high-stakes gating, a drop-in system prompt
  • Workflow recipes — launch a sequence safely, supervise Jason, reply to a thread, and more
  • Tool reference — all 70 tools with per-argument documentation

The always-current runtime source is the server itself: call tools/list and trust what it returns.

Frequently asked questions

Is the MCP server real, and how current is this page?

Real and live. Endpoint https://mcp.reply.io/, MCP protocol 2025-06-18, 70 tools. The canonical, continuously maintained reference — auth, contract rules, envelopes, error model, full tool catalog — lives at docs.reply.io/mcp/overview. The runtime truth is always tools/list on the live server.

How does authentication work?

Send your Reply.io API key as an x-api-key header or an Authorization Bearer token — this server accepts either. Get a key in the Reply.io app under Settings → API Keys. No session header is required. Full details, including the OAuth discovery metadata, at docs.reply.io/mcp/connect.

How do I know which tools are safe to call?

The server tells you, machine-readably. Every tool carries MCP annotations — readOnlyHint (31 tools) or destructiveHint (39 tools). Agents can auto-gate on them; anything that reaches a prospect or changes ownership should also get explicit user confirmation. The full contract and safe-retry matrix is at docs.reply.io/mcp/tool-contract.

When should an agent use MCP instead of the REST API?

Use MCP for interactive, natural-language work — 70 tools cover most day-to-day operations including the full Jason AI SDR autopilot. Use REST (api.reply.io/v3) for bulk imports, scheduled backend syncs, deep report exports, and anything tools/list does not expose.

Is the Jason autopilot really callable here?

Yes. The approval queue, the Review↔Autonomous switch, and the whole knowledge base / offer / playbook / reply-handler / reengagement-card surface are live MCP tools.