> ## 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.

# Choose your interface

> MCP vs Skills vs CLI vs API — how the four Reply.io access layers differ and which to pick.

MCP, Skills, CLI, and API are not separate products — they are four ways to access the same
Reply.io platform. Same account, same [API key](/api-reference/authentication), same object model,
same [rate limits](/api-reference/rate-limits).

## Comparison

|                     | **MCP**                                      | **Skills**                                                   | **CLI**                                                                | **API**                                    |
| ------------------- | -------------------------------------------- | ------------------------------------------------------------ | ---------------------------------------------------------------------- | ------------------------------------------ |
| **Best for**        | Agents in MCP clients (Claude, Cursor)       | Coding agents that need procedure, not just tools            | Shell scripts, CI, coding agents                                       | Production integrations, webhooks, bulk    |
| **Granularity**     | 70 curated tools                             | 18 skills in 3 installable packs                             | 5 command groups + `reply api` passthrough                             | Every endpoint                             |
| **Install cost**    | One client config entry                      | One `reply skills install`                                   | One `npm install`                                                      | None (HTTP)                                |
| **Safety built in** | `readOnlyHint`/`destructiveHint` annotations | Hard confirmation gates + previews                           | None — the caller gates                                                | Scoped keys only                           |
| **Coverage today**  | Day-to-day operations + Jason AI SDR         | Planning, launch, triage, analysis, guardrails, durable work | Auth and identity, skill installs, plus every endpoint via `reply api` | Full surface                               |
| **Start**           | [Connect](/mcp/connect)                      | [Install](/skills/overview#install)                          | [Install](/cli/overview#install)                                       | [Get a key](/api-reference/authentication) |

## Decision rules

* **Your agent runs in an MCP client** (Claude, Cursor, Make, n8n) → use **[MCP](/mcp/overview)**.
  Richest interactive surface, and the only one with per-tool safety annotations the client can
  gate on automatically.
* **Your agent has a shell** (Claude Code, Codex, CI pipelines) → use the **[CLI](/cli/overview)**,
  and add **[Skills](/skills/overview)** so it follows proven procedure — previews,
  verification steps, and confirmation gates included.
* **You're building a production integration** — webhooks, bulk imports, background jobs, or
  anything not exposed as a tool/command → use the **[REST API](/api-reference/introduction)**.
* **You want Jason (AI SDR) programmable** — approval queues, knowledge bases, offers, playbooks →
  **[MCP](/mcp/overview)** has the richest Jason toolset today; the REST
  API covers the knowledge/offer/playbook layer.

## They compose

The layers are designed to be combined, not chosen once:

* **Skills drive an execution surface** — the skill decides *what* to do; the CLI, MCP, or the API
  does it. `reply-adapter` is the pack that carries that execution layer, so it is the one to install
  when you want your agent operating Reply.io.
* An agent can follow a **skill's procedure using MCP tools** instead of CLI commands — the
  vendor-neutral skills describe platform operations, not surface-specific calls.
* **MCP for the interactive path, REST for the exhaustive one** — drop to REST for bulk
  imports/updates, report exports, and webhook administration that aren't exposed as tools.
* A **CLI cron job** can do the weekly hygiene sweep while an **MCP agent** handles the
  conversational work in the same workspace.

## Consistent everywhere

Whatever surface you choose, these hold:

* **One key, scoped** — `domain:verb` scopes (`contacts:read`, `sequences:operate`, …) behave
  identically on every surface. See [Authentication](/api-reference/authentication).
* **One object model** — contacts, lists, sequences, threads, tasks, and Jason objects carry the
  same IDs and semantics everywhere.
* **One rate-limit budget** — see [Rate limits](/api-reference/rate-limits).
* **Same safety expectations** — see [Agent safety rules](/agents/safety).
