MCP server

Limits

Rate limits, how much a single result can hold, and how to tell when something was left out.

Rate limit

Each credential can make 120 requests per minute to the MCP endpoint. Every MCP message is one request, so connecting (initialize), listing tools and each tool call all count.

Past the limit, the server answers with HTTP 429 and a JSON-RPC error:

JSON
{
  "jsonrpc": "2.0",
  "error": { "code": -32029, "message": "Rate limit exceeded. Try again shortly." }
}

Responses carry the standard RateLimit and RateLimit-Policy headers, so a client can see how much of the window is left. The limit belongs to the credential, not to the network address, so your connections are never slowed down by other people's.

The exception is a request that arrives without a credential, which has no bucket of its own and is counted against the network address instead. A client retrying its way through the sign-in flow can reach the limit that way before it holds a token.

Rows per result

Tools that return lists return 25 rows unless asked for more. Every list tool accepts a limit argument from 1 to 100.

When a result was cut short, its _meta block says so in words the assistant can act on:

JSON
{
  "data": ["…"],
  "_meta": {
    "message_text": "redacted",
    "returned": 25,
    "available": 40,
    "truncated": 15,
    "note": "15 more row(s) not shown. Raise \"limit\" (max 100) or narrow the filters."
  }
}
FieldMeaning
returnedRows included in data
availableRows the query produced before the cap was applied
truncatedRows left out. Absent when nothing was
noteWhat to do about it

Filtering beats paging. To count orders nobody has confirmed yet, ask list_orders for status: new rather than fetching every order and counting them in the conversation.

Size per result

A single result is capped at 100 KB. A result over the cap is withheld rather than cut mid-record, and the assistant is told why:

JSON
{
  "data": null,
  "_meta": {
    "error": "RESULT_TOO_LARGE",
    "bytes": 184213,
    "note": "Result exceeded 100000 bytes and was withheld. Narrow the request: fewer rows, a shorter date range, or a single record by id."
  }
}

This usually happens with very large records, such as a long flow definition, rather than with many rows.

Empty fields

Fields that are null or empty are left out of results. A record with forty columns of which thirty are empty arrives with ten, which saves your assistant reading noise.

Other limits

LimitValue
Connector tokens per person10 at a time
How fresh results areRead live on every call, never cached
How quickly permission changes applyWithin seconds