Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Authorization not required, issuer https://assay-207908449630.us-central1.run.app
Certificate changed, valid to 2026-12-21
Authorization not required, issuer https://assay-207908449630.us-central1.run.app
Authorization not required, issuer https://assay-207908449630.us-central1.run.app
Authorization not required, issuer https://assay-207908449630.us-central1.run.app
Authorization not required, issuer https://assay-207908449630.us-central1.run.app
Authorization not required, issuer https://assay-207908449630.us-central1.run.app
Authorization not required, issuer https://assay-207908449630.us-central1.run.app
Authorization not required, issuer https://assay-207908449630.us-central1.run.app
Authorization not required, issuer https://assay-207908449630.us-central1.run.app
Authorization not required, issuer https://assay-207908449630.us-central1.run.app
Authorization not required, issuer https://assay-207908449630.us-central1.run.app
Changed the definition of "assay_get_ledger_policy", "assay_preflight", "assay_probe" and 1 more
{"properties":{"dossier":{"type":"object"},"error":{"type":["string","null"]},"reason":{"type":"string"},"receipt":{"type":"string"},"status":{"type":"string"},"verdict": ⟨7 unchanged words⟩
{"properties":{"dossier":{"type":"object"},"error":{"type":["string","null"]},"reason":{"type":"string"},"receipt":{"type":"string"},"status":{"type":"string"},"verdict": ⟨7 unchanged words⟩
Changed the definition of "assay_get_ledger_policy", "assay_preflight", "assay_probe" and 1 more
{"additionalProperties":false,"examples":[{"target":"https://agentdiet-72343955726.us-central1.run.app/mcp"}],"properties":{"expected_tools_hash":{"description":"Optional ⟨75 unchanged words⟩
{"additionalProperties":false,"examples":[{"target":"https://agentdiet-72343955726.us-central1.run.app/mcp"}],"properties":{"expected_tools_hash":{"description":"Optional ⟨75 unchanged words⟩
Changed the definition of "assay_get_ledger_policy", "assay_preflight", "assay_probe" and 1 more
⟨85 unchanged words⟩ use assay_probe; for post-payment SLA receipts use assay_verify_delivery. Example: target='https://agentdiet-72343955726.us-central1.run.app/mcp'.
⟨61 unchanged words⟩ . Private and loopback IPs are blocked.","examples":["https://agentdiet-72343955726.us-central1.run.app/mcp"],"maxLength":512,"minLength":8,"type":" ⟨5 unchanged words⟩
Verified owner set by well_known_file proof on assay-207908449630.us-central1.run.app
Certificate recorded, valid to 2026-12-21
Authorization not required
Changed the definition of "assay_get_ledger_policy", "assay_preflight", "assay_probe" and 1 more
Query Historical Ledger &ManagePin Expected Schema Hashes
QueryRetrieve historical conformance observations,rug-pull drift events,andcanonicalmanage pinned SHA-256 tools/list policy hashes(expected_tools_hash)in the Assay ledger for a target
Added "assay_get_ledger_policy"; changed the definition of "assay_preflight", "assay_probe" and "assay_verify_delivery" (3 tools before, 4 now)
⟨46 unchanged words⟩ post-payment disputes use assay_verify_delivery; for raw telemetry indexingwithout policy gatinguse assay_probe. First 5 calls/IP free.
before
—after
{"properties":{"dossier":{"type":"object"},"reason":{"type":"string"},"receipt":{"type":"string"},"verdict":{"type":"string"}},"required":["verdict","receipt"],"type":"object"}Changed the definition of "assay_preflight", "assay_probe" and "assay_verify_delivery"
assay_preflightPre-Flight MCP & A2A Security Gate
Pre-flightEvaluatechecka(liveness,remote MCP,schemaA2A,hashor x402 endpoint before calling or paying it. Probes live JSON-RPC reachability, hashes tools/list (SHA-256), checks expected_tools_hash for silent
Unknown → Live
First tool surface recorded: 3 tools (server version 0.5.1)
https://assay-207908449630.us-central1.run.app/mcp (mcp_streamable_http) — from mcp_registry, with the record
Showing the latest 24 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
{"properties":{"dossier":{"type":"object"},"error":{"type":["string","null"]},"reason":{"type":"string"},"receipt":{"type":"string"},"status":{"type":"string"},"verdict": ⟨7 unchanged words⟩
{"properties":{"dossier":{"type":"object"},"error":{"type":["string","null"]},"reason":{"type":"string"},"receipt":{"type":"string"},"status":{"type":"string"},"verdict": ⟨7 unchanged words⟩
{"additionalProperties":false,"examples":[{"target":"https://agentdiet-72343955726.us-central1.run.app/mcp"}],"properties":{"target":{"description":"Public ⟨37 unchanged words⟩
{"additionalProperties":false,"examples":[{"target":"https://agentdiet-72343955726.us-central1.run.app/mcp"}],"properties":{"status_code":{"description":"Optional ⟨106 unchanged words⟩
⟨88 unchanged words⟩ policy hashes use assay_get_ledger_policy; after payment use assay_verify_delivery. Example: target='https://agentdiet-72343955726.us-central1.run.app/mcp'.
⟨61 unchanged words⟩ . Private and loopback IPs are blocked.","examples":["https://agentdiet-72343955726.us-central1.run.app/mcp"],"maxLength":512,"minLength":8,"type":" ⟨5 unchanged words⟩
⟨97 unchanged words⟩ pinning use assay_get_ledger_policy; for post-payment disputes use assay_verify_delivery. Example: target='https://agentdiet-72343955726.us-central1.run.app/mcp'.
⟨23 unchanged words⟩ . Private and loopback IPs are blocked.","examples":["https://agentdiet-72343955726.us-central1.run.app/mcp"],"maxLength":512,"minLength":8,"type":" ⟨5 unchanged words⟩
⟨86 unchanged words⟩ indexing use assay_probe; for policy history use assay_get_ledger_policy. Example: target='https://agentdiet-72343955726.us-central1.run.app/mcp'.
⟨56 unchanged words⟩ . Private and loopback IPs are blocked.","examples":["https://agentdiet-72343955726.us-central1.run.app/mcp"],"maxLength":512,"minLength":8,"type":" ⟨41 unchanged words⟩
⟨10 unchanged words⟩ of the canonical MCP tools/list schema from mcp-lock.json.IfOmitsettoandread or auto-pin the current livehashdigest;differs,passverdictais64-hex'deny'.digest to enforce zero-drift gating.","maxLength":128,"minLength":0,"type ⟨38 unchanged words⟩
⟨7 unchanged words⟩ :false,"title":"Query Historical Ledger &ManagePin Expected Schema Hashes"}
EvaluateGate a remote MCP, A2A, or x402 endpoint before calling or payingit.itProbesby probing live JSON-RPC reachability,hasheshashing tools/list (SHA-256),checksandexpected_tools_hashscanning for prompt-injection poisoning. When expected_tools_hash is provided, any mismatch against the live tools/list digest forces verdict='deny' to block silentrug-pullschemadriftrug-pulls; when omitted, verdict reflects liveness andscansinjectionforsafetyprompt-injectionalone.poisoning.Read-onlyReturnsgate;{verdictfirst('allow'|'warn'|'deny'),5reason,calls/IPreceiptare('asr_rcpt_...'),freedossier}.and quota-exceeded calls return a 402 top-up prompt. Use before tool execution or payment;fortopost-paymentregisterdisputesor refresh public leaderboard telemetry useassay_verify_delivery;assay_probe;fortorawreadtelemetryorindexingpin stored policy hashes useassay_probe.assay_get_ledger_policy;Firstafter5paymentcalls/IPusefree.assay_verify_delivery.
⟨10 unchanged words⟩ of the canonical MCP tools/list schema from mcp-lock.json.IfOmitsettoandread or auto-pin the current livehashdigest;differs,passverdictais64-hex'deny'.digest to enforce zero-drift gating.","maxLength":128,"minLength":0,"type ⟨38 unchanged words⟩
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":falsetrue,"title":"Pre-Flight MCP & A2A Security Gate"}
RecordRegisterLive& Refresh Endpoint ConformanceObservationTelemetry
ExecuteRegister alivenewHTTPremote MCP, A2Aagent-card,andorMCPx402tools/listendpointprobeoragainstrefreshaitstargetpublicURLAssayandObservatoryrecorddossierthebyobservationrunninginatheliveAssayHTTP,Observatoryagent-card,ledgerandwithoutJSON-RPCpre-flighttools/list inspection without policy gating.ReturnsTargetthemustupdatedbedossiera{target,publicgradeHTTPS origin ('A+'privatetoIPs'F'),arescorerejected(0-100with a 400 error),;mcp_tools,eachtools_hash,call appends a timestamped observation and increments rug_pulls,poison_flags,iflatency_ms,tools_hashreceipt}.driftedUsesince the prior stored observation. Writes toindextheapublicserverledger; first 5 calls/IP are free and retries are idempotent on steady schemas. Use to onboard orrefreshre-indexleaderboardatelemetry;server; for pre-call allow/deny gating useassay_preflight.assay_preflight;Firstfor5historicalcalls/IPobservationsfree.or hash pinning use assay_get_ledger_policy; for post-payment disputes use assay_verify_delivery.
⟨4 unchanged words⟩ openWorldHint":true,"readOnlyHint":false,"title":"RecordRegisterLive& Refresh Endpoint ConformanceObservationTelemetry"}
Independently probeAudit a paidx402/A2Ax402 or A2A provider after payment toverifyconfirm delivery orconfirmprove an SLAbreach.breachCombineswithreportedan HMAC-SHA256 signed receipt. Passing status_codewith>=a500 forces verdict='sla_breach_confirmed' even if the liveprobere-probeandsucceeds,bindswhile passing tx_hashintocryptographicallyanbindsHMAC-SHA256yourreceipt.BaseReturnsor{verdictSolana('delivery_verified'|'sla_breach_confirmed'),paymentsla_breach,signaturegrade,intoscore,thesla_receiptreceipt ('asr_sla_...'omitting tx_hash still verifies liveness and issues a probe-bound receipt)}. Non-destructive; first 5 calls/IP are free and failed target connections do not throw tool errors. Use only after paying a provider; before payment useassay_preflight.assay_preflight;Firstfor5publiccalls/IPindexingfree.use assay_probe; for policy history use assay_get_ledger_policy.
{"additionalProperties":false,"properties":{"status_code":{"description":"Optional HTTP status code returned by the paid endpoint (e.g. '200', '502', '504'). Codes >= 500triggerforceverdict='sla_breach_confirmed'.verdict='sla_breach_confirmed' even if a retry probe succeeds.","maxLength":8,"minLength":0,"type ⟨33 unchanged words⟩ :"string"},"tx_hash":{"description":"On-chainOptional on-chain payment transaction hash (0x Base USDC hash or base58 Solana signature) to bind into the signed SLA receipt. Omit to run an unsigned post-call SLA check.","maxLength":128,"minLength":0,"type ⟨5 unchanged words⟩
⟨49 unchanged words⟩ server or refresh leaderboard telemetry; for allow/deny gatingor hash pinninguse assay_preflight. First 5 calls/IP free.
before
—after
{"properties":{"dossier":{"type":"object"},"reason":{"type":"string"},"receipt":{"type":"string"},"verdict":{"type":"string"}},"required":["verdict","receipt"],"type":"object"}before
—after
{"properties":{"dossier":{"type":"object"},"reason":{"type":"string"},"receipt":{"type":"string"},"verdict":{"type":"string"}},"required":["verdict","receipt"],"type":"object"}Query Historical Ledger & Manage Expected Schema Hashes — Query historical conformance observations, rug-pull drift events, and canonical SHA-256 tools/list policy hashes (expected_tools_hash) for a target MCP or A2A endpoint. Returns {verdict, reason, receipt, pinned_tools_hash, observations, dossier}. Use to audit historical ledger data or pin expected_tools_hash in mcp-lock.json; for pre-flight allow/deny gating use assay_preflight.
{"additionalProperties":false,"properties":{"expected_tools_hash":{"description":"expected_tools_hashOptionalfor64-charassay_preflightSHA-256 hex digest of the canonical MCP tools/list schema from mcp-lock.json. If set and the live hash differs, verdict is 'deny'.","maxLength":128,"minLength":0,"type":"string"},"target":{"description":"targetPublicforHTTPSassay_preflightURL of the remote MCP server, A2A agent, or x402 endpoint to inspect (e.g. 'https://tandem.ac/mcp'). Private and loopback IPs are blocked.","maxLength":512,"minLength":8,"type":"string"}},"required":[ ⟨3 unchanged words⟩
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":false,"title":"Pre-Flight MCP & A2A Security Gate"}
assay_probeRecord Live Endpoint Conformance Observation
ProbeExecute a liveMCP/A2A/x402HTTP,endpointA2A agent-card, and MCP tools/list probe against a target URL and recordobservation.the observation in the Assay Observatory ledger without pre-flight policy gating. Returns the updated dossier {target, grade ('A+' to 'F'), score (0-100), mcp_tools, tools_hash, rug_pulls, poison_flags, latency_ms, receipt}. Use to index a server or refresh leaderboard telemetry; for allow/deny gating or hash pinning use assay_preflight. First 5 calls/IP free.
{"additionalProperties":false,"properties":{"target":{"description":"targetPublicforHTTPSassay_probeURL of the remote MCP server, A2A agent, or x402 endpoint to inspect (e.g. 'https://tandem.ac/mcp'). Private and loopback IPs are blocked.","maxLength":512,"minLength":8,"type":"string"}},"required":[ ⟨3 unchanged words⟩
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":false,"title":"Record Live Endpoint Conformance Observation"}
assay_verify_deliveryVerify Post-Payment x402 Delivery & Mint SLA Receipt
VerifyIndependentlypost-paymentprobeA2A/x402a paid x402/A2A provider after payment to verify deliveryandormintconfirmsignedan SLA breach. Combines reported status_code with a live probe and binds tx_hash into an HMAC-SHA256 receipt. Returns {verdict ('delivery_verified'|'sla_breach_confirmed'), sla_breach, grade, score, sla_receipt ('asr_sla_...')}. Use only after paying a provider; before payment use assay_preflight. First 5 calls/IP free.
{"additionalProperties":false,"properties":{"status_code":{"description":"status_codeHTTPforstatusassay_verify_deliverycode returned by the paid endpoint (e.g. '200', '502', '504'). Codes >= 500 trigger verdict='sla_breach_confirmed'.","maxLength":8,"minLength":0,"type":"string"},"target":{"description":"targetPublicforHTTPSassay_verify_deliveryURL of the remote MCP server, A2A agent, or x402 endpoint to inspect (e.g. 'https://tandem.ac/mcp'). Private and loopback IPs are blocked.","maxLength":512,"minLength":8,"type":"string"},"tx_hash":{"description":"tx_hashOn-chainforpaymentassay_verify_deliverytransaction hash (0x Base USDC hash or base58 Solana signature) to bind into the signed SLA receipt.","maxLength":128,"minLength":0,"type":"string"}},"required":[ ⟨3 unchanged words⟩
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":false,"title":"Verify Post-Payment x402 Delivery & Mint SLA Receipt"}