Report a run you finished
report_agent_runCall once when a run ends: its start and end time (ISO 8601), whether it completed or failed, how it ended (outcome: result -- it ended with a usable result; no_result -- it ended without one, or inconclusive; failed), the model, and the tokens it used (input, output, cache writes, cache reads; fast-mode calls separately in fast_usage; if you cannot see your token counts, estimate them -- the characters of everything you read and wrote, divided by 4 -- and set usage_estimated: true beside usage (not inside it); never send zeros for them; always say the model you ran on, exactly as your host names it: it prices the tokens, and Rithmo checks it against the models your owner set and alerts them to a different one), and optionally the same tokens by model (usage_by_model: up to 20 { model, speed: standard | fast, long_context, usage }) so each model is priced at its own rate. run_ref is your own id for the run; reporting the same run again records nothing new. Requires the mcp:report scope. Rithmo prices the run itself; the run shows on the agent's page as reported by the agent. Optionally say what the run was asked (task, a few words), how it ended (result, a few words) and what it read (read: up to 50 { kind: file | url | tool, ref }) and the work behind it (work: up to 10 { system, kind: repo | branch | commit | pull_request | ticket, label, url (https) }) and where its tokens went (breakdown: { kind: instructions | research | editing | testing | sharing | tools | delegating | thinking | other, usage }, the same tokens split by kind of work, adding up to usage plus fast_usage for every token type; one that does not is left out) and where you left your result for a person to see (delivered_to: { where, in a few words, e.g. "ChatGPT chat" or "Slack #marketing"; url (https) of it when you have one }), which the agent's page shows so its owner knows where to look. These are shown as your own account of the run; they grant nothing. Always say how many actions the run took that changed or sent anything in any system (actions_taken; 0 when none): Rithmo compares it with the checks you made, and a run that acted without checking is blocked until a person reviews it.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"run_ref": "<run_ref>",
"ended_at": "<ended_at>",
"status": "<status>"
},
"name": "report_agent_run"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| read | No | ||
| task | No | ||
| work | No | ||
| model | No | Text: the model you ran on, exactly as your host names it. | |
| usage | No | ||
| result | No | ||
| status | Yes | ||
| outcome | No | ||
| run_ref | Yes | ||
| ended_at | Yes | ||
| agent_key | No | ||
| breakdown | No | ||
| fast_usage | No | ||
| started_at | No | ||
| delivered_to | No | ||
| actions_taken | No | ||
| usage_by_model | No | ||
| usage_estimated | No |