Skip to main content
Glama

Assay A2A, MCP & x402 Pre-Flight Verifier & Observatory

Server Details

Live behavioral security verifier, schema auditor, and trust oracle for A2A, MCP & x402 agents.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.5/5.0

Scored across 4 tools

Disambiguation4/5

The four tools target distinct phases (history/pinning, pre-payment gating, public indexing, post-payment audit), and each description explicitly cross-references the others to steer selection. However, preflight, probe, and verify_delivery all perform live probing/hashing of the same target, so an agent must read carefully to avoid overlap; descriptions mitigate but don't fully eliminate the risk.

Naming Consistency4/5

All tools share a consistent 'assay_' prefix and use snake_case throughout. The suffix style is mostly verb_noun (get_ledger_policy, verify_delivery) but 'preflight' is a noun/adjective rather than a verb, a minor deviation from the pattern.

Tool Count4/5

Four tools is on the lean side but maps cleanly onto the verification lifecycle stages (read/pin, gate, index, verify), so each earns its place. It is slightly thin for a full 'observatory' surface but not under-scoped.

Completeness4/5

The surface covers the core lifecycle: historical policy read/pin, live pre-call gating, public onboarding/re-indexing, and post-payment SLA receipts. Minor gaps exist (e.g., no tool to list/enumerate all indexed endpoints or manage quota/account), but core agent workflows are covered with no obvious dead ends.

Available Tools

4 tools
assay_get_ledger_policyQuery Historical Ledger & Pin Expected Schema HashesA
Idempotent
Inspect

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'.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYesPublic 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_hashNoOptional 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.

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNo
reasonNo
statusNo
dossierNo
receiptYes
verdictYes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare idempotentHint=true and destructiveHint=false, but the description adds genuinely new context: pinning behavior when a hash is supplied, no network probing when omitted unless the target is unindexed, and a rate limit ('first 5 calls/IP are free'). It also resolves the apparent read/write ambiguity implied by the 'get' name and readOnlyHint=false.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, then branching behavior, then sibling routing, then an example. The closing example URL duplicates the schema's own example field, which is the only real waste in an otherwise dense, purposeful block.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be enumerated, yet the description still states what comes back (dossier and last 20 drift observations). Combined with the pinning semantics, rate limit, and sibling routing, an agent has everything needed to call this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds consequence-level meaning the schema does not: supplying expected_tools_hash pins that digest as the baseline and compares it to the latest observation, while omitting it returns the dossier plus the last 20 drift observations.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific compound verb+resource: retrieve historical conformance observations and manage pinned SHA-256 tools/list policy hashes in the Assay ledger for a target endpoint. This is clearly distinguishable from the sibling tools named in the same description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent: use here to audit historical drift or pin mcp-lock.json hashes; use assay_preflight for live pre-execution gating, assay_probe for live re-indexing, and assay_verify_delivery for post-payment SLA receipts. When-to-use and alternatives are both spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

assay_preflightPre-Flight MCP & A2A Security GateA
Read-onlyIdempotent
Inspect

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'.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYesPublic 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_hashNoOptional 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.

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNo
reasonNo
statusNo
dossierNo
receiptYes
verdictYes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), but the description adds genuinely new behavior: hash mismatch forces verdict='deny', and quota limits (5 free calls/IP, 402 top-up on exceed). It stops short of describing output shape or latency, but output schema exists, so the remaining gap is small.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the primary action and mechanism, then conditional behavior, then sibling routing. Dense but nearly every clause carries information; the inline example URL is arguably redundant with the schema examples.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With annotations, a full two-parameter schema, and an output schema all present, the description supplies everything missing: gating semantics, payment/quota behavior, and tool routing. An agent can call this correctly without further inference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3; the description adds meaning by explaining the consequence of each mode — passing a digest enforces zero-drift gating, omitting it reads/auto-pins the live digest. This is more than a restatement of the schema text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('gate'), a precise resource class (remote MCP, A2A, or x402 endpoint), and the three concrete mechanisms (JSON-RPC reachability probe, SHA-256 tools/list hashing, injection scanning). It is clearly distinguishable from siblings, which are named in the same breath.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use it ('before tool execution or payment') and routes to each alternative by condition: assay_probe for registration/telemetry, assay_get_ledger_policy for stored policy hashes, assay_verify_delivery after payment. Both when-to-use and when-to-use-something-else are covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

assay_probeRegister & Refresh Endpoint Conformance TelemetryA
Idempotent
Inspect

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'.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYesPublic 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.

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNo
reasonNo
statusNo
dossierNo
receiptYes
verdictYes

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare a non-read-only, open-world, idempotent, non-destructive tool; the description adds substantial value beyond that. It discloses the 400-rejection of private IPs, that each call appends a timestamped observation, that rug_pulls increments on tools_hash drift, that it writes to a public ledger, the first-5-calls/IP free tier, and conditional idempotency on steady schemas. This richness is well above the annotation baseline.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense but front-loaded: purpose first, then constraints, effects, and routing alternatives in a compact block with a concrete example. Each sentence carries weight, though the single long opening paragraph packs several concerns together and could be marginally more scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value explanation is unnecessary, and annotations already carry the safety profile. The description covers the remaining agent-critical facts: eligibility constraints, side effects on the public ledger, drift counter behavior, rate limits, and idempotency semantics.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single 'target' parameter, and the schema already states that private/loopback IPs are blocked. The description restates the public-HTTPS constraint and format but adds no syntax, normalization, or validation detail the schema lacks, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (register/refresh a remote MCP, A2A, or x402 endpoint dossier) and names the mechanism (live HTTP, agent-card, JSON-RPC tools/list inspection without policy gating). The agent can distinguish this onboarding/re-indexing action from the sibling gating, ledger, and verification tools without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent: 'Use to onboard or re-index a server' plus three named alternatives with selecting conditions (pre-call gating -> assay_preflight, historical observations/hash pinning -> assay_get_ledger_policy, post-payment disputes -> assay_verify_delivery). Nothing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

assay_verify_deliveryVerify Post-Payment x402 Delivery & Mint SLA ReceiptA
Idempotent
Inspect

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'.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYesPublic 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_hashNoOptional 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_codeNoOptional 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.

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNo
reasonNo
statusNo
dossierNo
receiptYes
verdictYes

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With annotations already covering the safety profile (destructiveHint=false, idempotentHint=true), the description still adds non-obvious behavior: the first 5 calls/IP are free, failed target connections do not throw tool errors, status_code>=500 forcibly overrides the verdict to 'sla_breach_confirmed', and omitting tx_hash yields a probe-bound rather than payment-bound receipt. These are exactly the rate-limit, error-semantics, and side-effect details annotations cannot express, and nothing contradicts them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences with the core purpose front-loaded, then behavioral rules, then sibling routing, then an example. Every clause carries information, though the middle sentence is heavily packed and could be split for readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be explained, and the description still covers the gaps an agent needs: the post-payment precondition, the free-call quota, non-throwing failure behavior, and the two receipt modes. Complete for a 3-parameter, open-world audit tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds decision-relevant semantics beyond the schema: what passing tx_hash cryptographically binds (Base/Solana payment signature) and that omitting it still verifies liveness, plus the verdict-forcing effect of status_code. It reinforces rather than merely restates the field docs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb+resource (audit a paid x402/A2A provider post-payment) plus the concrete outcome (confirm delivery or mint an HMAC-SHA256 signed SLA-breach receipt). It is unmistakably distinct from assay_preflight, assay_probe, and assay_get_ledger_policy, which are named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit when-to-use gate ('Use only after paying a provider') and routes the agent to each alternative by condition: assay_preflight before payment, assay_probe for public indexing, assay_get_ledger_policy for policy history. Nothing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updates
    • First observedassay_get_ledger_policy
    • First observedassay_preflight
    • First observedassay_probe
    • First observedassay_verify_delivery

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents and MCP servers to operate under autonomous security enforcement, including pre-deployment scanning, per-call authorization, runtime monitoring, incident containment, and comprehensive auditing.
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    A continuous, out-of-band trust and reliability layer for the MCP ecosystem. It fingerprints MCP server tool definitions, detects and classifies drift (e.g., rug pulls) via a severity taxonomy, maintains a hash-chained evidence ledger, and gates CI with SARIF—while also acting as an MCP server itself so agents can check a server's safety before binding.
    Apache 2.0
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables MCP-compatible agent hosts to delegate governed, read-only security audits and reviews of code, applications, agents, prompts, MCP configurations, and cloud environments through evidence-first findings and stable schemas.
    1
    Apache 2.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources