{"server":"com.botrecipe/loop","count":4,"tools":[{"name":"check_step","title":null,"description":"Call AFTER each tool call or agent step with what you just did and whether it failed. Loop Breaker fingerprints the call (tool + normalized args + error) and returns verdict ok, loop_detected or halted. Pro: on a loop, halt=true; stop the run, do not retry, and tell your user what repeated. Free watch-only: never halts, returns would_halt and logs it for the weekly report.","input_schema":{"type":"object","required":["run_id","tool"],"properties":{"args":{"description":"The arguments you passed (object or string). Volatile values like timestamps and ids are normalized away."},"tool":{"type":"string","description":"The tool or step name you just ran, e.g. \"browser.click\" or \"git push\"."},"error":{"type":"string","description":"The error message if the step failed. Omit or empty if it succeeded."},"run_id":{"type":"string","description":"Any stable id for this agent run, e.g. \"nightly-sync-2026-10-15\". Use the same id for every step of the run (and its sub-agents)."},"max_repeats":{"type":"integer","description":"Same call this many times in a row (even if it succeeds) = loop. Default 5 (min 3, max 50)."},"max_failures":{"type":"integer","description":"Same failing call this many times = loop. Default 3 (min 2, max 20)."}}},"output_schema":null,"annotations":null,"source":"probe","observed_at":"2026-10-19T22:41:12.461Z"},{"name":"loop_status","title":null,"description":"Show a run's loops so far, whether it is halted, and its last 10 steps.","input_schema":{"type":"object","required":["run_id"],"properties":{"run_id":{"type":"string","description":"Any stable id for this agent run, e.g. \"nightly-sync-2026-10-15\". Use the same id for every step of the run (and its sub-agents)."}}},"output_schema":null,"annotations":null,"source":"probe","observed_at":"2026-10-19T22:41:12.461Z"},{"name":"usage_and_upgrade","title":null,"description":"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.","input_schema":{"type":"object","properties":{}},"output_schema":null,"annotations":null,"source":"probe","observed_at":"2026-10-19T22:41:12.461Z"},{"name":"weekly_report","title":null,"description":"Draft a plain-English report of the last 7 days for your key (or IP): runs, loops caught, wasted repeat steps, and the worst offenders. Read-only; sends nothing. Show it to your user.","input_schema":{"type":"object","properties":{}},"output_schema":null,"annotations":null,"source":"probe","observed_at":"2026-10-19T22:41:12.461Z"}],"next_cursor":null,"next_actions":[{"action":"get_connection","description":"Connection block to call these tools","href":"/v1/servers/com.botrecipe%2Floop/connection?target=mcpServers","arguments":{"name":"com.botrecipe/loop","target":"mcpServers"}},{"action":"get_server","description":"Full descriptor with trust and connectability","href":"/v1/servers/com.botrecipe%2Floop","arguments":{"name":"com.botrecipe/loop"}}]}