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

# Rate limits

> How many MCP requests you can make, and how write tools count against stricter limits.

## What is this?

MCP requests are limited per API user, using the same tiers as the Workspace API. Every request counts against the **read** limit; a tool call that **changes** something also counts against a stricter limit for that kind of action.

## What can I do here?

* Know how many requests an assistant can make
* See which tools use the stricter limits
* Handle a `429` correctly

## How to use it

### Workspace MCP

| Counts against | Limit | When |
| - | - | - |
| **Read** | 120 requests per minute | Every MCP request |
| **Write** | 30 requests per minute | Any Write tool call (for example `update_contact`, `create_automation`) |
| **Messaging** | 20 requests per minute | `send_template`, `create_campaign`, and `test_ai_agent` (it runs the real agent and spends AI credits) |
| **Automation trigger** | 20 requests per minute | `trigger_automation` |
| **Authentication attempts** | 60 requests per minute per IP address | Every request, before the key is checked |

`apply_as_bulk` counts once per call, however many records it changes.

### Platform MCP

| Counts against | Limit | When |
| - | - | - |
| **Read** | 120 requests per minute | Every MCP request |
| **Platform admin write** | 20 requests per minute | Any Write tool call (reply, note, assign, update, create ticket) |
| **Authentication attempts** | 60 requests per minute per IP address | Every request |

### Handle a `429`

When you exceed a limit, the server answers `429` with a `Retry-After` header — the number of seconds to wait — and standard `RateLimit-*` headers on every response so you can see how much allowance is left. Wait, then retry. See [Rate limits](https://docs.xpressbot.org/api-reference/rate-limits.md) for the full behavior, which MCP shares.

## Troubleshooting / Technical Notes

* **An assistant stops mid-task with a rate-limit message.** It made too many calls in a minute. Wait a minute and ask it to continue.
* **Sends are slower than reads.** Messaging and automation-trigger tools have the strictest limits (20 per minute).
* **Limits are per API user.** Two keys of the same user share the allowance.

## Related docs

* [MCP introduction](https://docs.xpressbot.org/api-reference/mcp/introduction.md)
* [Errors](https://docs.xpressbot.org/api-reference/mcp/errors.md)
* [API rate limits](https://docs.xpressbot.org/api-reference/rate-limits.md)


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