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

# Available Tools

> All 50 MCP tools, grouped by entity, with their read/write/cost classification

Every tool has a **class** — `READ`, `WRITE`, or `COST_BEARING` — that determines both what scope it needs and whether it's registered at all in a given deployment (see [Configuration reference](/mcp/setup#configuration-reference)). A disabled class isn't just blocked at call time — the tool never appears in the tool list, so a client can't discover it either.

| Class          | Scope required       | Notes                                                                                                                                            |
| -------------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| `READ`         | CRM read (or manage) | Always registered — there's no deployment flag that disables reads.                                                                              |
| `WRITE`        | CRM manage           | Registered unless `MCP_ALLOW_WRITE_TOOLS=false`.                                                                                                 |
| `COST_BEARING` | CRM manage           | Calls a paid external provider (Customer Intelligence). Registered only if **both** `MCP_ALLOW_WRITE_TOOLS` and `MCP_ALLOW_COST_TOOLS` are true. |

Two different things get called "idempotent" here, and they apply to **disjoint** sets of tools — don't read one marker as the other:

* **(idempotency\_key)** — the tool accepts an optional `idempotency_key` argument; retrying the same call with the same key returns the original result instead of repeating the effect. This is a best-effort, in-process safeguard against an agent retrying a call within one conversation — not a distributed guarantee (see [Idempotency](/mcp/safety-and-errors#idempotency)). Exactly five tools are in this set: `create_account`, `create_contact`, `create_deal`, `log_activity`, `cx_start_run`.
* **(idempotent)** — the tool is *naturally* idempotent: repeating it converges on the same state rather than stacking up new records, which is exactly what the MCP `idempotentHint` annotation advertises to your client. These tools do **not** accept an `idempotency_key`, and passing one anyway is silently dropped (the argument models ignore unknown fields) — so a retry genuinely re-runs the write and re-fires its side effects: stage history, notifications, follow-up workflows. If a retry must not double-fire those, guard it on your side.

Tools marked **(destructive)** perform an irreversible hard delete — everything else that "removes" a record does a reversible soft-delete/archive instead.

## Accounts

| Tool              | Class                    | Description                                                                                                                          |
| ----------------- | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ |
| `list_accounts`   | READ                     | List/search company accounts, with exact total count and cursor paging.                                                              |
| `get_account`     | READ                     | Fetch one account by id or name; `include` can attach its summary, contacts, deals, or activities.                                   |
| `create_account`  | WRITE (idempotency\_key) | Create a company account.                                                                                                            |
| `update_account`  | WRITE (idempotent)       | Patch allowlisted fields; supports a `preview` mode that validates without writing.                                                  |
| `archive_account` | WRITE (idempotent)       | Soft-retire an account (sets `lifecycle_stage: churned`) — there's no hard delete. Supports `undo`, which restores it to `prospect`. |

## Contacts

| Tool                 | Class                    | Description                                                                                |
| -------------------- | ------------------------ | ------------------------------------------------------------------------------------------ |
| `list_contacts`      | READ                     | List/search people; filter by `stage` to get, for example, everything in the "leads" view. |
| `get_contact`        | READ                     | Fetch one contact by id, name, or email; `include` can attach deals or activities.         |
| `create_contact`     | WRITE (idempotency\_key) | Create a person, optionally setting the initial funnel `stage`.                            |
| `update_contact`     | WRITE (idempotent)       | Patch fields, including advancing or changing `stage`.                                     |
| `disqualify_contact` | WRITE (idempotent)       | Soft-retire a contact (`disqualified_at`). Supports `undo`, which requalifies it.          |

## Deals

| Tool                  | Class                    | Description                                                                                                                                    |
| --------------------- | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `list_deals`          | READ                     | List/search opportunities (archived deals excluded).                                                                                           |
| `get_deal`            | READ                     | Fetch one deal with its account, stage, and buying committee.                                                                                  |
| `list_deal_stages`    | READ                     | The organization's pipeline stages, with win/loss flags.                                                                                       |
| `create_deal`         | WRITE (idempotency\_key) | Create an opportunity.                                                                                                                         |
| `update_deal`         | WRITE (idempotent)       | Patch fields — runs the same side effects (notifications, analytics) as any other update path.                                                 |
| `advance_deal_stage`  | WRITE (idempotent)       | Move a deal to a named or id'd stage; logs a note and fires the same stage-history/notification/follow-up pipeline a manual stage change does. |
| `archive_deal`        | WRITE (idempotent)       | Soft-archive a deal. Supports `undo`.                                                                                                          |
| `add_deal_contact`    | WRITE                    | Add a contact to a deal's buying committee with a role (e.g. "decision maker").                                                                |
| `remove_deal_contact` | WRITE (idempotent)       | Remove a contact from a deal's buying committee.                                                                                               |

## Activities

| Tool              | Class                    | Description                                                                                                                 |
| ----------------- | ------------------------ | --------------------------------------------------------------------------------------------------------------------------- |
| `list_activities` | READ                     | List activities — email, call, meeting, task, note, or document.                                                            |
| `get_activity`    | READ                     | Fetch one activity in full, including body text or meeting transcript.                                                      |
| `log_activity`    | WRITE (idempotency\_key) | Record an activity against a deal, account, or contact.                                                                     |
| `update_activity` | WRITE                    | Edit content or entity links — only activities created directly (not synced from a calendar or call recorder) are editable. |
| `delete_activity` | WRITE (destructive)      | The **only true hard delete** exposed over MCP. Refuses to delete system-generated or synced activities.                    |

## Customer Intelligence — runs

| Tool            | Class                            | Description                                                                                                                                                                     |
| --------------- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `cx_list_runs`  | READ                             | List Customer Intelligence runs. Spend figures are redacted unless the caller is a superadmin.                                                                                  |
| `cx_get_run`    | READ                             | Fetch one run's detail. Spend figures redacted the same way.                                                                                                                    |
| `cx_start_run`  | COST\_BEARING (idempotency\_key) | Start a new research run (Leads / ICP-match / Lookalike mode) — spends real provider money. Seed documents (PDF/CSV) can't be uploaded over MCP; use the web app for that step. |
| `cx_rename_run` | WRITE (idempotent)               | Rename a run.                                                                                                                                                                   |
| `cx_cancel_run` | WRITE                            | Stop a run in progress.                                                                                                                                                         |

## Customer Intelligence — gates

A "gate" is a human-in-the-loop checkpoint a run pauses at until answered.

| Tool                   | Class | Description                                                                                       |
| ---------------------- | ----- | ------------------------------------------------------------------------------------------------- |
| `cx_submit_resolution` | WRITE | Answer the seed-resolution gate (confirming which company a seed name/domain actually refers to). |
| `cx_submit_shortlist`  | WRITE | Answer the shortlist gate (which discovered companies to proceed with).                           |

## Customer Intelligence — results & deliverables

A "result" is one target company within a run; a "deliverable" is a generated artifact about it (a research report, an outreach email draft, a stakeholder brief, an ROI model, etc.).

| Tool                         | Class                  | Description                                                                                                                                                       |
| ---------------------------- | ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `cx_get_result`              | READ                   | One target's research, scoring, stakeholders, and deliverable status.                                                                                             |
| `cx_get_result_metrics`      | READ, superadmin-only  | Per-target LLM cost/token telemetry — refuses non-superadmins outright rather than redacting.                                                                     |
| `cx_get_report_content`      | READ                   | The editable narrative content of a target's CX report.                                                                                                           |
| `cx_get_deliverable_content` | READ                   | The current structured content of a single-target deliverable.                                                                                                    |
| `cx_get_deliverable_file`    | READ                   | A short-lived download URL for a rendered deliverable file.                                                                                                       |
| `cx_edit_deliverable`        | WRITE                  | Replace a single-target deliverable's content; queued for background processing.                                                                                  |
| `cx_preview_deliverable`     | WRITE                  | Render a throwaway preview of a draft edit without saving it.                                                                                                     |
| `cx_edit_cx_report`          | WRITE                  | Hand-edit a shared CX report's narrative (some fields are superadmin-only — see [Superadmin-gated tools](/mcp/safety-and-errors#superadmin-gated-tools)); queued. |
| `cx_preview_cx_report`       | WRITE                  | Throwaway preview of a CX report edit, with the same field-level tiering as the edit tool.                                                                        |
| `cx_restore_cx_report`       | WRITE, superadmin-only | Restore a CX report to an earlier archived revision.                                                                                                              |

## Customer Intelligence — regeneration

These all call out to paid providers.

| Tool                     | Class                  | Description                                                                                                          |
| ------------------------ | ---------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `cx_revise_deliverables` | COST\_BEARING          | Rebuild named deliverable types, optionally steered by feedback text.                                                |
| `cx_build_report`        | COST\_BEARING          | Build the full deliverable set for a target that's already been researched but not yet shortlisted.                  |
| `cx_regenerate_demo`     | COST\_BEARING          | Re-provision the target's live demo agent.                                                                           |
| `cx_set_manual_demo`     | WRITE, superadmin-only | Attach an operator-supplied demo URL/phone number — a manual workaround for sites that block the automated demo bot. |

## Customer Intelligence — exports & config

| Tool               | Class              | Description                                                           |
| ------------------ | ------------------ | --------------------------------------------------------------------- |
| `cx_list_exports`  | READ               | List a run's export jobs.                                             |
| `cx_create_export` | WRITE              | Export a run's targets/contacts as CSV or XLSX.                       |
| `cx_get_config`    | READ               | The organization's Customer Intelligence defaults (positioning, ICP). |
| `cx_update_config` | WRITE (idempotent) | Replace the organization's Customer Intelligence defaults.            |

## Jobs

| Tool      | Class | Description                                                                                                                                                                                     |
| --------- | ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `get_job` | READ  | Poll a long-running operation started by `cx_start_run` or a regeneration/edit tool. Normalizes status across job types and surfaces an `awaiting_input` state when a run has paused at a gate. |

<Note>Every Customer Intelligence "spend redaction" mentioned above (and the superadmin-only tools) is based on the caller's email domain matching the platform operator's domain — it isn't a scope, and no combination of `ak_`/`pat_` credential scopes can grant it. See [Superadmin-gated tools](/mcp/safety-and-errors#superadmin-gated-tools).</Note>
