Skip to main content
A failed tool call returns an error the agent can read, in words that say what went wrong and what to do next. Every error on this page means nothing was changed, unless the error says otherwise.

Not found covers both cases

A tool reads an event only if your own access admits it and the organization you selected was granted it. An event outside that scope returns the same not-found error as one that does not exist. This is on purpose, so you never learn whether another organization’s event exists. Don’t treat the error as proof that an id is invalid. It means only that you cannot read the event. A tool returning fewer events than you expect is usually access, not a bug. Enterprise events are private to their creator and their approvers by default.

Refused confirms

confirm_change refuses in these cases. Each message is exact. A refused write or confirm means nothing was written, so it is always safe to correct the call and retry without first checking what partially landed. The one exception is “Record unreachable”. Confirm again with the same token, which never runs the change twice.

Every call is recorded

Nowadays records every tool call: who made it, from which MCP client, in which organization, with which arguments, and how it ended, including refused and invalid calls. An approval token is never recorded.

Time limits

Each tool that works on sourcing, venues, or proposals has its own time limit, from 5 to 30 seconds. A read or a prepare that runs longer returns the timed-out error, and nothing was prepared or changed. Retry it once. If it times out again, narrow the call, for example with fewer cities or a venue filter. shortlist_proposal saves at once, so a save can still land after its time limit. It returns the “may have saved” error instead. Read the event back with get_proposals before you call it again.

Rate limits

Requests are rate limited per user, across every MCP client you have connected. Limits are approximate and enforced on a best-effort basis. Exceeding the limit returns a rate-limit error. Back off and retry, increase the delay on repeated failures, and spread bulk work out rather than firing many calls at once. If you have a legitimate need for a higher limit, contact us. We can raise limits on request.