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

# MCP tools and limits

> What a connected AI assistant can read, and the limits that apply.

A connected assistant gets five tools. It picks the right one from your question, so you don't need to name them.

| Tool | What the assistant gets | Input |
| - | - | - |
| `campaigns_list` | Your campaigns, 50 at a time, with `total` and `hasMore` for paging. | `page` (optional), starting at `0` |
| `campaigns_get` | One campaign in full, including its settings. Integration credentials, such as a GoHighLevel API key or a Slack or Discord webhook address, are hidden. | `campaignId` |
| `campaigns_get_analytics` | A campaign's numbers: leads, launches, messages sent and received, failed sends, conversions, replies, average reply times and opt-outs. | `campaignId` |
| `campaigns_export_conversations` | The campaign's conversations as plain text: each lead's name, phone number and status, then their messages with times. | `campaignId` |
| `review_list` | Items waiting for a person to look at, oldest first, 50 at a time. For example, a voice note that couldn't be transcribed, or a message from a number that doesn't match a lead. | `page` (optional), starting at `0` |

Campaign ids come from `campaigns_list`. An id that isn't in your account returns an empty result rather than an error.

Reclosed may add tools over time. Assistants fetch the current list each time they connect, so there's nothing for you to update.

## What it can't do

A connection made with an API key can only read. It can't send messages, launch, pause or change campaigns, upload leads, or delete anything.

A key reads only the account that created it.

## Limits

* **120 requests a minute per Reclosed account.** All of an account's assistant connections share it, and it's separate from the API's limits. Each tool call is one request, and connecting uses a few. Over the limit, the server answers `429` with a `Retry-After` header: the number of seconds to wait. Most assistants show this as an error. Wait a minute and ask again.
* **Large campaigns.** `campaigns_get_analytics` won't read a campaign with more than 20,000 leads, and `campaigns_export_conversations` won't read one with more than 20,000 leads or 20,000 messages. Both fail with `result_too_large`. If you need data from a campaign that size, contact Reclosed.
* **Long results.** A result longer than 400,000 characters, usually a long conversation export, is cut off at that point, with a note at the end saying so. Assistants have their own limits too, and may read less.

## Errors

When a tool call fails, the assistant gets a short message that usually starts with one of these codes:

| Code | Meaning | What to do |
| - | - | - |
| `result_too_large` | The campaign is over one of the limits above. | Contact Reclosed if you need that campaign's data. |
| `unavailable` | A temporary problem on Reclosed's side. | Try again shortly. |
| `internal_error` | Something unexpected failed. The message includes a `traceId`. | If it keeps happening, send the `traceId` to Reclosed. |

A problem with the key stops the request before any tool runs: `401` for a missing, mistyped or revoked key, or `503` if Reclosed couldn't check the key at that moment. See [Check it works](/ai-assistants#check-it-works).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.