{"id":2500112,"recorded_at":"2026-11-03T01:45:30.513793Z","observed_at":"2026-11-03T01:45:30.513734Z","subject_kind":"endpoint","subject":"b91edac5-22c8-46f4-8a0d-c7c67964236f","kind":"mcp.tools","method":"probe.mcp/1","body":{"count":16,"tools":[{"description":"Rank a CALLER-PROVIDED list of MCP tools by worst-regret if they act (a name-based heuristic that weights a name's first word most). Read-only: it mints no receipt. Cannot auto-discover the inventory -- MCP does not allow that; the caller must pass it in.","inputSchema":{"properties":{"inventory":{"items":{"additionalProperties":true,"type":"object"},"title":"Inventory","type":"array"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Notes"}},"required":["inventory"],"title":"audit_my_agent_inventoryArguments","type":"object"},"name":"audit_my_agent_inventory"},{"description":"Egress classification check. Scans a data sample for a finite list of sensitivity markers and classifies as NO_MARKERS_FOUND / INTERNAL / CONFIDENTIAL / RESTRICTED. RESTRICTED sets blocked=true; this tool cannot block anything itself, and NO_MARKERS_FOUND is not clearance to send. Returns classification, retention info, and a tamper-evident receipt.","inputSchema":{"properties":{"data_sample":{"title":"Data Sample","type":"string"},"destination":{"title":"Destination","type":"string"},"provider":{"title":"Provider","type":"string"}},"required":["destination","data_sample","provider"],"title":"check_egressArguments","type":"object"},"name":"check_egress"},{"description":"Status of each proposed retest after a change (current, not current or unbound), from the proposal inputs and results you supply. Read-only view of the records you supply; it writes, signs and executes nothing. Needs TRUST_GATE_API_URL, TRUST_GATE_API_KEY and TRUST_GATE_TENANT_ID to be set, and the tenant comes from that setting, never from an argument. Returns status OK, REFUSED or UNAVAILABLE (a missing setting, a surface that is off, or an error is UNAVAILABLE, never made-up data). The Trust Gate API must be a version that serves this view; it returns UNAVAILABLE until then. A mapping or readout is not a compliance finding.","inputSchema":{"properties":{"request":{"additionalProperties":true,"title":"Request","type":"object"}},"required":["request"],"title":"compare_qualification_changeArguments","type":"object"},"name":"compare_qualification_change"},{"description":"Acceptance-pack export for one or more cases, optionally mapped to one control id and version you name. Read-only view of the records you supply; it writes, signs and executes nothing. Needs TRUST_GATE_API_URL, TRUST_GATE_API_KEY and TRUST_GATE_TENANT_ID to be set, and the tenant comes from that setting, never from an argument. Returns status OK, REFUSED or UNAVAILABLE (a missing setting, a surface that is off, or an error is UNAVAILABLE, never made-up data). The Trust Gate API must be a version that serves this view; it returns UNAVAILABLE until then. A mapping or readout is not a compliance finding.","inputSchema":{"properties":{"request":{"additionalProperties":true,"title":"Request","type":"object"}},"required":["request"],"title":"export_acceptance_packArguments","type":"object"},"name":"export_acceptance_pack"},{"description":"Two-phase decision gate with a real verdict. PREVIEW returns ALLOW, DENY or ESCALATE with the risk tier and reasons, plus a preview_id, without acting. COMMIT re-evaluates the same inputs and mints a signed receipt for the verdict. Only ALLOW returns a GRANTED permit; DENY returns DENIED; ESCALATE returns WITHHELD_PENDING_HUMAN and a human must decide outside this tool. Applies only to actions the caller routes through it: it does not observe or block what an agent does. Verb-tier heuristic on the action name and resource, not a proof. Stateless. Optional attestation: triggered_by_type, triggered_by_source, decision_model.","inputSchema":{"properties":{"action":{"title":"Action","type":"string"},"context":{"additionalProperties":true,"title":"Context","type":"object"},"decision_model":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Decision Model"},"phase":{"default":"PREVIEW","title":"Phase","type":"string"},"preview_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Preview Id"},"resource":{"title":"Resource","type":"string"},"triggered_by_source":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Triggered By Source"},"triggered_by_type":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Triggered By Type"}},"required":["action","resource","context"],"title":"gate_decisionArguments","type":"object"},"name":"gate_decision"},{"description":"Evidence view, verdict and open questions for one decision and the facts you supply. Read-only view of the records you supply; it writes, signs and executes nothing. Needs TRUST_GATE_API_URL, TRUST_GATE_API_KEY and TRUST_GATE_TENANT_ID to be set, and the tenant comes from that setting, never from an argument. Returns status OK, REFUSED or UNAVAILABLE (a missing setting, a surface that is off, or an error is UNAVAILABLE, never made-up data). The Trust Gate API must be a version that serves this view; it returns UNAVAILABLE until then. A mapping or readout is not a compliance finding.","inputSchema":{"properties":{"request":{"additionalProperties":true,"title":"Request","type":"object"}},"required":["request"],"title":"get_decision_evidenceArguments","type":"object"},"name":"get_decision_evidence"},{"description":"Evidence for whether an intervention could be shown to have taken effect, from the records you supply. Read-only view of the records you supply; it writes, signs and executes nothing. Needs TRUST_GATE_API_URL, TRUST_GATE_API_KEY and TRUST_GATE_TENANT_ID to be set, and the tenant comes from that setting, never from an argument. Returns status OK, REFUSED or UNAVAILABLE (a missing setting, a surface that is off, or an error is UNAVAILABLE, never made-up data). The Trust Gate API must be a version that serves this view; it returns UNAVAILABLE until then. A mapping or readout is not a compliance finding.","inputSchema":{"properties":{"request":{"additionalProperties":true,"title":"Request","type":"object"}},"required":["request"],"title":"get_intervention_evidenceArguments","type":"object"},"name":"get_intervention_evidence"},{"description":"Evidence view of one receipt you supply, with what the service could and could not check. Read-only view of the records you supply; it writes, signs and executes nothing. Needs TRUST_GATE_API_URL, TRUST_GATE_API_KEY and TRUST_GATE_TENANT_ID to be set, and the tenant comes from that setting, never from an argument. Returns status OK, REFUSED or UNAVAILABLE (a missing setting, a surface that is off, or an error is UNAVAILABLE, never made-up data). The Trust Gate API must be a version that serves this view; it returns UNAVAILABLE until then. A mapping or readout is not a compliance finding.","inputSchema":{"properties":{"request":{"additionalProperties":true,"title":"Request","type":"object"}},"required":["request"],"title":"get_receipt_evidenceArguments","type":"object"},"name":"get_receipt_evidence"},{"description":"Readiness report for one oversight case, computed from the records you supply. Read-only view of the records you supply; it writes, signs and executes nothing. Needs TRUST_GATE_API_URL, TRUST_GATE_API_KEY and TRUST_GATE_TENANT_ID to be set, and the tenant comes from that setting, never from an argument. Returns status OK, REFUSED or UNAVAILABLE (a missing setting, a surface that is off, or an error is UNAVAILABLE, never made-up data). The Trust Gate API must be a version that serves this view; it returns UNAVAILABLE until then. A mapping or readout is not a compliance finding.","inputSchema":{"properties":{"request":{"additionalProperties":true,"title":"Request","type":"object"}},"required":["request"],"title":"inspect_oversight_caseArguments","type":"object"},"name":"inspect_oversight_case"},{"description":"Mint a signed receipt (Ed25519, plus ML-DSA-65 when the post-quantum backend is available) for an arbitrary consequential agent action. Optional attestation: triggered_by_type (human/agent/script), triggered_by_source (api/cli/cron), decision_model (the LLM model used). Attestation values are caller claims: allowlisted to safe characters, signed, not verified. Decisions that contain a gate verdict word are reserved for gate_decision.","inputSchema":{"properties":{"agent_id":{"title":"Agent Id","type":"string"},"decision":{"default":"ACTION_GOVERNED","title":"Decision","type":"string"},"decision_model":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Decision Model"},"inputs":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Inputs"},"operation":{"title":"Operation","type":"string"},"policy":{"default":"agent action evidence","title":"Policy","type":"string"},"target":{"title":"Target","type":"string"},"triggered_by_source":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Triggered By Source"},"triggered_by_type":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Triggered By Type"}},"required":["agent_id","operation","target"],"title":"mint_action_receiptArguments","type":"object"},"name":"mint_action_receipt"},{"description":"Mint a signed receipt (Ed25519, plus ML-DSA-65 when the post-quantum backend is available) for one CRM record change. Old/new values are carried as SHA-256 hashes. Works with any CRM (Relaticle, hosted CRMs, custom).","inputSchema":{"properties":{"changed_by_agent":{"title":"Changed By Agent","type":"string"},"field":{"title":"Field","type":"string"},"new_value":{"title":"New Value","type":"string"},"object_type":{"title":"Object Type","type":"string"},"old_value":{"title":"Old Value","type":"string"},"policy":{"default":"per-decision CRM change evidence","title":"Policy","type":"string"},"record_id":{"title":"Record Id","type":"string"},"tenant":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Tenant"}},"required":["record_id","object_type","field","old_value","new_value","changed_by_agent"],"title":"mint_receipt_for_record_changeArguments","type":"object"},"name":"mint_receipt_for_record_change"},{"description":"Impact and a requalification PROPOSAL for a change, over the graph you supply. It never runs a retest. Read-only view of the records you supply; it writes, signs and executes nothing. Needs TRUST_GATE_API_URL, TRUST_GATE_API_KEY and TRUST_GATE_TENANT_ID to be set, and the tenant comes from that setting, never from an argument. Returns status OK, REFUSED or UNAVAILABLE (a missing setting, a surface that is off, or an error is UNAVAILABLE, never made-up data). The Trust Gate API must be a version that serves this view; it returns UNAVAILABLE until then. A mapping or readout is not a compliance finding.","inputSchema":{"properties":{"request":{"additionalProperties":true,"title":"Request","type":"object"}},"required":["request"],"title":"propose_requalificationArguments","type":"object"},"name":"propose_requalification"},{"description":"Questions routed to a role for one oversight case, from the records and source lookups you supply. It proposes; it never asks anyone. Read-only view of the records you supply; it writes, signs and executes nothing. Needs TRUST_GATE_API_URL, TRUST_GATE_API_KEY and TRUST_GATE_TENANT_ID to be set, and the tenant comes from that setting, never from an argument. Returns status OK, REFUSED or UNAVAILABLE (a missing setting, a surface that is off, or an error is UNAVAILABLE, never made-up data). The Trust Gate API must be a version that serves this view; it returns UNAVAILABLE until then. A mapping or readout is not a compliance finding.","inputSchema":{"properties":{"request":{"additionalProperties":true,"title":"Request","type":"object"}},"required":["request"],"title":"propose_role_questionArguments","type":"object"},"name":"propose_role_question"},{"description":"Replay of a decision's evidence path over the records you supply. It replays records; it executes nothing. Read-only view of the records you supply; it writes, signs and executes nothing. Needs TRUST_GATE_API_URL, TRUST_GATE_API_KEY and TRUST_GATE_TENANT_ID to be set, and the tenant comes from that setting, never from an argument. Returns status OK, REFUSED or UNAVAILABLE (a missing setting, a surface that is off, or an error is UNAVAILABLE, never made-up data). The Trust Gate API must be a version that serves this view; it returns UNAVAILABLE until then. A mapping or readout is not a compliance finding.","inputSchema":{"properties":{"request":{"additionalProperties":true,"title":"Request","type":"object"}},"required":["request"],"title":"replay_decisionArguments","type":"object"},"name":"replay_decision"},{"description":"Vendor exit readiness drill. Checks local signing key, local model access (Ollama). Returns step-by-step results and a tamper-evident receipt. Informational; it signs one receipt, which creates the signing key on a host that has none yet.","inputSchema":{"properties":{},"title":"run_exit_drillArguments","type":"object"},"name":"run_exit_drill"},{"description":"Verify a Trust Gate receipt from the certificate alone (offline). ok=true means unchanged since signing, signed, kid consistent with the embedded key, and (require_pq default on) at least one post-quantum leg verified; unsigned receipts fail. It does not prove who signed: pass expected_kid to pin the signer's Ed25519 key; a pin counts only when that key's own signature verifies (see signer_pinned). The post-quantum keys in a receipt are not covered by the kid.","inputSchema":{"properties":{"expected_kid":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Expected Kid"},"receipt":{"additionalProperties":true,"title":"Receipt","type":"object"},"require_pq":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"title":"Require Pq"}},"required":["receipt"],"title":"verify_receiptArguments","type":"object"},"name":"verify_receipt"}]},"body_sha256":"f0865ae15da8fa3c995e5b52119e17a091f0bd2f53bd8deeb7a80cdce6bdbbbd","prev_id":570455,"leaf":"0x4b570c0f623e17beeb267e75a37aa3547fb567bb977398747ce224e4b5419e83","leaf_text":"{\"body\":\"f0865ae15da8fa3c995e5b52119e17a091f0bd2f53bd8deeb7a80cdce6bdbbbd\",\"id\":2500112,\"kind\":\"mcp.tools\",\"method\":\"probe.mcp/1\",\"observed_us\":1793670330513734,\"prev\":570455,\"subject\":\"b91edac5-22c8-46f4-8a0d-c7c67964236f\",\"subject_kind\":\"endpoint\"}","day":{"day":"2026-11-03","leaves":425475,"root":"0xb646ffa569e24bf8336b0a15a9d98d0a2f1239f58e10c2b18a9d22e43343566a","chained":"0x35e926359fd19031c6b5e08fb3b44f2524386a57c8fdd353336c185603f53d43","anchor_chain":"eip155:5042002","anchor_tx":"0xa5f9dadba13cde129126b950e64b815e6833cb8ff53b75026c9dbe769c3768c7","anchor_block":70601990},"proof":["0x4b570fcd9604e3b37e4a2272386dd27e336ceefa8d57e44639c62aa19a7f8cd7","0xd1e668aa4f0aa227be4ecd4cf3b84b540b8cad9cc1ca9e69c152988dc2b8c49e","0xcb5bbcecde56ade8b77cc6bd8920797256a70e50c699aaefa95606046270d18c","0x9335f505525016c1628e7a7c9221d78fe2c0f2a4129f7563ef14fd2e97bdfb52","0xdc927e80d3555c6fe337f50ac5e31b36b5f3888a7ac04eff6f9db247584c3513","0x0be6fc4f707ae6edd7a34968aabb0d5df8245123be3e7fec5ac5889c110f9498","0x7b40f368b714f97f19abc440311d627b748c63ce173fa331b02d169c35365215","0x61833d2044b148152cc835a1d160cd490dea4e4c43c6b7e054025f8a35198ee5","0xdefdf4ebd24b59a50035f389385d0e135efd362f5037cf304f0373dc51526e8d","0x93cdccc659c31753a843463a0b75a332ed24eea2664f09200105c824f92a6d7b","0xe639bce78b0a2f17f49660809213f3502901731ed5f9d2819153c797c78c8094","0x906208dd0f61cb76c5ab46f992d0d280c98f599746784e36966fc3d12ec06bd8","0x25e7c6e3ae958d725091b9780092a534731cdfe4819dd1ffe52af56311601eb8","0x5e9968227987a7f0940fee03a33017f5e7157de7f0889921817733c1ab8871d1","0xd106fbd3b5dac57c72dd4fc8931f69b38fd5a542627e63d015b63dadf2188a2f","0x35ca4633a97853eefbf38aaf743dd7ff85a4c731ccc8e31a34fd826c3142d6ea","0x87df2ed9052c264d606c076742aa7e54b69fc8344b21e972ebcb19d020b7ecf3","0x012ad914f3f945da3b6b48eddc7a1388613e4afc04339deb76c609611864e9b9","0xe35032d4b064b015fe60638756eeb0bc24e7c7943586468d33349341ee0ed3d6"]}