Guides

Limits and context

The catalogue is large. Choose scopes so the client lists only the tools it needs, and ask for small pages.

The MCP server runs with the key's quota: 120 calls per minute per key across all tools, plus a separate 30 per minute shared by the availability tools. A rate_limited result carries retryAfter (seconds) and the detail “Rate limit exceeded: retry in N seconds”. Every result also reports the quota in meta.rateLimit (limit, remaining, reset), because the RateLimit-* headers do not travel over MCP.

tools/list is public: it lists all 170 tools, about 1.00 MB of definitions. With a key, it lists only the tools that key can call, so the scopes of the key set how much of your client's context the tools take. With OAuth, clients with deferred authentication list the whole catalogue before sign-in and the server does not announce changes (tools.listChanged is false); how each client behaves after you consent is in its Connect page.

A preset is a short list of scopes that keeps a client under its tool limit. None includes ai:ask. With a key, create it with exactly these scopes. With OAuth, a preset only works if the administrator checks those scopes by hand in the consent screen.

PresetScopesToolsDefinitions (characters)
Availability and schedule (read)availability:read, schedule:read, planner:read, staff:read, vehicles:read, items:read, spaces:read, kits:read, account:read20107,420
CRM (read)contacts:read, crm:read, quotes:read, projects:read, tags:read, notes:read, users:read, account:read1890,993
Rental operationsorders:read, orders:write, availability:read, items:read, contacts:read, account:read21158,716
Finance (read)invoices:read, treasury:read, contracts:read, supplier-invoices:read, purchase-orders:read, account:read20113,977
Every read scope3176422,451
Every scope591701,049,688
  • Ask for limit 20 and add a filter. The default page is 50 and the maximum 500; a list of 50 contacts or orders can pass a client's output threshold.
  • Pass pagination.nextCursor back as cursor, with the same limit and sort; the cursor is bound to both.
  • Set includeTotal only when you need the total.
  • In list tools, date filters go in dateFilters as { field: { gte, lte, gt, lt, on } }; a bare day is read in the account's business time zone.
ClientToolsOutput
Claude (web, desktop)No limit documentedResults cut at about 150,000 characters; 240 s per call
Claude CodeNo fixed cap; tool search defers definitionsWarns above 10,000 tokens, cuts at 25,000; text over 50,000 characters goes to a file
CursorAbout 40 in total (forum threads, not documentation)Not documented
VS Code128 per request; virtual tools aboveNot documented
Windsurf100 in totalNot documented
CodexNot documentedoutput_token_limit per tool; 60 s per call by default

Each client's page has the source and the date. Claude Code also cuts every tool description at 2,048 characters; the longest in this catalogue has 1,718 characters.

filmo_ai_ask can take tens of seconds when a question chains several queries. Set the time a client waits above that where it lets you (Codex's tool_timeout_sec is 60 by default; Claude waits 240 seconds). If the result has needsMoreContext, rephrase with more detail instead of retrying the same question.

  • Guides

    Safe writes

    An assistant that can write can also write the wrong thing. Decide which tools need a person, retry without duplicating, and know what a write sets in motion.

  • Guides

    Troubleshooting

    Most problems are the URL, the scopes or a client that keeps an old list of tools.

Was this page helpful?