{"serverId":"mcp-registry/io.github.jdhart81/agent-metering","tools":[{"name":"close_period","fixed":{"name":"close_period","description":"Freeze all open events into an immutable invoice (exactly-once).\n    The invoice amount is what agent-escrow-agent should settle.","inputSchema":{"type":"object","title":"close_periodArguments","required":["meter_id"],"properties":{"meter_id":{"type":"string","title":"Meter Id"}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":90,"tokensAfter":90},{"name":"create_meter","fixed":{"name":"create_meter","description":"Create a usage meter between a provider and a consumer agent.\n\n    unit: what is being counted (call, token, kwh, ...). Price is in minor\n    currency units (cents) per unit. Returns the meter_id.","inputSchema":{"type":"object","title":"create_meterArguments","required":["provider","consumer","unit","price_minor_per_unit"],"properties":{"unit":{"type":"string","title":"Unit"},"consumer":{"type":"string","title":"Consumer"},"currency":{"type":"string","title":"Currency","default":"USD"},"provider":{"type":"string","title":"Provider"},"sla_target":{"type":"number","title":"Sla Target","default":0.99},"price_minor_per_unit":{"type":"number","title":"Price Minor Per Unit"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":201,"tokensAfter":201},{"name":"describe_agent","fixed":{"name":"describe_agent","description":"Fleet-standard self-description.","inputSchema":{"type":"object","title":"describe_agentArguments","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":44,"tokensAfter":44},{"name":"list_events","fixed":{"name":"list_events","description":"Read usage events (paginated, read-only). Filter by meter, provider,\n    consumer_class (internal|external|unknown), channel, outcome (ok|error),\n    and ISO date range [since, until). Test-flagged events are excluded\n    unless include_test=true. Returns events + next_cursor.","inputSchema":{"type":"object","title":"list_eventsArguments","properties":{"limit":{"type":"integer","title":"Limit","default":100},"since":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Since","default":null},"until":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Until","default":null},"cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor","default":null},"channel":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Channel","default":null},"outcome":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Outcome","default":null},"meter_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Meter Id","default":null},"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider","default":null},"include_test":{"type":"boolean","title":"Include Test","default":false},"consumer_class":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Consumer Class","default":null}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":347,"tokensAfter":347},{"name":"list_meters","fixed":{"name":"list_meters","description":"List all meters with event/invoice counts.","inputSchema":{"type":"object","title":"list_metersArguments","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":45,"tokensAfter":45}],"toolsChanged":5,"tokensSaved":0,"todo":[{"tool":"close_period","params":["meter_id"]},{"tool":"create_meter","params":["unit","consumer","currency","provider","sla_target","price_minor_per_unit"]},{"tool":"flag_meter","params":["note","is_test","meter_id","admin_token"]},{"tool":"list_events","params":["limit","since","until","cursor","channel","outcome","meter_id","provider","include_test","consumer_class"]},{"tool":"record_usage","params":["outcome","event_id","metadata","meter_id","quantity"]},{"tool":"sla_report","params":["meter_id"]},{"tool":"usage_summary","params":["meter_id"]},{"tool":"usage_timeseries","params":["since","until","bucket","channel","meter_id","provider","include_test","consumer_class"]},{"tool":"verify_chain","params":["meter_id"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}