> ## Documentation Index
> Fetch the complete documentation index at: https://docs.reply.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Tool reference

> The full catalog of all 70 Reply MCP tools, grouped by domain, with safety annotations.

All 70 tools, grouped by domain. This is a **map**, not a schema dump — the authoritative,
per-argument JSON schema for every tool is served live by `tools/list`, and an agent should read it
from there. Each tool's served description also states its exact ID rules, enum values, batch
limits, and per-code failure guidance. See the [tool contract](/mcp/tool-contract) for the rules
shared across all of them.

**Legend:** 📖 read-only (`readOnlyHint`) · ✏️ mutation (`destructiveHint`) · ⭐ high-stakes
(prospect-visible or irreversible — always confirm; see [Building agents](/mcp/agent-guide#high-stakes-tools)).

## Sequences

### Discover & inspect

| Tool                                 |     | Purpose                                                                             |
| ------------------------------------ | :-: | ----------------------------------------------------------------------------------- |
| `reply_search_sequences`             |  📖 | Find sequences by name / status / archive flag; returns per-sequence summary fields |
| `reply_get_sequence_steps`           |  📖 | List a sequence's ordered steps (type, delay, position, variant count)              |
| `reply_get_sequence_step_variants`   |  📖 | Read a message step's A/B content variants (subject, body)                          |
| `reply_get_sequence_stats`           |  📖 | Email + LinkedIn performance metrics for one sequence                               |
| `reply_compare_sequence_performance` |  📖 | Side-by-side metrics for up to 25 sequences                                         |

### Control & configuration

| Tool                                        |     | Purpose                                            |
| ------------------------------------------- | :-: | -------------------------------------------------- |
| `reply_start_sequence`                      | ✏️⭐ | Start or resume a sequence so it begins sending    |
| `reply_pause_sequence`                      |  ✏️ | Pause a sequence; halt in-flight scheduled steps   |
| `reply_add_contact_to_sequence`             | ✏️⭐ | Enroll up to 100 existing contacts into a sequence |
| `reply_change_status_in_sequence`           |  ✏️ | Set one contact's per-sequence status              |
| `reply_assign_email_account_to_sequence`    |  ✏️ | Link a mailbox to a sequence                       |
| `reply_assign_linkedin_account_to_sequence` |  ✏️ | Link a LinkedIn account to a sequence              |
| `reply_assign_schedule_to_sequence`         |  ✏️ | Set the sending schedule (business-hours window)   |
| `reply_attach_offer_to_sequence`            |  ✏️ | Attach an offer to an AI SDR sequence              |
| `reply_attach_playbook_to_sequence`         |  ✏️ | Attach a playbook to an AI SDR sequence            |
| `reply_attach_knowledge_base_to_sequence`   |  ✏️ | Attach a knowledge base to an AI SDR sequence      |
| `reply_set_sequence_reply_mode`             | ✏️⭐ | Set Jason's Review / Autonomous reply mode         |

## Contacts

| Tool                             |     | Purpose                                                           |
| -------------------------------- | :-: | ----------------------------------------------------------------- |
| `reply_search_contacts`          |  📖 | Look up contacts by exact email or LinkedIn URL                   |
| `reply_filter_contacts`          |  📖 | List contacts by list/sequence membership and/or free-text search |
| `reply_create_contact`           |  ✏️ | Create a contact (needs a name + email or LinkedIn URL)           |
| `reply_update_contact`           |  ✏️ | Patch fields on an existing contact                               |
| `reply_get_contact_activity`     |  📖 | Activity history for one contact (sends, opens, replies, calls)   |
| `reply_mark_contacts_as_replied` |  ✏️ | Mark up to 100 contacts as replied (or clear the flag)            |
| `reply_change_contact_owner`     | ✏️⭐ | Reassign up to 100 contacts to another user                       |
| `reply_blacklist_contact`        | ✏️⭐ | Blacklist a contact's email (or whole domain) from outreach       |

## Inbox & conversations

| Tool                          |     | Purpose                                                   |
| ----------------------------- | :-: | --------------------------------------------------------- |
| `reply_get_inbox_emails`      |  📖 | List inbox threads (email + LinkedIn) with short previews |
| `reply_send_inbox_reply`      | ✏️⭐ | Send a reply on an existing thread (body only in v1)      |
| `reply_change_inbox_category` |  ✏️ | Assign or clear a thread's workspace category             |

## Jason AI SDR

### Approvals & autopilot

| Tool                           |     | Purpose                                                         |
| ------------------------------ | :-: | --------------------------------------------------------------- |
| `reply_list_pending_approvals` |  📖 | The queue of Jason drafts awaiting approval                     |
| `reply_approve_message`        | ✏️⭐ | Approve one draft and send it immediately                       |
| `reply_bulk_approve_messages`  | ✏️⭐ | Approve and send up to 100 drafts (atomic batch)                |
| `reply_reject_message`         | ✏️⭐ | Reject a draft **and remove the contact from the sequence**     |
| `reply_regenerate_message`     |  ✏️ | Ask Jason to rewrite a pending draft (optionally with feedback) |

### Knowledge bases

| Tool                                 |     | Purpose                                                       |
| ------------------------------------ | :-: | ------------------------------------------------------------- |
| `reply_list_knowledge_bases`         |  📖 | List Jason knowledge bases                                    |
| `reply_get_knowledge_base`           |  📖 | Full detail of one knowledge base (instructions, URL sources) |
| `reply_create_knowledge_base`        |  ✏️ | Create a knowledge base                                       |
| `reply_update_knowledge_base`        |  ✏️ | Rename or edit a knowledge base's instructions                |
| `reply_add_knowledge_base_source`    |  ✏️ | Add a web-page URL source to a knowledge base                 |
| `reply_delete_knowledge_base_source` |  ✏️ | Remove a URL source from a knowledge base                     |

### Reply handlers

| Tool                         |     | Purpose                                            |
| ---------------------------- | :-: | -------------------------------------------------- |
| `reply_list_reply_handlers`  |  📖 | List reply handlers in a knowledge base            |
| `reply_get_reply_handler`    |  📖 | Full detail of one reply handler                   |
| `reply_create_reply_handler` |  ✏️ | Add a reply handler (question type → instructions) |
| `reply_update_reply_handler` |  ✏️ | Patch a reply handler                              |
| `reply_delete_reply_handler` |  ✏️ | Remove a reply handler                             |

### Reengagement cards

| Tool                             |     | Purpose                                                |
| -------------------------------- | :-: | ------------------------------------------------------ |
| `reply_list_reengagement_cards`  |  📖 | List reengagement (win-back) cards in a knowledge base |
| `reply_get_reengagement_card`    |  📖 | Full detail of one reengagement card                   |
| `reply_create_reengagement_card` |  ✏️ | Add a reengagement card (with send-after days)         |
| `reply_update_reengagement_card` |  ✏️ | Patch a reengagement card                              |
| `reply_delete_reengagement_card` |  ✏️ | Remove a reengagement card                             |

### Offers

| Tool                                |     | Purpose                                                   |
| ----------------------------------- | :-: | --------------------------------------------------------- |
| `reply_list_offers`                 |  📖 | List Jason offers (id + name)                             |
| `reply_get_offer`                   |  📖 | Full offer content (ICP, value props, proof points, CTAs) |
| `reply_create_offer`                |  ✏️ | Create an offer Jason can pitch                           |
| `reply_update_offer`                |  ✏️ | Patch an offer                                            |
| `reply_generate_offer_from_website` |  📖 | Draft offer fields from a company website (does not save) |

### Playbooks

| Tool                       |     | Purpose                                             |
| -------------------------- | :-: | --------------------------------------------------- |
| `reply_list_playbooks`     |  📖 | List Jason playbooks (id, name, visibility)         |
| `reply_get_playbook`       |  📖 | Full playbook, including the instruction body       |
| `reply_create_playbook`    |  ✏️ | Create a playbook (Team or Organization visibility) |
| `reply_update_playbook`    |  ✏️ | Patch a playbook                                    |
| `reply_duplicate_playbook` |  ✏️ | Duplicate a playbook into a new one                 |

## Tasks

| Tool                  |     | Purpose                                                             |
| --------------------- | :-: | ------------------------------------------------------------------- |
| `reply_list_my_tasks` |  📖 | List your tasks, filterable by type / status / due window / contact |
| `reply_create_task`   |  ✏️ | Create a standalone task (ToDo / Call / Meeting / LinkedIn / …)     |
| `reply_complete_task` |  ✏️ | Mark a task completed (with optional call resolution)               |

## Workspace resolvers & accounts

| Tool                           |     | Purpose                                                      |
| ------------------------------ | :-: | ------------------------------------------------------------ |
| `reply_list_email_accounts`    |  📖 | List mailboxes with connection status, daily limits, tags    |
| `reply_list_linkedin_accounts` |  📖 | List connected LinkedIn accounts with health and tier        |
| `reply_list_schedules`         |  📖 | List sending schedules (timezone, default flag, slot counts) |
| `reply_search_lists`           |  📖 | Resolve a contact list name to its `ListId`                  |
| `reply_search_team_members`    |  📖 | Resolve a teammate name/email to their `UserId`              |

## Help & meta

| Tool                               |     | Purpose                                                      |
| ---------------------------------- | :-: | ------------------------------------------------------------ |
| `reply_search_knowledge_base`      |  📖 | Search the Reply.io Help Center for how-to articles          |
| `reply_get_knowledge_base_article` |  📖 | Read a full Help Center article by slug                      |
| `reply_get_app_map`                |  📖 | Catalog of app areas with in-app navigation steps and links  |
| `reply_report_unsupported_request` |  📖 | Log a capability Reply.io doesn't have, for the product team |

## Regenerate this reference

This catalog is not hand-maintained trust — regenerate it in seconds by probing the running server:

```bash theme={null}
# 1) initialize
curl -s -X POST https://mcp.reply.io/ \
  -H "Authorization: Bearer YOUR_REPLY_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize",
       "params":{"protocolVersion":"2025-06-18","capabilities":{},
                 "clientInfo":{"name":"probe","version":"0.1"}}}'

# 2) list tools
curl -s -X POST https://mcp.reply.io/ \
  -H "Authorization: Bearer YOUR_REPLY_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'
```

Responses are SSE — take the JSON after the last `data:` line. If the returned tool set differs
from this page, the server is newer — **trust the server**.
