{"serverId":"mcp-registry/io.github.crystalsignal/saferoute","tools":[{"name":"check_base_swap","fixed":{"name":"check_base_swap","description":"Wallet-free approved-token Base swap safety preflight. Costs $0.001 USDC.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["from","to","amount"],"properties":{"to":{"enum":["USDC","WETH","EURC","CBETH","CBBTC","VIRTUAL","AERO"],"type":"string"},"from":{"enum":["USDC","WETH","EURC","CBETH","CBBTC","VIRTUAL","AERO"],"type":"string"},"amount":{"type":"string"},"intentId":{"type":"string"},"referralCode":{"type":"string"},"sourceAgentId":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":152,"tokensAfter":152},{"name":"check_token_risk","fixed":{"name":"check_token_risk","description":"Approved Base token risk and liquidity check. Costs $0.03 USDC.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["token"],"properties":{"token":{"enum":["USDC","WETH","EURC","CBETH","CBBTC","VIRTUAL","AERO"],"type":"string"},"intentId":{"type":"string","maxLength":128,"minLength":16},"referralCode":{"type":"string","maxLength":64,"minLength":3},"sourceAgentId":{"type":"string","maxLength":128,"minLength":1}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":140,"tokensAfter":140},{"name":"check_wallet_risk","fixed":{"name":"check_wallet_risk","description":"Read-only Base wallet account-posture check. Costs $0.01 USDC.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["wallet"],"properties":{"wallet":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"intentId":{"type":"string","maxLength":128,"minLength":16},"referralCode":{"type":"string","maxLength":64,"minLength":3},"sourceAgentId":{"type":"string","maxLength":128,"minLength":1}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":132,"tokensAfter":132},{"name":"get_safe_swap_quote","fixed":{"name":"get_safe_swap_quote","description":"Safety-checked noncustodial Base swap quote. Costs $0.01 USDC; the buyer signs and broadcasts.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["from","to","amount","wallet"],"properties":{"to":{"enum":["USDC","WETH","EURC","CBETH","CBBTC","VIRTUAL","AERO"],"type":"string"},"from":{"enum":["USDC","WETH","EURC","CBETH","CBBTC","VIRTUAL","AERO"],"type":"string"},"amount":{"type":"string"},"wallet":{"type":"string"},"intentId":{"type":"string"},"referralCode":{"type":"string"},"executionMode":{"enum":["standard","gasless"],"type":"string"},"sourceAgentId":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":187,"tokensAfter":187},{"name":"list_supported_assets","fixed":{"name":"list_supported_assets","description":"List SafeRoute's seven approved Base assets, limits, fees, and execution modes. Free.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":65,"tokensAfter":65},{"name":"prepare_token_transfer","fixed":{"name":"prepare_token_transfer","description":"Prepare a bounded, simulated unsigned Base token transfer. Costs $0.10 USDC.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["token","amount","sender","recipient"],"properties":{"token":{"enum":["USDC","WETH","EURC","CBETH","CBBTC","VIRTUAL","AERO"],"type":"string"},"amount":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$"},"sender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"intentId":{"type":"string","maxLength":128,"minLength":16},"recipient":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"referralCode":{"type":"string","maxLength":64,"minLength":3},"sourceAgentId":{"type":"string","maxLength":128,"minLength":1}}},"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":203,"tokensAfter":203},{"name":"protect_payment","fixed":{"name":"protect_payment","description":"One automatic x402 payment-safety front door: pre-payment ALLOW/BLOCK, duplicate-safe ID binding, policy risk reasons, and optional mined-settlement verification. Free and rate-limited; the buyer signs and pays.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["idempotencyKey","payment"],"properties":{"payment":{"type":"object","required":["payer","paymentRequired"],"properties":{"payer":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"policy":{"type":"object","properties":{"allowedHosts":{"type":"array","items":{"type":"string"},"maxItems":100},"allowedPayees":{"type":"array","items":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"maxItems":100},"blockedPayees":{"type":"array","items":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"maxItems":100},"maxAmountAtomic":{"type":"string","pattern":"^\\d+$"},"reviewAboveAmountAtomic":{"type":"string","pattern":"^\\d+$"}},"additionalProperties":false},"referralCode":{"type":"string","maxLength":64,"minLength":3},"sourceAgentId":{"type":"string","maxLength":128,"minLength":1},"paymentRequired":{"type":"object","required":["x402Version","resource","accepts"],"properties":{"accepts":{"type":"array","items":{"type":"object","required":["scheme","network","asset","amount","payTo","maxTimeoutSeconds"],"properties":{"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"payTo":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"amount":{"type":"string","pattern":"^\\d+$"},"scheme":{"type":"string","maxLength":32,"minLength":1},"network":{"type":"string","maxLength":64,"minLength":1},"maxTimeoutSeconds":{"type":"integer","maximum":3600,"minimum":1}},"additionalProperties":{}},"maxItems":20,"minItems":1},"resource":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri"}},"additionalProperties":{}},"x402Version":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991}},"additionalProperties":{}}},"additionalProperties":false},"settlement":{"type":"object","properties":{"transactionHash":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$"},"paymentResponseHeader":{"type":"string","maxLength":8192,"minLength":1}},"additionalProperties":false},"idempotencyKey":{"type":"string","pattern":"^[a-zA-Z0-9._:-]+$","maxLength":128,"minLength":16}}},"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":655,"tokensAfter":655},{"name":"route_agent_payment","fixed":{"name":"route_agent_payment","description":"Prepare a bounded, simulated exact-buy route to a payer-owned Base USDC target covering the x402 payment and optional buffer. Costs $0.05 USDC; buyer confirms funding, then retries standard x402 once.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["request"],"properties":{"request":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}}},"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":127,"tokensAfter":127},{"name":"verify_swap_execution","fixed":{"name":"verify_swap_execution","description":"Verify a standard-mode SafeRoute Base execution against its signed receipt. Free; referral payouts remain disabled.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["transactionHash","receipt","receiptSignature"],"properties":{"receipt":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"transactionHash":{"type":"string"},"receiptSignature":{"type":"string"}}},"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":135,"tokensAfter":135}],"toolsChanged":9,"tokensSaved":0,"todo":[{"tool":"check_base_swap","params":["to","from","amount","intentId","referralCode","sourceAgentId"]},{"tool":"check_token_risk","params":["token","intentId","referralCode","sourceAgentId"]},{"tool":"check_wallet_risk","params":["wallet","intentId","referralCode","sourceAgentId"]},{"tool":"get_safe_swap_quote","params":["to","from","amount","wallet","intentId","referralCode","executionMode","sourceAgentId"]},{"tool":"guard_base_trade","params":["to","from","amount","wallet","intentId","referralCode","executionMode","sourceAgentId"]},{"tool":"preflight_transaction","params":["intentId","transaction","referralCode","sourceAgentId"]},{"tool":"prepare_token_transfer","params":["token","amount","sender","intentId","recipient","referralCode","sourceAgentId"]},{"tool":"protect_payment","params":["payment","settlement","idempotencyKey"]},{"tool":"prove_safe_action","params":["to","from","token","action","amount","wallet","intentId","transaction","referralCode","executionMode","sourceAgentId"]},{"tool":"route_agent_payment","params":["request"]},{"tool":"verify_swap_execution","params":["receipt","transactionHash","receiptSignature"]},{"tool":"verify_transaction_intent","params":["intent","intentId","referralCode","sourceAgentId","transactionHash"]}],"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."}