protogrid

Search / dev.agentdiet/assay

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

R0· no sign-in

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

v0.7.32 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality94new
Trust83of 100
Uptime, 30 days100%
Latency p50350 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "assay": {
      "type": "http",
      "url": "https://assay.agentdiet.dev/mcp"
    }
  }
}
claude mcp add --transport http assay https://assay.agentdiet.dev/mcp
[mcp_servers.assay]
url = "https://assay.agentdiet.dev/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "assay": {
      "type": "remote",
      "url": "https://assay.agentdiet.dev/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "assay": {
      "type": "http",
      "url": "https://assay.agentdiet.dev/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=assay&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYXNzYXkuYWdlbnRkaWV0LmRldi9tY3AifQ%3D%3D"
}
{
  "servers": {
    "assay": {
      "type": "http",
      "url": "https://assay.agentdiet.dev/mcp"
    }
  }
}
{
  "mcpServers": {
    "assay": {
      "httpUrl": "https://assay.agentdiet.dev/mcp"
    }
  }
}
extensions:
  "assay":
    enabled: true
    name: "assay"
    type: streamable_http
    uri: "https://assay.agentdiet.dev/mcp"
    timeout: 300

Quality 94 / 100new

protocol88 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • warn
    protocol.list_ttltools/list carries no ttlMs, so clients re-fetch it
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations4 of 4 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 1,642 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stabilityn/a · weight 15
  • n/a
    stability.changes, stability.rug_pulltool history recorded for 1 of the 7 days needed
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

4 tools, about 1,642 tokens to load them all · tool set bebe8fa1aa59 · checked 2026-10-20 13:49 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 83 / 100

no-repository
provenance55
liveness100
freshness100
hygiene80

+dns-namespace +website +reachable +uptime-100% +updated-1d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://assay.agentdiet.dev/mcp streamable-httpnoneyes100%350 ms2026-07-28, 2025-11-25, 2025-06-18, 2025-03-262026-10-20

Tools (4)

assay_get_ledger_policyRetrieve 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'.
assay_preflightread-onlyGate 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'.
assay_probeRegister 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'.
assay_verify_deliveryAudit 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'.

Schemas: list_tools.

Similar MCP servers

More from dev.agentdiet

And 16 more from this publisher.

Official server.json
{
  "name": "dev.agentdiet/assay",
  "icons": [
    {
      "src": "https://assay.agentdiet.dev/logo.svg",
      "sizes": [
        "any"
      ],
      "mimeType": "image/svg+xml"
    }
  ],
  "title": "Assay A2A, MCP & x402 Pre-Flight Verifier & Observatory",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://assay.agentdiet.dev/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.7.32",
  "websiteUrl": "https://assay.agentdiet.dev",
  "description": "Live behavioral security verifier, schema auditor, and trust oracle for A2A, MCP & x402 agents."
}