Financial Circuit Breaker MCP Server — stops AI agents from burning your budget
AgentFuse has clear, well-structured tool definitions with complete input schemas and descriptions. All 4 tools follow verb_noun naming (create_budget_session, track_tokens, check_budget, get_session_report). Descriptions are substantive (100-200 chars) and explain WHAT the tool does and WHEN to use it. Parameters have types and descriptions. However, output schemas are not formally documented, responses are inferred from code inspection. Error handling is present but lacks recovery guidance (e.g., 'Session not found' doesn't suggest next steps). No tool annotations (readOnlyHint, destructiveHint, idempotentHint). The domain is narrow and well-executed, but lacks production-grade polish.
Get spend status for a session. Returns remaining budget, used %, and a HALT signal if over limit.
Open a new budget envelope for an agent run. Call this at the start of any agentic task. Returns session_id you use in subsequent calls.
Full breakdown of a session: total cost, token counts, all calls, top 5 expensive calls, and status.
Record token usage for one API call. Returns current spend, remaining budget, and a HALT signal (halt=true) if the budget is exceeded. STOP IMMEDIATELY when halt=true.
Output schemas not formally documented. Responses are inferred from code; LLMs cannot see expected return fields, types, or structure before calling.
Error messages lack recovery guidance. 'Session not found' should suggest 'Create it first with create_budget_session()', currently does this in code but not consistently across all error paths.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). check_budget and get_session_report are read-only; track_tokens and create_budget_session are destructive/stateful. Annotations would help LLMs reason about side effects.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
Parameter descriptions lack format/constraint details. 'budget_usd' should state 'Must be > 0, in USD cents or dollars (clarify unit)'. 'model' should list valid values or link to pricing table.
No idempotency guarantees documented. If track_tokens is called twice with identical input, does it double-count? Agents retry on ambiguous failures, non-idempotent tools risk duplicate charges.