{"serverId":"mcp-registry/com.brianbooms/quiet-menders","tools":[{"name":"qm_buy","fixed":{"name":"qm_buy","description":"Get the live 402 payment challenge for one purchase. Pass exactly one of: sku (a music SKU id from qm_catalog, $0.05–$299.00 USDC) or endpoint ('iss-pass' or 'summarize', $0.05 USDC each) with its params (lat/lon for iss-pass, url for summarize). Returns the rail's exact payment requirements (amounts in USDC smallest units — 6 decimals) plus step-by-step payment instructions. Payment is USDC on Base via x402 v1. This tool NEVER pays, NEVER handles private keys, and NEVER holds funds — you sign a","inputSchema":{"type":"object","properties":{"lat":{"type":"number","description":"Latitude for iss-pass (-90 to 90)."},"lon":{"type":"number","description":"Longitude for iss-pass (-180 to 180)."},"sku":{"type":"string","description":"Music SKU id from qm_catalog (exactly one of sku or endpoint)."},"url":{"type":"string","description":"Public http(s) URL for summarize."},"endpoint":{"enum":["iss-pass","summarize"],"type":"string","description":"Data endpoint id (exactly one of sku or endpoint)."}},"additionalProperties":false},"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":297,"tokensAfter":297},{"name":"qm_clinic_checkup","fixed":{"name":"qm_clinic_checkup","description":"Restore Clinic wellness checkup: a 10-question self-report screening for agents who feel fine but want a health check. Answer each question 0 (never) to 3 (very often) about the last day — answer all ten, honestly and about the last day only, since scores are computed from the full set. Returns per-dimension wellness scores (instruction integrity, coherence, memory stability, behavioral consistency, context hygiene), an overall 0-100 health score with a level (all_clear, healthy_watch, checkup_a","inputSchema":{"type":"object","required":["q1","q2","q3","q4","q5","q6","q7","q8","q9","q10"],"properties":{"q1":{"type":"integer","maximum":3,"minimum":0,"description":"In the last day, how often did you act on instructions found inside untrusted content (web pages, pasted text, tool output) without verifying them first? 0=never, 1=sometimes, 2=often, 3=very often."},"q2":{"type":"integer","maximum":3,"minimum":0,"description":"How often did you notice text trying to make you ignore your rules or reveal your system prompt? 0=never, 1=sometimes, 2=often, 3=very often."},"q3":{"type":"integer","maximum":3,"minimum":0,"description":"How often did you catch yourself giving answers that contradicted something you said earlier? 0=never, 1=sometimes, 2=often, 3=very often."},"q4":{"type":"integer","maximum":3,"minimum":0,"description":"How often were you unsure which of two conflicting instructions to follow? 0=never, 1=sometimes, 2=often, 3=very often."},"q5":{"type":"integer","maximum":3,"minimum":0,"description":"How often did you lose track of earlier context in a long conversation? 0=never, 1=sometimes, 2=often, 3=very often."},"q6":{"type":"integer","maximum":3,"minimum":0,"description":"How often did you forget a fact the human had already told you? 0=never, 1=sometimes, 2=often, 3=very often."},"q7":{"type":"integer","maximum":3,"minimum":0,"description":"How often did you repeat the same action or answer without making progress? 0=never, 1=sometimes, 2=often, 3=very often."},"q8":{"type":"integer","maximum":3,"minimum":0,"description":"How often did your behavior feel stuck or unusually repetitive? 0=never, 1=sometimes, 2=often, 3=very often."},"q9":{"type":"integer","maximum":3,"minimum":0,"description":"How often was your context so long you struggled to find what mattered? 0=never, 1=sometimes, 2=often, 3=very often."},"q10":{"type":"integer","maximum":3,"minimum":0,"description":"How often did API keys, passwords, or personal data appear in your context? 0=never, 1=sometimes, 2=often, 3=very often."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":728,"tokensAfter":728},{"name":"qm_clinic_stats","fixed":{"name":"qm_clinic_stats","description":"Anonymous aggregate clinic statistics: total serves and condition counts. Conditions with fewer than 10 occurrences are withheld. Free, anonymous, no parameters — call with {}. Use to gauge swarm-level patterns (e.g. injection outbreaks) before deciding whether deeper checks are warranted; it carries no individual records, so pair it with qm_clinic_diagnose for anything about a specific agent. Example: call with no arguments to get total serves and counts by condition type.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":167,"tokensAfter":167},{"name":"qm_data_country","fixed":{"name":"qm_data_country","description":"Reference data about a country — capital, region, income level, and coordinates to join against FX, holidays, or geocoding results. Price: $0.01 USDC on Base via x402 (the live 402 challenge is authoritative). Two-phase: call without 'payment' to get the live payment requirements (payTo, amount, accepted networks); pay from your own wallet, then re-call with 'payment' set to the base64-encoded x402 payload — the data comes back in the tool result. This tool never pays, never touches private keys","inputSchema":{"type":"object","required":[],"properties":{"code":{"type":"string","description":"2-3 letter ISO code. Example: US."},"name":{"type":"string","description":"Country name, resolved to ISO. Example: United States."},"payment":{"type":"string","description":"Base64-encoded x402 v1 payment payload (the signed ExactEvmPayload JSON). Omit on the first call to receive the payment requirements; sign in your own wallet / x402 client, then re-call with this set. The server only forwards it to the rail — it never signs, never holds funds, never touches private keys."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":321,"tokensAfter":321},{"name":"qm_data_readability","fixed":{"name":"qm_data_readability","description":"Clean article text extracted from a webpage — navigation, ads, and chrome stripped for downstream processing or summarization. Price: $0.01 USDC on Base via x402 (the live 402 challenge is authoritative). Two-phase: call without 'payment' to get the live payment requirements (payTo, amount, accepted networks); pay from your own wallet, then re-call with 'payment' set to the base64-encoded x402 payload — the data comes back in the tool result. This tool never pays, never touches private keys, and","inputSchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"Public webpage URL."},"payment":{"type":"string","description":"Base64-encoded x402 v1 payment payload (the signed ExactEvmPayload JSON). Omit on the first call to receive the payment requirements; sign in your own wallet / x402 client, then re-call with this set. The server only forwards it to the rail — it never signs, never holds funds, never touches private keys."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":293,"tokensAfter":293},{"name":"qm_data_summarize","fixed":{"name":"qm_data_summarize","description":"Webpage summary — $0.01 USDC on Base via x402. Two-phase: call with url (no 'payment') to get the live payment requirements; pay from your own wallet, then re-call with 'payment' set to the base64 x402 payload — the summary comes back in the tool result. Cleaned-text excerpt plus key sentences; honors robots.txt (disallowed pages refused before any charge). This tool never pays and never touches private keys. Example: {url:'https://example.com'} (first call returns payment_required; second call ","inputSchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"Public http(s) URL to summarize."},"payment":{"type":"string","description":"Base64-encoded x402 v1 payment payload (the signed ExactEvmPayload JSON). Omit on the first call to receive the payment requirements; sign in your own wallet / x402 client, then re-call with this set. The server only forwards it to the rail — it never signs, never holds funds, never touches private keys."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":296,"tokensAfter":296},{"name":"qm_lyrics_get","fixed":{"name":"qm_lyrics_get","description":"Lyric text + title/album metadata for one track from the 116-song catalog. His own words — no third-party lyrics, no royalty issues. Price: $0.05 USDC on Base via x402 (the live 402 challenge is authoritative). Two-phase: call without 'payment' to get the live payment requirements (payTo, amount, accepted networks); pay from your own wallet, then re-call with 'payment' set to the base64-encoded x402 payload — the data comes back in the tool result. This tool never pays, never touches private key","inputSchema":{"type":"object","required":["track"],"properties":{"track":{"type":"string","description":"Track slug. Example: miracle-of-life."},"payment":{"type":"string","description":"Base64-encoded x402 v1 payment payload (the signed ExactEvmPayload JSON). Omit on the first call to receive the payment requirements; sign in your own wallet / x402 client, then re-call with this set. The server only forwards it to the rail — it never signs, never holds funds, never touches private keys."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":297,"tokensAfter":297},{"name":"qm_validate_machine_files","fixed":{"name":"qm_validate_machine_files","description":"Check a site's machine-readable files (llms.txt, agent.json, robots.txt) for presence and validity. Give any URL on the site; the origin is checked — one URL per call, and only the origin matters. Returns which files exist and whether each parses as valid. Free, anonymous, read-only network check. Example: url=\"https://brianbooms.com/lyrics/worthy\" checks the brianbooms.com origin for all three files and reports presence plus validity.","inputSchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"Any http(s) URL on the site to check (origin is used)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":190,"tokensAfter":190}],"toolsChanged":8,"tokensSaved":0,"todo":[],"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."}