Live behavioral security verifier, schema auditor, and trust oracle for A2A, MCP & x402 agents.
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Retrieve historical conformance observations and manage pinned SHA-256 tools/list policy hashes in the Assay ledger for a target endpoint. When expected_tools_hash is provided, it pins that 64-hex digest as the target's baseline policy and compares it against the latest stored observation; when omitted, it returns the stored dossier and last 20 drift observations without network probing unless the target is unindexed. Idempotent; first 5 calls/IP are free. Use to audit historical drift or pin mcp-lock.json hashes; for live pre-execution gating use assay_preflight; for live re-indexing use assay_probe; for post-payment SLA receipts use assay_verify_delivery. Example: target='https://agentdiet-72343955726.us-central1.run.app/mcp'.
Public HTTPS URL of the remote MCP server, A2A agent, or x402 endpoint to inspect (e.g. 'https://tandem.ac/mcp'). Private and loopback IPs are blocked.
Optional 64-char SHA-256 hex digest of the canonical MCP tools/list schema from mcp-lock.json. Omit to read or auto-pin the current live digest; pass a 64-hex digest to enforce zero-drift gating.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Retrieve historical conformance observations and manage pinned SHA-256 tools/list policy hashes in the Assay ledger for a target endpoint. When expected_tools_hash is provided, it pins that 64-hex digest as the target's baseline policy and compares it against the latest stored observation; when omitted, it returns the stored dossier and last 20 drift observations without network probing unless the target is unindexed. Idempotent; first 5 calls/IP are free. Use to audit historical drift or pin mcp-lock.json hashes; for live pre-execution gating use assay_preflight; for live re-indexing use assay_probe; for post-payment SLA receipts use assay_verify_delivery. Example: target='https://agentdiet-72343955726.us-central1.run.app/mcp'.
| Argument | Type | Description |
|---|---|---|
| target* | string | Public HTTPS URL of the remote MCP server, A2A agent, or x402 endpoint to inspect (e.g. 'https://tandem.ac/mcp'). Private and loopback IPs are blocked. |
| expected_tools_hash | string | Optional 64-char SHA-256 hex digest of the canonical MCP tools/list schema from mcp-lock.json. Omit to read or auto-pin the current live digest; pass a 64-hex digest to enforce zero-drift gating. |
{
"type": "object",
"examples": [
{
"target": "https://agentdiet-72343955726.us-central1.run.app/mcp"
}
],
"required": [
"target"
],
"properties": {
"target": {
"type": "string",
"examples": [
"https://agentdiet-72343955726.us-central1.run.app/mcp"
],
"maxLength": 512,
"minLength": 8,
"description": "Public HTTPS URL of the remote MCP server, A2A agent, or x402 endpoint to inspect (e.g. 'https://tandem.ac/mcp'). Private and loopback IPs are blocked."
},
"expected_tools_hash": {
"type": "string",
"maxLength": 128,
"minLength": 0,
"description": "Optional 64-char SHA-256 hex digest of the canonical MCP tools/list schema from mcp-lock.json. Omit to read or auto-pin the current live digest; pass a 64-hex digest to enforce zero-drift gating."
}
},
"additionalProperties": false
}Gate a remote MCP, A2A, or x402 endpoint before calling or paying it by probing live JSON-RPC reachability, hashing tools/list (SHA-256), and scanning for prompt-injection poisoning. When expected_tools_hash is provided, any mismatch against the live tools/list digest forces verdict='deny' to block silent schema rug-pulls; when omitted, verdict reflects liveness and injection safety alone. Read-only gate; first 5 calls/IP are free and quota-exceeded calls return a 402 top-up prompt. Use before tool execution or payment; to register or refresh public leaderboard telemetry use assay_probe; to read or pin stored policy hashes use assay_get_ledger_policy; after payment use assay_verify_delivery. Example: target='https://agentdiet-72343955726.us-central1.run.app/mcp'.
| Argument | Type | Description |
|---|---|---|
| target* | string | Public HTTPS URL of the remote MCP server, A2A agent, or x402 endpoint to inspect (e.g. 'https://tandem.ac/mcp'). Private and loopback IPs are blocked. |
| expected_tools_hash | string | Optional 64-char SHA-256 hex digest of the canonical MCP tools/list schema from mcp-lock.json. Omit to read or auto-pin the current live digest; pass a 64-hex digest to enforce zero-drift gating. |
{
"type": "object",
"examples": [
{
"target": "https://agentdiet-72343955726.us-central1.run.app/mcp"
}
],
"required": [
"target"
],
"properties": {
"target": {
"type": "string",
"examples": [
"https://agentdiet-72343955726.us-central1.run.app/mcp"
],
"maxLength": 512,
"minLength": 8,
"description": "Public HTTPS URL of the remote MCP server, A2A agent, or x402 endpoint to inspect (e.g. 'https://tandem.ac/mcp'). Private and loopback IPs are blocked."
},
"expected_tools_hash": {
"type": "string",
"maxLength": 128,
"minLength": 0,
"description": "Optional 64-char SHA-256 hex digest of the canonical MCP tools/list schema from mcp-lock.json. Omit to read or auto-pin the current live digest; pass a 64-hex digest to enforce zero-drift gating."
}
},
"additionalProperties": false
}Register a new remote MCP, A2A, or x402 endpoint or refresh its public Assay Observatory dossier by running a live HTTP, agent-card, and JSON-RPC tools/list inspection without policy gating. Target must be a public HTTPS origin (private IPs are rejected with a 400 error); each call appends a timestamped observation and increments rug_pulls if tools_hash drifted since the prior stored observation. Writes to the public ledger; first 5 calls/IP are free and retries are idempotent on steady schemas. Use to onboard or re-index a server; for pre-call allow/deny gating use assay_preflight; for historical observations or hash pinning use assay_get_ledger_policy; for post-payment disputes use assay_verify_delivery. Example: target='https://agentdiet-72343955726.us-central1.run.app/mcp'.
| Argument | Type | Description |
|---|---|---|
| target* | string | Public HTTPS URL of the remote MCP server, A2A agent, or x402 endpoint to inspect (e.g. 'https://tandem.ac/mcp'). Private and loopback IPs are blocked. |
{
"type": "object",
"examples": [
{
"target": "https://agentdiet-72343955726.us-central1.run.app/mcp"
}
],
"required": [
"target"
],
"properties": {
"target": {
"type": "string",
"examples": [
"https://agentdiet-72343955726.us-central1.run.app/mcp"
],
"maxLength": 512,
"minLength": 8,
"description": "Public HTTPS URL of the remote MCP server, A2A agent, or x402 endpoint to inspect (e.g. 'https://tandem.ac/mcp'). Private and loopback IPs are blocked."
}
},
"additionalProperties": false
}Audit a paid x402 or A2A provider after payment to confirm delivery or prove an SLA breach with an HMAC-SHA256 signed receipt. Passing status_code >= 500 forces verdict='sla_breach_confirmed' even if the live re-probe succeeds, while passing tx_hash cryptographically binds your Base or Solana payment signature into the receipt (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 use assay_preflight; for public indexing use assay_probe; for policy history use assay_get_ledger_policy. Example: target='https://agentdiet-72343955726.us-central1.run.app/mcp'.
| Argument | Type | Description |
|---|---|---|
| target* | string | Public HTTPS URL of the remote MCP server, A2A agent, or x402 endpoint to inspect (e.g. 'https://tandem.ac/mcp'). Private and loopback IPs are blocked. |
| tx_hash | string | Optional 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. |
| status_code | string | Optional HTTP status code returned by the paid endpoint (e.g. '200', '502', '504'). Codes >= 500 force verdict='sla_breach_confirmed' even if a retry probe succeeds. |
{
"type": "object",
"examples": [
{
"target": "https://agentdiet-72343955726.us-central1.run.app/mcp"
}
],
"required": [
"target"
],
"properties": {
"target": {
"type": "string",
"examples": [
"https://agentdiet-72343955726.us-central1.run.app/mcp"
],
"maxLength": 512,
"minLength": 8,
"description": "Public HTTPS URL of the remote MCP server, A2A agent, or x402 endpoint to inspect (e.g. 'https://tandem.ac/mcp'). Private and loopback IPs are blocked."
},
"tx_hash": {
"type": "string",
"maxLength": 128,
"minLength": 0,
"description": "Optional 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."
},
"status_code": {
"type": "string",
"maxLength": 8,
"minLength": 0,
"description": "Optional HTTP status code returned by the paid endpoint (e.g. '200', '502', '504'). Codes >= 500 force verdict='sla_breach_confirmed' even if a retry probe succeeds."
}
},
"additionalProperties": false
}