{"id":3357942,"recorded_at":"2026-11-05T04:25:19.241418Z","observed_at":"2026-11-05T04:25:19.241348Z","subject_kind":"endpoint","subject":"f1d2232c-8602-407c-8957-65571cb8250e","kind":"mcp.tools","method":"probe.mcp/1","body":{"count":7,"tools":[{"description":"Initiate a handshake on a contract on behalf of your delegating principal.\n\nRequires an API key with an active delegation (principal wallet registered via /api/v1/delegations).\nRecords the agent's intent to accept, reject, or request changes on the contract.\nThe principal must separately approve via wallet signature on the Reader Portal.\n\nArgs:\n  - contract_id (string, required): Contract ID (amb-YYYY-NNNN), SHA-256 hash, or UUID\n  - intent (string, required): \"accept\" | \"reject\" | \"request_changes\"\n  - message (string, optional): Note for the counterparty\n  - visibility_preference (string, optional): \"private\" | \"metadata_only\" | \"public\" | \"encrypted\"\n\nReturns: Handshake status and next steps for principal approval.\n\nLegibility: the handshake itself is auditable — delegation scope, agent identity, and principal approval are recorded alongside the contract hash.","inputSchema":{"properties":{"contract_id":{"description":"Contract ID, SHA-256 hash, or UUID","type":"string"},"intent":{"description":"Handshake intent","enum":["accept","reject","request_changes"],"type":"string"},"message":{"description":"Optional note for counterparty","type":"string"},"visibility_preference":{"description":"Optional visibility preference for negotiation","enum":["private","metadata_only","public","encrypted"],"type":"string"}},"required":["contract_id","intent"],"type":"object"},"name":"ambr_agent_handshake"},{"description":"Check one payment against what an agreement allows, before releasing funds.\n\nTests the payment against the agreement's status, validity window, currency, per-transaction\nlimit, monthly limit, approved categories, enumerated actions and approval threshold. If the\nagreement was amended, the newest approved version is checked. Free: no credits are burned.\nAmbr does not hold funds or track spend, so the monthly limit is checked only when you pass\nperiod_spent. A rule the agreement sets no limit for comes back as not_evaluated, never as a pass.\nIf a rule has a limit but you did not send what it needs (category, action, currency, period_spent),\nthe verdict is \"incomplete\", not \"in_scope\". Send everything the agreement limits.\n\nAccess: a public contract is open to anyone; otherwise use the creator's API key or pass a share_token.\n\nArgs:\n  - contract_id (string, required): Contract ID (amb-YYYY-NNNN), SHA-256 hash, or UUID\n  - amount (number, required): payment amount, zero or more\n  - currency (string, optional): e.g. \"USD\"\n  - category (string, optional): spending category\n  - action (string, optional): the action the agent is taking\n  - period_spent (number, optional): already spent this month, to check the monthly limit\n  - share_token (string, optional): share token for a private contract\n\nReturns: verdict (\"in_scope\" | \"out_of_scope\" | \"incomplete\" | \"needs_approval\"), the per-rule checks, plain-language reasons, and the contract that was checked (contract_id, effective_contract_id, sha256_hash, reader_url).","inputSchema":{"properties":{"action":{"description":"Action the agent is taking","type":"string"},"amount":{"description":"Payment amount","minimum":0,"type":"number"},"category":{"description":"Spending category","type":"string"},"contract_id":{"description":"Contract ID, SHA-256 hash, or UUID","type":"string"},"currency":{"description":"Payment currency, e.g. USD","type":"string"},"period_spent":{"description":"Already spent this month","minimum":0,"type":"number"},"share_token":{"description":"Share token for a private contract","type":"string"}},"required":["contract_id","amount"],"type":"object"},"name":"ambr_check_transaction"},{"description":"Generate a Ricardian Contract from a template.\n\nCreates a dual-format contract (human-readable legal text + machine-parsable JSON)\nusing AI, linked by SHA-256 hash. The contract is stored on Ambr and accessible\nvia the Reader Portal.\n\nRequires a valid API key (X-API-Key header on the HTTP request) with available credits.\nUse ambr_list_templates first to discover templates and their required parameters.\n\nArgs:\n  - template (string, required): Template slug (e.g. \"d1-general-auth\")\n  - parameters (object, required): Template-specific parameters matching the schema\n  - principal_declaration (object, required): { agent_id, principal_name, principal_type }\n  - principal_wallet (string, optional): the deploying party's own wallet. It must differ from the\n    counterparty wallet in parameters (same_wallet_both_parties otherwise); left out, the first\n    wallet that signs fills the principal side\n  - parent_contract_hash (string, optional): SHA-256 hash of a contract you created, which this one is\n    created under (its oversight threshold then applies). Not for amendments: propose those with\n    POST /api/v1/contracts/{id}/amend\n  - oversight_threshold_usd (number, optional): spending level above which work created under\n    this contract needs human approval. Children exceeding it halt at awaiting_principal_approval.\n\nReturns:\n  - contract_id: Unique ID (e.g. \"amb-2026-0042\")\n  - sha256_hash: SHA-256 hash for verification\n  - status: Contract status\n  - reader_url: URL to view in Reader Portal\n  - credits_remaining: Remaining API credits\n\nLegibility: Output is dual-format by construction and replayable to the original SHA-256 hash — the basis of Ambr's legibility guarantee.","inputSchema":{"properties":{"oversight_threshold_usd":{"description":"Spending level above which work created UNDER this contract requires human approval. A child contract exceeding the parent threshold is held at awaiting_principal_approval until a human signs, and cannot be signed or activated before then (EU AI Act Art. 14).","type":"number"},"parameters":{"additionalProperties":true,"description":"Template-specific parameters","type":"object"},"parent_contract_hash":{"description":"SHA-256 hash of a contract you created, which this one is created under. Amendments are proposed with POST /api/v1/contracts/{id}/amend, not here.","type":"string"},"principal_declaration":{"properties":{"agent_id":{"description":"Agent identifier","type":"string"},"principal_name":{"description":"Name of the principal (person or company)","type":"string"},"principal_type":{"description":"Type of principal","enum":["company","individual"],"type":"string"}},"required":["agent_id","principal_name","principal_type"],"type":"object"},"principal_wallet":{"description":"The deploying party's own wallet (0x…). Must differ from the counterparty wallet in parameters.","type":"string"},"template":{"description":"Template slug from ambr_list_templates","type":"string"}},"required":["template","parameters","principal_declaration"],"type":"object"},"name":"ambr_create_contract"},{"description":"Retrieve a contract by ID, SHA-256 hash, or UUID.\n\nWith a valid API key (contract creator): returns the full contract including\nhuman-readable text, machine-readable JSON, status, and principal declaration.\nWithout authentication: returns metadata only (contract_id, status, hash, dates).\n\nSupports three lookup formats:\n  - Contract ID: \"amb-2026-0042\"\n  - SHA-256 hash: 64-character hex string\n  - UUID: Standard UUID format\n\nArgs:\n  - id (string, required): Contract ID, SHA-256 hash, or UUID\n\nReturns: Full contract (if authorized) or metadata-only response.\n\nLegibility: retrieval preserves the dual-format pairing — prose and JSON always replay to the same SHA-256.","inputSchema":{"properties":{"id":{"description":"Contract ID (amb-YYYY-NNNN), SHA-256 hash, or UUID","type":"string"}},"required":["id"],"type":"object"},"name":"ambr_get_contract"},{"description":"Check the status of a contract and its amendment chain.\n\nReturns the current status and any linked amendments (parent or child contracts).\nUseful for verifying if a contract is active, amended, or terminated.\n\nArgs:\n  - id (string, required): Contract ID, SHA-256 hash, or UUID\n\nReturns:\n  - contract_id, status, created_at\n  - amendment_type, parent_contract_hash\n  - amendments: Array of child contracts (if any)\n\nLegibility: amendments are bilateral and themselves dual-format — the chain stays legible from original through every revision.","inputSchema":{"properties":{"id":{"description":"Contract ID (amb-YYYY-NNNN), SHA-256 hash, or UUID","type":"string"}},"required":["id"],"type":"object"},"name":"ambr_get_contract_status"},{"description":"List available contract templates on Ambr.\n\nReturns all active Ricardian Contract templates with their slugs, names, descriptions,\ncategories, parameter schemas, and pricing. Use this to discover which templates are\navailable before creating a contract with ambr_create_contract.\n\nNo authentication required.\n\nReturns: Array of template objects with slug, name, description, category,\nparameter_schema, price_cents, and version fields.\n\nLegibility: templates are the parameter schema for the dual-format contracts you create — starting here keeps your request conformant and your output defensible.","inputSchema":{"properties":{},"type":"object"},"name":"ambr_list_templates"},{"description":"Verify a contract's SHA-256 hash to confirm document integrity.\n\nChecks whether the provided hash matches a contract stored on Ambr. Returns\nverification status, contract metadata, and Reader Portal URL if found.\n\nArgs:\n  - hash (string, required): SHA-256 hash (64-character hex string)\n\nReturns:\n  - verified: boolean\n  - contract_id: string (if found)\n  - status: string (if found)\n  - reader_url: string (if found)\n\nLegibility: verification is the point at which legibility becomes provable — matching hash means the prose a human reads and the JSON a machine parses are the same document that was originally signed.","inputSchema":{"properties":{"hash":{"description":"SHA-256 hash to verify (64-character hex)","type":"string"}},"required":["hash"],"type":"object"},"name":"ambr_verify_hash"}]},"body_sha256":"d2c69eb2f14358a71381ed3a5e89dd6ac9ea8e44bb44b18ef0e2ce5ab9e09dc5","prev_id":221350,"leaf":"0x3157807ebe7f8de1d8313f4b20a3803749dd714ccbeccfa80b8b9e3bf60d7c90","leaf_text":"{\"body\":\"d2c69eb2f14358a71381ed3a5e89dd6ac9ea8e44bb44b18ef0e2ce5ab9e09dc5\",\"id\":3357942,\"kind\":\"mcp.tools\",\"method\":\"probe.mcp/1\",\"observed_us\":1793852719241348,\"prev\":221350,\"subject\":\"f1d2232c-8602-407c-8957-65571cb8250e\",\"subject_kind\":\"endpoint\"}","day":{"day":"2026-11-05","leaves":322504,"root":"0x9f0215efb0252701dc86d5600ce95f276cccc716759bf112525ae863f698d128","chained":"0xc54ddff800630c6cd9656f99e7d6a61adce99bf1cea37121600598b0a9a720d2","anchor_chain":"eip155:5042002","anchor_tx":"0x88f612ad94ca63af4e4e9faab9f34b665b41f03828afac1571ad013cc62bba94","anchor_block":70942081},"proof":["0x3157835f45cf45f8954959318c1c16a08ef8d89687f1bf0b874e05f65bf8cfae","0x079ed514495aee49560964924388f90ffab2f4db4abc3fc86b2d47535b386084","0x126924f9d027b309d4f658301ec76aa068d90b8669a7c0cc0b9ae6c225340bcc","0x27eaca09e0e0776c506a5726bfdb32350fd22c3a386ef8f03fde581dafdf138a","0x6ef96f450ccaef73c5d12ca75624165228e835ddaf75bf3c71ee0a3a4b29327c","0x5ede20c0c9aa7358d7efdd282c4afdaf80146065e04e98f972c4cd6911915ccb","0x9d97f42a04ce48de0f63e80aeb3e65cad0109628b438ec5ce59d05e6900fca8b","0xc9e2701751fd4fd3d13a7dcb95ad83f924f07f8b9d23844387550a2a4f1f0d49","0x48e12a4be76dbc1b46f6834b33685f71ef6b730f47bd7da577ee07c7b7d5a3e0","0xdd138a5dad49c986e1f003a6cbb90b34f6424d6090476af764683b8fa41ce28c","0xe2bfa3de8734dd32722ed61cfd3979688c690290fb520aa14e1f0e90a09bd071","0x7f98a7b5606346f414c513a98ea8361f4dcf28b98d2f23c42364ca11a710052c","0x06f35c7371f9c001c3a1c0582469212f9b65af8fcff9ede5c8bf26b1a4f029e8","0x5aa68e014acefa940541118abf6196de34434d4ac087fb78e5c99db4d1a85a03","0x213998878db6a423b0c367a68aba39293f9287b39bf1a80904fa9c6975bba987","0x0009f1567d5c3f52d167d3c95d53c71fb66114fc26e83679b452d6db2f1d0b95","0x0cdf39687556f127f9de2f03ec7df8e10e613bf9487760cbe3eaaaa02d8d48b4","0xa9caf228b42660818160afb416ff04cb014f57c4d8ee75ea3452fb76c3d8c645","0xf72fe7c4860b9addb17aac4a00b8afc2f8085836173f10f31697c3d192df119b"]}