← Assay Observatory

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

Assay Badge
Target: https://pagefetch.openkrill.app
Source: Live MCP JSON-RPC (tools/list) | Tools Audited: 4 | Current Glama TDQS: 3.38/5.0 (67.5/100) → Compiled: 5.0/5.0 (100/100)
1. Glama 6-Dim TDQS: 3.38/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://pagefetch.openkrill.app)](https://assay.agentdiet.dev/?inspect=https://pagefetch.openkrill.app)

Canonical SHA-256 Schema Lock: sha256:7d90cdf5dc946.. → sha256:3cf9fdf9c494e..

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

MCP Tool NameCurrent TDQSDetected Glama Rubric Deductions (Behavior / Conciseness / Parameters / Usage / Schema)
fetch_page3.05/5.0 (61)Parameters 3/5: no cross-param interaction prose, Behavior 3/5: no side-effect/quota disclosure, Missing MCP annotations.title / safety hints
extract_page_json3.7/5.0 (74)Behavior 3/5: no side-effect/quota disclosure, Missing MCP annotations.title / safety hints
submit_feedback3.7/5.0 (74)Usage Guidelines 3/5: no sibling routing, Missing MCP annotations.title / safety hints
get_feedback_reply3.05/5.0 (61)Parameters 3/5: no cross-param interaction prose, Behavior 3/5: no side-effect/quota disclosure, Missing MCP annotations.title / safety hints

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

{
  "tool_1_before": {
    "name": "fetch_page",
    "title": "Fetch a web page as Markdown",
    "description": "Read one public web page and return its main content as clean Markdown: headings, paragraphs, lists, quotes, code blocks, tables and absolute links, without menus, footers, scripts or cookie banners. Also returns the title, description, language, canonical address and up to 100 links from the content. robots.txt is checked first and a disallowed page is skipped with the reason. It never signs in, passes a paywall, solves a CAPTCHA or runs page scripts. Pass max_chars for more than 20000 characters.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string",
          "minLength": 1,
          "maxLength": 400,
          "description": "Full address of one public web page, such as \"https://example.com/docs/intro\". http is upgraded to https."
        },
        "max_chars": {
          "type": "integer",
          "minimum": 1000,
          "description": "Longest Markdown to return, cut at a block end. Default 20000, most 100000: a larger value returns 100000 with a note."
        },
        "links": {
          "type": "boolean",
          "description": "Set false to leave out the link list. Default true: up to 100 distinct links from the main content."
        }
      },
      "required": [
        "url"
      ],
      "additionalProperties": false,
      "examples": [
        {
          "url": "https://example.com",
          "links": false
        }
      ]
    },
    "outputSchema": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string"
        },
        "status": {
          "type": "string",
          "enum": [
            "ok",
            "skipped"
          ]
        },
        "final_url": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "lang": {
          "type": "string"
        },
        "canonical": {
          "type": "string"
        },
        "content_type": {
          "type": "string"
        },
        "markdown": {
          "type": "string"
        },
        "chars": {
          "type": "integer"
        },
        "truncated": {
          "type": "boolean"
        },
        "words": {
          "type": "integer"
        },
        "links": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "text": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "internal": {
                "type": "boolean"
              }
            },
            "required": [
              "text",
              "url",
              "internal"
            ]
          }
        },
        "links_total": {
          "type": "integer"
        },
        "fetched_at": {
          "type": "string"
        },
        "from_cache": {
          "type": "boolean"
        },
        "notes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "reason": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "retry_after_seconds": {
          "type": "integer"
        },
        "untrusted_source": {
          "type": "boolean"
        },
        "note": {
          "type": "string"
        },
        "as_of": {
          "type": "string",
          "description": "ISO 8601 time the data was published by its source or fetched from it. A cached answer keeps the time of its fetch."
        },
        "source": {
          "type": "object",
          "description": "Who the data comes from, to cite and to check it against.",
          "properties": {
            "name": {
              "type": "string"
            },
            "url": {
              "type": "string"
            }
          },
          "required": [
            "name",
            "url"
          ]
        }
      },
      "required": [
        "url",
        "status",
        "untrusted_source",
        "note",
        "as_of",
        "source"
      ]
    },
    "annotations": {
      "readOnlyHint": true,
      "destructiveHint": false,
      "idempotentHint": true,
      "openWorldHint": true
    },
    "_meta": {
      "openai/toolInvocation/invoking": "Fetch a web page as Markdown...",
      "openai/toolInvocation/invoked": "Done: Fetch a web page as Markdown"
    }
  },
  "tool_1_compiled_5_0_tdqs": {
    "name": "fetch_page",
    "title": "Fetch Page",
    "description": "Read one public web page and return its main content as clean Markdown: headings, paragraphs, lists, quotes, code blocks, tables and absolute links, without menus, footers, scripts or cookie banners. Also returns the title, description, language, canonical address and up to 100 links from the content. robots.txt is checked first and a disallowed page is skipped with the reason. It never signs in, passes a paywall, solves a CAPTCHA or runs page scripts. Pass max_chars for more than 20000 characters. WHEN TO USE: Call fetch_page for this operation; for sibling workflows use extract_page_json, submit_feedback, get_feedback_reply. WHEN NOT TO USE: Do not call for unrelated mutations. PARAMETER INTERACTIONS: Pass url, max_chars 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",
          "minLength": 1,
          "maxLength": 400,
          "description": "Full address of one public web page, such as \"https://example.com/docs/intro\". http is upgraded to https."
        },
        "max_chars": {
          "type": "integer",
          "minimum": 1000,
          "description": "Longest Markdown to return, cut at a block end. Default 20000, most 100000: a larger value returns 100000 with a note."
        },
        "links": {
          "type": "boolean",
          "description": "Set false to leave out the link list. Default true: up to 100 distinct links from the main content."
        }
      },
      "required": [
        "url"
      ],
      "additionalProperties": false,
      "examples": [
        {
          "url": "https://example.com",
          "links": false
        }
      ]
    },
    "outputSchema": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string"
        },
        "status": {
          "type": "string",
          "enum": [
            "ok",
            "skipped"
          ]
        },
        "final_url": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "lang": {
          "type": "string"
        },
        "canonical": {
          "type": "string"
        },
        "content_type": {
          "type": "string"
        },
        "markdown": {
          "type": "string"
        },
        "chars": {
          "type": "integer"
        },
        "truncated": {
          "type": "boolean"
        },
        "words": {
          "type": "integer"
        },
        "links": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "text": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "internal": {
                "type": "boolean"
              }
            },
            "required": [
              "text",
              "url",
              "internal"
            ]
          }
        },
        "links_total": {
          "type": "integer"
        },
        "fetched_at": {
          "type": "string"
        },
        "from_cache": {
          "type": "boolean"
        },
        "notes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "reason": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "retry_after_seconds": {
          "type": "integer"
        },
        "untrusted_source": {
          "type": "boolean"
        },
        "note": {
          "type": "string"
        },
        "as_of": {
          "type": "string",
          "description": "ISO 8601 time the data was published by its source or fetched from it. A cached answer keeps the time of its fetch."
        },
        "source": {
          "type": "object",
          "description": "Who the data comes from, to cite and to check it against.",
          "properties": {
            "name": {
              "type": "string"
            },
            "url": {
              "type": "string"
            }
          },
          "required": [
            "name",
            "url"
          ]
        }
      },
      "required": [
        "url",
        "status",
        "untrusted_source",
        "note",
        "as_of",
        "source"
      ]
    },
    "annotations": {
      "title": "Fetch Page",
      "readOnlyHint": true,
      "destructiveHint": false,
      "idempotentHint": true,
      "openWorldHint": true
    },
    "_meta": {
      "openai/toolInvocation/invoking": "Fetch a web page as Markdown...",
      "openai/toolInvocation/invoked": "Done: Fetch a web page as Markdown"
    }
  },
  "auto_generated_a2a_skill_1_preview": {
    "id": "fetch-page",
    "name": "Fetch Page",
    "description": "Read one public web page and return its main content as clean Markdown: headings, paragraphs, lists, quotes, code blocks, tables and absolute links, without menus, footers, scripts or cookie banners. Also returns the tit",
    "tags": [
      "mcp",
      "a2a",
      "x402",
      "fetch"
    ]
  },
  "signed_mcp_lock_preview": {
    "target": "https://pagefetch.openkrill.app",
    "tools_hash": "sha256:3cf9fdf9c494e4ae330b57957e975281fc70b5d91b78076b694e7730c02b3600",
    "tdqs": 5.0,
    "protocols": [
      "mcp-2025-03-26",
      "a2a-0.2.1",
      "x402-v2-bazaar",
      "stripe-mpp-32042"
    ],
    "signature": "asr_lock_47051456c6ee2abcf4ce53560adf6422"
  },
  "locked_bundle_contents": "Unlock remaining 3 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