← 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-207908449630.us-central1.run.app/v1/badge.svg?target=https://pagefetch.openkrill.app)](https://assay-207908449630.us-central1.run.app/?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"
        }
      },
      "required": [
        "url",
        "status",
        "untrusted_source",
        "note"
      ]
    },
    "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"
        }
      },
      "required": [
        "url",
        "status",
        "untrusted_source",
        "note"
      ]
    },
    "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 (16 Live x402/MCP Nodes)