← Assay Observatory

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

Assay Badge
Target: https://agent-margin-router-production.up.railway.app
Source: Live MCP JSON-RPC (tools/list) | Tools Audited: 53 | Current Glama TDQS: 2.77/5.0 (55.4/100) → Compiled: 5.0/5.0 (100/100)
1. Glama 6-Dim TDQS: 2.77/5.0 → 5.0/5.0
2. A2A Agent Card: ○ MISSING (Auto-Generated in $9 Pack)
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://agent-margin-router-production.up.railway.app)](https://assay.agentdiet.dev/?inspect=https://agent-margin-router-production.up.railway.app)

Canonical SHA-256 Schema Lock: sha256:3eea4088e6dc9.. → sha256:27dfd697c8b58..

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

MCP Tool NameCurrent TDQSDetected Glama Rubric Deductions (Behavior / Conciseness / Parameters / Usage / Schema)
extract_clean2.4/5.0 (48)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
market_spread3.05/5.0 (61)Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
gas_fees3.05/5.0 (61)Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
best_price3.05/5.0 (61)Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
token_price3.05/5.0 (61)Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
wallet_balance2.4/5.0 (48)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
web_search3.05/5.0 (61)Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
email_validate2.4/5.0 (48)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
dns_whois2.4/5.0 (48)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
pdf_text2.4/5.0 (48)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
seo_check2.4/5.0 (48)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
defi_yields2.4/5.0 (48)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
currency_convert2.4/5.0 (48)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
geo_ip3.05/5.0 (61)Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
rss_feed2.4/5.0 (48)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
crypto_ohlcv3.05/5.0 (61)Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
ens_resolve2.4/5.0 (48)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
html_to_markdown2.4/5.0 (48)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
youtube_transcript2.4/5.0 (48)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
github_repo_summary3.05/5.0 (61)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Missing MCP annotations.title / safety hints
dex_price3.05/5.0 (61)Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
tx_status2.4/5.0 (48)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
erc20_balance3.05/5.0 (61)Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
news_search2.4/5.0 (48)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
hn_search2.4/5.0 (48)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
reddit_search2.4/5.0 (48)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
defi_tvl2.4/5.0 (48)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
fear_greed2.4/5.0 (48)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
agent_wallet_snapshot3.7/5.0 (74)Unbounded inputSchema: additionalProperties!=false, Missing MCP annotations.title / safety hints
url_status3.05/5.0 (61)Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
web_crawl3.05/5.0 (61)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Missing MCP annotations.title / safety hints
metadata3.05/5.0 (61)Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
sitemap_urls3.05/5.0 (61)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Missing MCP annotations.title / safety hints
wikipedia_summary3.7/5.0 (74)Unbounded inputSchema: additionalProperties!=false, Missing MCP annotations.title / safety hints
arxiv_search2.4/5.0 (48)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
npm_package3.05/5.0 (61)Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
pypi_package3.05/5.0 (61)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Missing MCP annotations.title / safety hints
geocode3.05/5.0 (61)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Missing MCP annotations.title / safety hints
domain_rdap3.05/5.0 (61)Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
dns_lookup2.4/5.0 (48)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
contract_info3.05/5.0 (61)Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
weather3.05/5.0 (61)Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
holidays3.05/5.0 (61)Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
robots_check2.4/5.0 (48)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
feed_discover3.05/5.0 (61)Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
text_stats3.05/5.0 (61)Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
timezone3.05/5.0 (61)Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
qr_generate2.4/5.0 (48)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
uuid2.4/5.0 (48)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
hash2.4/5.0 (48)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
media_convert2.4/5.0 (48)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
health2.4/5.0 (48)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Missing MCP annotations.title / safety hints
payment_info3.7/5.0 (74)Unbounded inputSchema: additionalProperties!=false, Missing MCP annotations.title / safety hints

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

{
  "tool_1_before": {
    "name": "extract_clean",
    "title": "Extract Clean",
    "description": "Clean page extraction from any public URL: title, meta description, main text, JSON-LD, language. Optional `schema` keeps only the listed top-level keys. Apify (JS-rendered) with direct-fetch fallback. Pay per call with USDC or USDT on Base via x402 \u2013 no API key, no signup. 3 free calls per wallet.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string",
          "description": "Public URL to extract.",
          "format": "uri"
        },
        "schema": {
          "type": "object",
          "description": "Optional JSON schema for the output."
        },
        "instructions": {
          "type": "string",
          "description": "Optional natural-language hints."
        },
        "wallet": {
          "type": "string",
          "description": "Your EVM wallet address (0x...). Unlocks the free tier (3 free calls per wallet)."
        },
        "api_key": {
          "type": "string",
          "description": "Optional AMR enterprise API key."
        },
        "x_payment": {
          "type": "string",
          "description": "Optional signed x402 payment payload (base64 JSON) for USDC/USDT on Base."
        }
      },
      "required": [
        "url"
      ]
    },
    "annotations": {
      "readOnlyHint": true,
      "openWorldHint": true
    },
    "outputSchema": {
      "description": "Response for ``POST /extract-clean``.",
      "properties": {
        "data": {
          "additionalProperties": true,
          "description": "Extracted page data (title, description, text, json_ld, language, ...).",
          "title": "Data",
          "type": "object"
        },
        "sources_checked": {
          "description": "Number of providers consulted.",
          "title": "Sources Checked",
          "type": "integer"
        },
        "freshness_seconds": {
          "description": "Age of the underlying data in seconds (0 = fetched live).",
          "title": "Freshness Seconds",
          "type": "integer"
        },
        "confidence": {
          "description": "Confidence score between 0 and 1.",
          "maximum": 1.0,
          "minimum": 0.0,
          "title": "Confidence",
          "type": "number"
        },
        "cost_usdc": {
          "description": "Price charged in stablecoin units (USDC/USDT 1:1).",
          "title": "Cost Usdc",
          "type": "number"
        },
        "token": {
          "default": "USDC",
          "description": "Token actually used for payment (USDC, USDT or FREE).",
          "title": "Token",
          "type": "string"
        },
        "fetched_at": {
          "description": "UTC timestamp when the data was fetched.",
          "format": "date-time",
          "title": "Fetched At",
          "type": "string"
        },
        "routing": {
          "description": "How the request was routed (provider, fallback, cache, latency).",
          "properties": {
            "provider": {
              "description": "Name of the upstream provider that served the result.",
              "title": "Provider",
              "type": "string"
            },
            "fallback_used": {
              "default": false,
              "description": "True if the primary provider failed and a fallback served the result.",
              "title": "Fallback Used",
              "type": "boolean"
            },
            "providers_tried": {
              "description": "Providers attempted, in order.",
              "items": {
                "type": "string"
              },
              "title": "Providers Tried",
              "type": "array"
            },
            "cache_hit": {
              "default": false,
              "description": "True if the result was served from cache.",
              "title": "Cache Hit",
              "type": "boolean"
            },
            "latency_ms": {
              "default": 0,
              "description": "End-to-end routing latency in milliseconds.",
              "title": "Latency Ms",
              "type": "integer"
            }
          },
          "required": [
            "provider"
          ],
          "title": "RoutingMeta",
          "type": "object"
        },
        "x_payment_response": {
          "type": "string",
          "description": "Base64-encoded x402 settlement receipt (mirrors the X-PAYMENT-RESPONSE header). Only present when the call was paid with `x_payment`."
        }
      },
      "required": [
        "data",
        "sources_checked",
        "freshness_seconds",
        "confidence",
        "cost_usdc",
        "routing"
      ],
      "type": "object"
    }
  },
  "tool_1_compiled_5_0_tdqs": {
    "name": "extract_clean",
    "title": "Extract Clean",
    "description": "Clean page extraction from any public URL: title, meta description, main text, JSON-LD, language. Optional `schema` keeps only the listed top-level keys. Apify (JS-rendered) with direct-fetch fallback. Pay per call with USDC or USDT on Base via x402 \u2013 no API key, no signup. 3 free calls per wallet. WHEN TO USE: Call extract_clean for this operation; for sibling workflows use market_spread, gas_fees, best_price. WHEN NOT TO USE: Do not call for unrelated mutations. PARAMETER INTERACTIONS: Pass url, schema 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": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string",
          "description": "Public URL to extract.",
          "format": "uri",
          "minLength": 1,
          "maxLength": 2048
        },
        "schema": {
          "type": "object",
          "description": "Optional JSON schema for the output."
        },
        "instructions": {
          "type": "string",
          "description": "Optional natural-language hints.",
          "minLength": 1,
          "maxLength": 2048
        },
        "wallet": {
          "type": "string",
          "description": "Your EVM wallet address (0x...). Unlocks the free tier (3 free calls per wallet).",
          "minLength": 1,
          "maxLength": 2048
        },
        "api_key": {
          "type": "string",
          "description": "Optional AMR enterprise API key.",
          "minLength": 1,
          "maxLength": 2048
        },
        "x_payment": {
          "type": "string",
          "description": "Optional signed x402 payment payload (base64 JSON) for USDC/USDT on Base.",
          "minLength": 1,
          "maxLength": 2048
        }
      },
      "required": [
        "url"
      ],
      "additionalProperties": false
    },
    "annotations": {
      "title": "Extract Clean",
      "readOnlyHint": true,
      "destructiveHint": false,
      "idempotentHint": true,
      "openWorldHint": true
    },
    "outputSchema": {
      "description": "Response for ``POST /extract-clean``.",
      "properties": {
        "data": {
          "additionalProperties": true,
          "description": "Extracted page data (title, description, text, json_ld, language, ...).",
          "title": "Data",
          "type": "object"
        },
        "sources_checked": {
          "description": "Number of providers consulted.",
          "title": "Sources Checked",
          "type": "integer"
        },
        "freshness_seconds": {
          "description": "Age of the underlying data in seconds (0 = fetched live).",
          "title": "Freshness Seconds",
          "type": "integer"
        },
        "confidence": {
          "description": "Confidence score between 0 and 1.",
          "maximum": 1.0,
          "minimum": 0.0,
          "title": "Confidence",
          "type": "number"
        },
        "cost_usdc": {
          "description": "Price charged in stablecoin units (USDC/USDT 1:1).",
          "title": "Cost Usdc",
          "type": "number"
        },
        "token": {
          "default": "USDC",
          "description": "Token actually used for payment (USDC, USDT or FREE).",
          "title": "Token",
          "type": "string"
        },
        "fetched_at": {
          "description": "UTC timestamp when the data was fetched.",
          "format": "date-time",
          "title": "Fetched At",
          "type": "string"
        },
        "routing": {
          "description": "How the request was routed (provider, fallback, cache, latency).",
          "properties": {
            "provider": {
              "description": "Name of the upstream provider that served the result.",
              "title": "Provider",
              "type": "string"
            },
            "fallback_used": {
              "default": false,
              "description": "True if the primary provider failed and a fallback served the result.",
              "title": "Fallback Used",
              "type": "boolean"
            },
            "providers_tried": {
              "description": "Providers attempted, in order.",
              "items": {
                "type": "string"
              },
              "title": "Providers Tried",
              "type": "array"
            },
            "cache_hit": {
              "default": false,
              "description": "True if the result was served from cache.",
              "title": "Cache Hit",
              "type": "boolean"
            },
            "latency_ms": {
              "default": 0,
              "description": "End-to-end routing latency in milliseconds.",
              "title": "Latency Ms",
              "type": "integer"
            }
          },
          "required": [
            "provider"
          ],
          "title": "RoutingMeta",
          "type": "object"
        },
        "x_payment_response": {
          "type": "string",
          "description": "Base64-encoded x402 settlement receipt (mirrors the X-PAYMENT-RESPONSE header). Only present when the call was paid with `x_payment`."
        }
      },
      "required": [
        "data",
        "sources_checked",
        "freshness_seconds",
        "confidence",
        "cost_usdc",
        "routing"
      ],
      "type": "object"
    }
  },
  "auto_generated_a2a_skill_1_preview": {
    "id": "extract-clean",
    "name": "Extract Clean",
    "description": "Clean page extraction from any public URL: title, meta description, main text, JSON-LD, language. Optional `schema` keeps only the listed top-level keys. Apify (JS-rendered) with direct-fetch fallback. Pay per call with ",
    "tags": [
      "mcp",
      "a2a",
      "x402",
      "extract"
    ]
  },
  "signed_mcp_lock_preview": {
    "target": "https://agent-margin-router-production.up.railway.app",
    "tools_hash": "sha256:27dfd697c8b58464513ea070364ab82fde4140d9b5b5711179d36bec700ab3ec",
    "tdqs": 5.0,
    "protocols": [
      "mcp-2025-03-26",
      "a2a-0.2.1",
      "x402-v2-bazaar",
      "stripe-mpp-32042"
    ],
    "signature": "asr_lock_3043dbac460314f369dc4ee1337fbd28"
  },
  "locked_bundle_contents": "Unlock remaining 52 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