Skip to content
Get MCP AdsGet MCP Ads, home
Start free

Limits and errors

What each plan allows in accounts, seats and calls, when the allowance period starts, what counts against it, and what every refusal message means.

Plans are priced on how much you connect, not on how much you ask. Every paid plan has unlimited tool calls; what grows with the plan is the number of ad accounts you can expose and the number of people who can reach them.

Plans

PlanAd accountsSeatsTool callsWrites
Free11200 per periodNo
Pro55UnlimitedYes
Team1515UnlimitedYes
Agency5050UnlimitedYes

When the period startsLink to this section

The allowance runs from the day you signed up to the same day the following month, not from the first of the calendar month. Sign up on the 28th and your period ends on the 28th. Where a month is too short, as with the 31st in February, it ends on the last day of that month, and the original day comes back the month after.

What countsLink to this section

  • On the Free plan only. Paid plans do not count calls at all.
  • One tool call is one unit, whether it reads one row or ten thousand.
  • A call routed through run_tool counts once, not twice.
  • list_accounts, search_tools and describe_tool do not count.
  • A refused call does not count. Being over quota, or asking for an account you did not tick, costs nothing.

Refusal codesLink to this section

Every refusal carries two content blocks: a sentence for the person reading the chat, and a JSON block for the agent, with a stable code, whether retrying can help, whether a human is needed, and the next action. The codes are a public contract: they are deprecated, never renamed.

CodeRetry helpsHuman neededMeaning
UNKNOWN_TOOLNoNoThe name matches nothing. search_tools finds the right one.
UNKNOWN_SKILLNoNoThe slug matches nothing. search_skills finds the right one.
ACCOUNT_NOT_ALLOWEDNoNoThe account was not ticked. list_accounts shows what is.
NO_ACCOUNT_SELECTEDNoYesThe platform is connected but nothing is exposed yet.
PLATFORM_NOT_CONNECTEDNoYesNo active connection for that platform.
WRITE_NOT_ON_PLANNoYesThe tool exists; the plan has no writes.
CALL_ALLOWANCE_REACHEDNoYesThe Free plan allowance is spent for this period.
RATE_LIMITEDYesNoA platform ceiling would be crossed; the message names the delay.
TOOL_NOT_ON_ENDPOINTYesNoDedicated URL for another source; the message names the right one.
DATABASE_UNAVAILABLEYesNoTransient. Nothing was changed on any ad account.
PLATFORM_ERRORYesNoThe advertising platform itself refused; its message is quoted.
BAD_ARGUMENTSNoNoThe call is malformed; the message names the missing piece.

Reading a refusalLink to this section

A refusal says which check failed and what would fix it. It is meant to be actionable by the agent without asking a human, except where only a human can act.

RefusalWhat it meansWhat to do
not among the ... accounts allowedThe account was not ticked in the dashboard.Call list_accounts, use one of those. Only the account owner can add more.
No ... account has been selectedThe platform is connected but nothing is exposed.Hand back to the account owner.
Write refused on the current planThe tool exists but the plan has no writes.Read tools still work. Upgrading is a human decision.
Call allowance reachedThe Free plan quota is spent.It resets on the sign-up day of the month. Paid plans have no call limit.
Tool not available on this endpointA dedicated per-source URL was used for another platform's tool.The message names the URL that serves it.
Esc

Type to search