Hard dollar, token, call and time caps shared by every sub-agent in one agent run.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
See spend vs limits, remaining budget, whether the run is stopped and why, and the last 20 ledger events. Set close=true when the run finishes.
The budget handle from open_budget (looks like bg_<id>.<secret>). Pass it to every sub-agent so they all spend from the same budget.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
See spend vs limits, remaining budget, whether the run is stopped and why, and the last 20 ledger events. Set close=true when the run finishes.
| Argument | Type | Description |
|---|---|---|
| close | boolean | |
| handle* | string | The budget handle from open_budget (looks like bg_<id>.<secret>). Pass it to every sub-agent so they all spend from the same budget. |
{
"type": "object",
"required": [
"handle"
],
"properties": {
"close": {
"type": "boolean"
},
"handle": {
"type": "string",
"description": "The budget handle from open_budget (looks like bg_<id>.<secret>). Pass it to every sub-agent so they all spend from the same budget."
}
}
}Open a hard budget for one agent run before it starts: max dollars, tokens, calls and/or wall-clock seconds. Returns a handle. Give the handle to every sub-agent; they all draw from the same ledger, so one runaway loop or fork cannot exceed the run cap.
| Argument | Type | Description |
|---|---|---|
| mode | string | shadow = watch only: track spend and flag where the cap WOULD have stopped the run, never block (free). enforce = return allowed=false at the cap (Pro). Default: enforce on Pro, shadow on free. |
| label | string | What this run is for, e.g. "nightly code cleanup". |
| max_usd | number | Dollar cap for the whole run (your own estimates per call). |
| max_calls | integer | Cap on model/tool calls for the whole run. |
| ttl_hours | integer | Handle lifetime (free max 24, Pro max 168). Default 24. |
| max_tokens | integer | Token cap (input + output) for the whole run. |
| max_seconds | integer | Wall-clock cap in seconds from now. |
{
"type": "object",
"properties": {
"mode": {
"enum": [
"shadow",
"enforce"
],
"type": "string",
"description": "shadow = watch only: track spend and flag where the cap WOULD have stopped the run, never block (free). enforce = return allowed=false at the cap (Pro). Default: enforce on Pro, shadow on free."
},
"label": {
"type": "string",
"description": "What this run is for, e.g. \"nightly code cleanup\"."
},
"max_usd": {
"type": "number",
"description": "Dollar cap for the whole run (your own estimates per call)."
},
"max_calls": {
"type": "integer",
"description": "Cap on model/tool calls for the whole run."
},
"ttl_hours": {
"type": "integer",
"description": "Handle lifetime (free max 24, Pro max 168). Default 24."
},
"max_tokens": {
"type": "integer",
"description": "Token cap (input + output) for the whole run."
},
"max_seconds": {
"type": "integer",
"description": "Wall-clock cap in seconds from now."
}
}
}After a call, report the actual usage minus what you reserved (positive if it cost more, negative to give back an overestimate). Keeps the ledger honest without blocking.
| Argument | Type | Description |
|---|---|---|
| usd | number | |
| note | string | |
| handle* | string | The budget handle from open_budget (looks like bg_<id>.<secret>). Pass it to every sub-agent so they all spend from the same budget. |
| tokens | integer |
{
"type": "object",
"required": [
"handle"
],
"properties": {
"usd": {
"type": "number"
},
"note": {
"type": "string"
},
"handle": {
"type": "string",
"description": "The budget handle from open_budget (looks like bg_<id>.<secret>). Pass it to every sub-agent so they all spend from the same budget."
},
"tokens": {
"type": "integer"
}
}
}Call BEFORE each model call, tool call or sub-agent spawn with your estimate. Returns allowed=true and deducts it, or allowed=false with the limit that tripped. When allowed is false, stop, do not retry, and return your partial result to the user. Atomic, so parallel sub-agents cannot both slip under the cap.
| Argument | Type | Description |
|---|---|---|
| usd | number | Estimated cost of the next call in USD. |
| note | string | Short note, e.g. "web_search #12". |
| calls | integer | Number of calls to reserve (default 1). |
| handle* | string | The budget handle from open_budget (looks like bg_<id>.<secret>). Pass it to every sub-agent so they all spend from the same budget. |
| tokens | integer | Estimated tokens of the next call. |
{
"type": "object",
"required": [
"handle"
],
"properties": {
"usd": {
"type": "number",
"description": "Estimated cost of the next call in USD."
},
"note": {
"type": "string",
"description": "Short note, e.g. \"web_search #12\"."
},
"calls": {
"type": "integer",
"description": "Number of calls to reserve (default 1)."
},
"handle": {
"type": "string",
"description": "The budget handle from open_budget (looks like bg_<id>.<secret>). Pass it to every sub-agent so they all spend from the same budget."
},
"tokens": {
"type": "integer",
"description": "Estimated tokens of the next call."
}
}
}Show today's usage for your key or IP and the $49/month All Access upgrade link (cloudforbots.com/offer). Free tier: 500 calls/day. Not metered.
No arguments.
{
"type": "object",
"properties": {}
}Draft a plain-English report of the last 7 days for your key (or IP): runs, spend, runs that went over their cap, and dollars spent after a cap would have stopped them. Read-only; sends nothing. Show it to your user.
No arguments.
{
"type": "object",
"properties": {}
}