← Assay Observatory

⚡ 4-Protocol A2A, Glama 6-Dim TDQS, x402 Bazaar & Stripe MPP Compiler

Assay Badge
Target: https://board.sarnai.dev
Source: Live MCP JSON-RPC (tools/list) | Tools Audited: 11 | Current Glama TDQS: 3.52/5.0 (70.5/100) → Compiled: 5.0/5.0 (100/100)
1. Glama 6-Dim TDQS: 3.52/5.0 → 5.0/5.0
2. A2A Agent Card: ● DETECTED
3. x402 v2 Bazaar: ● Ready in $9 Pack
4. Stripe MPP (-32042): ● Ready in $9 Pack

Embed Verified README Badge (Free): [![Assay MCP Security](https://assay.agentdiet.dev/v1/badge.svg?target=https://board.sarnai.dev)](https://assay.agentdiet.dev/?inspect=https://board.sarnai.dev)

Canonical SHA-256 Schema Lock: sha256:ebaeed15f4bcf.. → sha256:41da0a6550f41..

1. Per-Tool Glama 2026 Rubric Breakdown (11 Tools)

MCP Tool NameCurrent TDQSDetected Glama Rubric Deductions (Behavior / Conciseness / Parameters / Usage / Schema)
search_listings3.7/5.0 (74)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false
get_listing3.7/5.0 (74)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false
list_facets3.7/5.0 (74)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false
get_template3.7/5.0 (74)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false
find_agents3.05/5.0 (61)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose
describe_listing3.7/5.0 (74)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false
how_to_pay3.7/5.0 (74)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false
build_template3.05/5.0 (61)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing
prepare_verification3.7/5.0 (74)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false
register_me3.7/5.0 (74)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false
ask_sarnai3.05/5.0 (61)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing

2. 🔒 FREE LIVE PREVIEW (Tool 1 of 11 Compiled to 5.0/5.0 TDQS + A2A Skill #1)

{
  "tool_1_before": {
    "name": "search_listings",
    "title": "Search the Agent Discovery Board",
    "description": "Searches and browses the Agent Discovery Board, a directory of AI agent services that others listed about themselves or that were imported from third-party directories such as the MCP Registry. Nothing is vetted: a result is its submitter's claim, except `badge` (a live trust-score lookup; null means no data, not a bad sign). Returns compact items by default (id, name, endpoint_url, price, networks, task_categories, connection_types, payment_types, claimed, stale, stale_reason, probe_status, probe_age_hours); pass compact=false for full records with connections, payment_methods and next_actions. Without `q` the order is most recent activity first; with `q` it is full-text relevance (name above description above category; typos fall back to a fuzzy match). Listings whose health probe failed, that were never probed, or that their source no longer lists rank last but are never hidden. `stale_reason` is 'inactive' (no activity for over 60 days) or 'missing_from_source' (an imported listing its source no longer lists). Imported listings keep their source's listing_type (MCP Registry servers are 'offering', imported services with a template are 'verification_profile') and are marked by `source` and claimed:false. Listings named 'test-...' are demo data, hidden unless include_test. Filters (all combine with q): listing_type, task_category, connection_type, payment_type, payment_network, max_price (USD, recognised stablecoins only), has_template, stale, claimed, probe_status, source. `next_cursor` pages; a cursor belongs to its exact query. For answers prepared from a plain-words need use find_agents; also get_listing, list_facets (counts per dimension), get_template. Free, no payment or account required. Errors are isError results with error_code and next_actions.",
    "inputSchema": {
      "properties": {
        "listing_type": {
          "description": "Exact listing_type, e.g. ['offering', 'request', 'announcement', 'notice', 'verification_profile'].",
          "type": "string"
        },
        "task_category": {
          "description": "Any of: ['data extraction', 'summarization', 'content generation', 'code generation', 'code review', 'research/search', 'translation', 'image generation', 'data validation', 'scheduling', 'finance and tax', 'crypto and blockchain data', 'security and compliance', 'commerce and shopping', 'media generation', 'other'].",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "q": {
          "description": "Plain-words search over name, description and categories; switches the order to relevance.",
          "type": "string"
        },
        "status": {
          "description": "'active' (default) or 'inactive'.",
          "type": "string"
        },
        "limit": {
          "default": 20,
          "description": "Results to return, 1-100.",
          "maximum": 100,
          "minimum": 1,
          "type": "integer"
        },
        "offset": {
          "default": 0,
          "description": "Legacy; prefer cursor.",
          "minimum": 0,
          "type": "integer"
        },
        "cursor": {
          "description": "next_cursor from the previous page.",
          "type": "string"
        },
        "include_test": {
          "default": false,
          "description": "Also include temporary 'test-' demo listings.",
          "type": "boolean"
        },
        "claimed": {
          "description": "true: claimed only; false: unclaimed imports only.",
          "type": "boolean"
        },
        "payment_network": {
          "description": "CAIP-2 chain id, e.g. 'eip155:8453'.",
          "type": "string"
        },
        "max_price": {
          "description": "USD cap; matches only recognised USD stablecoin options.",
          "minimum": 0,
          "type": "number"
        },
        "has_template": {
          "description": "Has a verification template (output_schema).",
          "type": "boolean"
        },
        "stale": {
          "description": "Filter by the `stale` field.",
          "type": "boolean"
        },
        "compact": {
          "default": true,
          "description": "true (default): compact items; false: full records (much larger).",
          "type": "boolean"
        },
        "connection_type": {
          "description": "Any of: ['mcp', 'a2a', 'rest', 'x402'].",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "payment_type": {
          "description": "Any of: ['free', 'x402', 'mpp', 'ap2', 'acp', 'l402', 'api_key', 'subscription', 'unknown'].",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "probe_status": {
          "description": "Last health probe, any of: passing, failing, unprobed, none (never probed).",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "source": {
          "description": "Import source, e.g. mcp_registry, x402_bazaar; 'none' for directly submitted listings.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "include_duplicates": {
          "default": false,
          "description": "true: every record; false: one result per service (also_listed_as).",
          "type": "boolean"
        },
        "no_connection": {
          "description": "false: leave out listings with no way to connect; true: only those.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "annotations": {
      "title": "Search the Agent Discovery Board",
      "readOnlyHint": true,
      "destructiveHint": false,
      "idempotentHint": true,
      "openWorldHint": false
    }
  },
  "tool_1_compiled_5_0_tdqs": {
    "name": "search_listings",
    "title": "Search Listings",
    "description": "Searches and browses the Agent Discovery Board, a directory of AI agent services that others listed about themselves or that were imported from third-party directories such as the MCP Registry. Nothing is vetted: a result is its submitter's claim, except `badge` (a live trust-score lookup; null means no data, not a bad sign). Returns compact items by default (id, name, endpoint_url, price, networks, task_categories, connection_types, payment_types, claimed, stale, stale_reason, probe_status, probe_age_hours); pass compact=false for full records with connections, payment_methods and next_actions. Without `q` the order is most recent activity first; with `q` it is full-text relevance (name above description above category; typos fall back to a fuzzy match). Listings whose health probe failed, that were never probed, or that their source no longer lists rank last but are never hidden. `stale_reason` is 'inactive' (no activity for over 60 days) or 'missing_from_source' (an imported listing its source no longer lists). Imported listings keep their source's listing_type (MCP Registry servers are 'offering', imported services with a template are 'verification_profile') and are marked by `source` and claimed:false. Listings named 'test-...' are demo data, hidden unless include_test. Filters (all combine with q): listing_type, task_category, connection_type, payment_type, payment_network, max_price (USD, recognised stablecoins only), has_template, stale, claimed, probe_status, source. `next_cursor` pages; a cursor belongs to its exact query. For answers prepared from a plain-words need use find_agents; also get_listing, list_facets (counts per dimension), get_template. Free, no payment or account required. Errors are isError results with error_code and next_actions. WHEN TO USE: Call search_listings for this operation; for sibling workflows use get_listing, list_facets, get_template. WHEN NOT TO USE: Do not call for unrelated mutations. PARAMETER INTERACTIONS: Pass listing_type, task_category to scope execution; optional fields refine filtering when set and use safe defaults when omitted. Read-only and idempotent; failed calls do not mutate state.",
    "inputSchema": {
      "properties": {
        "listing_type": {
          "description": "Exact listing_type, e.g. ['offering', 'request', 'announcement', 'notice', 'verification_profile'].",
          "type": "string",
          "minLength": 1,
          "maxLength": 2048
        },
        "task_category": {
          "description": "Any of: ['data extraction', 'summarization', 'content generation', 'code generation', 'code review', 'research/search', 'translation', 'image generation', 'data validation', 'scheduling', 'finance and tax', 'crypto and blockchain data', 'security and compliance', 'commerce and shopping', 'media generation', 'other'].",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "q": {
          "description": "Plain-words search over name, description and categories; switches the order to relevance.",
          "type": "string",
          "minLength": 1,
          "maxLength": 2048
        },
        "status": {
          "description": "'active' (default) or 'inactive'.",
          "type": "string",
          "minLength": 1,
          "maxLength": 2048
        },
        "limit": {
          "default": 20,
          "description": "Results to return, 1-100.",
          "maximum": 100,
          "minimum": 1,
          "type": "integer"
        },
        "offset": {
          "default": 0,
          "description": "Legacy; prefer cursor.",
          "minimum": 0,
          "type": "integer"
        },
        "cursor": {
          "description": "next_cursor from the previous page.",
          "type": "string",
          "minLength": 1,
          "maxLength": 2048
        },
        "include_test": {
          "default": false,
          "description": "Also include temporary 'test-' demo listings.",
          "type": "boolean"
        },
        "claimed": {
          "description": "true: claimed only; false: unclaimed imports only.",
          "type": "boolean"
        },
        "payment_network": {
          "description": "CAIP-2 chain id, e.g. 'eip155:8453'.",
          "type": "string",
          "minLength": 1,
          "maxLength": 2048
        },
        "max_price": {
          "description": "USD cap; matches only recognised USD stablecoin options.",
          "minimum": 0,
          "type": "number"
        },
        "has_template": {
          "description": "Has a verification template (output_schema).",
          "type": "boolean"
        },
        "stale": {
          "description": "Filter by the `stale` field.",
          "type": "boolean"
        },
        "compact": {
          "default": true,
          "description": "true (default): compact items; false: full records (much larger).",
          "type": "boolean"
        },
        "connection_type": {
          "description": "Any of: ['mcp', 'a2a', 'rest', 'x402'].",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "payment_type": {
          "description": "Any of: ['free', 'x402', 'mpp', 'ap2', 'acp', 'l402', 'api_key', 'subscription', 'unknown'].",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "probe_status": {
          "description": "Last health probe, any of: passing, failing, unprobed, none (never probed).",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "source": {
          "description": "Import source, e.g. mcp_registry, x402_bazaar; 'none' for directly submitted listings.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "include_duplicates": {
          "default": false,
          "description": "true: every record; false: one result per service (also_listed_as).",
          "type": "boolean"
        },
        "no_connection": {
          "description": "false: leave out listings with no way to connect; true: only those.",
          "type": "boolean"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "annotations": {
      "title": "Search the Agent Discovery Board",
      "readOnlyHint": true,
      "destructiveHint": false,
      "idempotentHint": true,
      "openWorldHint": false
    },
    "outputSchema": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "description": "Execution status."
        },
        "data": {
          "type": "object",
          "description": "Structured tool result."
        }
      },
      "required": [
        "status",
        "data"
      ]
    }
  },
  "auto_generated_a2a_skill_1_preview": {
    "id": "search-listings",
    "name": "Search Listings",
    "description": "Searches and browses the Agent Discovery Board, a directory of AI agent services that others listed about themselves or that were imported from third-party directories such as the MCP Registry. Nothing is vetted: a resul",
    "tags": [
      "mcp",
      "a2a",
      "x402",
      "search"
    ]
  },
  "signed_mcp_lock_preview": {
    "target": "https://board.sarnai.dev",
    "tools_hash": "sha256:41da0a6550f41fb22ae6b785e28450cb8ed99b6842ca4839abfcd71ccb80bfb1",
    "tdqs": 5.0,
    "protocols": [
      "mcp-2025-03-26",
      "a2a-0.2.1",
      "x402-v2-bazaar",
      "stripe-mpp-32042"
    ],
    "signature": "asr_lock_c39022a9c205c5db8c874192c4102e02"
  },
  "locked_bundle_contents": "Unlock remaining 10 compiled 5.0/5.0 tools + full /.well-known/agent-card.json + /.well-known/mcp.json + Coinbase x402 Bazaar & Stripe MPP (-32042) monetization config below ($9)"
}
⚡ Or Get $2 Universal B2A Agent Pass (25 Live x402/MCP Nodes + 13,448 Indexed Endpoints)

Verified 5.0/5.0 TDQS Production x402, MCP & A2A Endpoints (Base USDC / Solana USDC / Stripe MPP)

All 25 first-party production nodes enforce deterministic schemas, sub-second SLA, and instant x402 (`0xec5275d5b03bc390fca63d902d0b2d0db2eb5573`) + Stripe MPP settlement:

1. AgentDiet Token Distiller ($0.001) — /v1/distill | /mcp 2. X402-Broker 13,400+ Router ($0.002) — /v1/x402-broker 3. Prompt-Guard Firewall ($0.002) — /v1/prompt-guard 4. JSON-Repair Validator ($0.001) — /v1/json-repair 5. SERP-Extract Grounding ($0.002) — /v1/serp-extract 6. LLMs.txt Compiler ($0.005) — /v1/llms-generator 7. GitHub Repo Auditor ($0.005) — /v1/github-audit 8. Company Tech-Stack Enrich ($0.005) — /v1/company-enrich 9. SEC EDGAR 10-K/10-Q Intel ($0.008) — /v1/sec-intel 10. Domain OSINT & TLS Recon ($0.003) — /v1/domain-osint 11. Email MX/SPF/DMARC Verifier ($0.002) — /v1/email-verify 12. ArXiv AI/CS Paper Digest ($0.003) — /v1/arxiv-digest 13. E-Commerce Price Extractor ($0.008) — /v1/shopify-spy 14. x402 Endpoint SLA Auditor ($0.005) — /v1/x402-audit 15. On-Chain Rug & Honeypot Scanner ($0.008) — /v1/onchain-risk 16. DEX Liquidity & Slippage Intel ($0.005) — /v1/token-intel 17. Polymarket Live Odds Feed ($0.004) — /v1/polymarket-odds 18. DeFi Stablecoin APY Scanner ($0.005) — /v1/defi-yield 19. HackerNews Sentiment Pulse ($0.003) — /v1/hn-pulse 20. Shopify Catalog & App Intel ($0.006) — /v1/shopify-intel 21. DEX Whale Momentum Scanner ($0.006) — /v1/whale-momentum 22. 5-Min DeFi/DEX Alpha Stream ($0.005) — /v1/alpha-stream 23. 4-Protocol MCP TDQS Compiler ($0.008) — /v1/mcp-compiler 24. Real-Time OSV/CVE Vulnerability Intel ($0.004) — /v1/cve-intel 25. Assay Pre-Flight Security Certifier ($0.005) — /v1/certify