← Assay Observatory

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

Assay Badge
Target: https://events.aero/mcp/events
Source: Live MCP JSON-RPC (tools/list) | Tools Audited: 5 | Current Glama TDQS: 2.27/5.0 (45.4/100) → Compiled: 5.0/5.0 (100/100)
1. Glama 6-Dim TDQS: 2.27/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://events.aero/mcp/events)](https://assay-207908449630.us-central1.run.app/?inspect=https://events.aero/mcp/events)

Canonical SHA-256 Schema Lock: sha256:8fa0389c7287f.. → sha256:b1541a881abd2..

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

MCP Tool NameCurrent TDQSDetected Glama Rubric Deductions (Behavior / Conciseness / Parameters / Usage / Schema)
search-events3.7/5.0 (74)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false
get-event1.75/5.0 (35)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Behavior 3/5: no side-effect/quota disclosure
featured-events2.4/5.0 (48)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Behavior 3/5: no side-effect/quota disclosure
list-event-types1.75/5.0 (35)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Behavior 3/5: no side-effect/quota disclosure
list-countries1.75/5.0 (35)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose, Behavior 3/5: no side-effect/quota disclosure

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

{
  "tool_1_before": {
    "name": "search-events",
    "title": "Search events",
    "description": "Search upcoming public aviation events on Events.Aero (airshows, fly-ins, workshops and more). Filter by free text, event type, country, date range, distance from a point, free entry or online events. Results are ordered by start date, or by distance when latitude and longitude are given, one page at a time. Every result includes the public event page URL: send people there to book or RSVP.",
    "inputSchema": {
      "properties": {
        "query": {
          "description": "Words matched against the event name, venue name, town and location: every word must appear, matched from the start of a word (\"dux\" finds Duxford); up to 100 characters",
          "type": "string"
        },
        "type": {
          "description": "Event type, from list-event-types",
          "enum": [
            "airshow",
            "fly_in",
            "static_display",
            "workshop",
            "seminar",
            "online_event",
            "club_meet",
            "conference",
            "expo",
            "competition",
            "charity_event",
            "military",
            "spotting",
            "model_aircraft"
          ],
          "type": "string"
        },
        "country": {
          "description": "Two-letter country code, e.g. GB: list-countries lists the live countries; a soft-launched country is answered only when named (without one, only live countries are searched)",
          "type": "string"
        },
        "from": {
          "description": "Earliest start date, YYYY-MM-DD: a calendar date matched against each event's own local start date (in the event's timezone)",
          "type": "string"
        },
        "to": {
          "description": "Latest start date, YYYY-MM-DD, inclusive: a calendar date matched against each event's own local start date",
          "type": "string"
        },
        "latitude": {
          "description": "Search near this point (with longitude); results are ordered by distance",
          "type": "number"
        },
        "longitude": {
          "description": "Search near this point (with latitude)",
          "type": "number"
        },
        "radius_nm": {
          "description": "Radius around the point in nautical miles (default 50, at most 500)",
          "type": "integer"
        },
        "free": {
          "description": "Only free events",
          "type": "boolean"
        },
        "online": {
          "description": "Only online events",
          "type": "boolean"
        },
        "page": {
          "description": "Page of results, from 1",
          "type": "integer"
        },
        "per_page": {
          "description": "Results per page (default 20, at most 50)",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "annotations": {
      "title": "Search events",
      "readOnlyHint": true,
      "idempotentHint": true
    }
  },
  "tool_1_compiled_5_0_tdqs": {
    "name": "search-events",
    "title": "Search-Events",
    "description": "Search upcoming public aviation events on Events.Aero (airshows, fly-ins, workshops and more). Filter by free text, event type, country, date range, distance from a point, free entry or online events. Results are ordered by start date, or by distance when latitude and longitude are given, one page at a time. Every result includes the public event page URL: send people there to book or RSVP. WHEN TO USE: Call search-events for this operation; for sibling workflows use get-event, featured-events, list-event-types. WHEN NOT TO USE: Do not call for unrelated mutations. PARAMETER INTERACTIONS: Pass query, type 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": {
        "query": {
          "description": "Words matched against the event name, venue name, town and location: every word must appear, matched from the start of a word (\"dux\" finds Duxford); up to 100 characters",
          "type": "string",
          "minLength": 1,
          "maxLength": 2048
        },
        "type": {
          "description": "Event type, from list-event-types",
          "enum": [
            "airshow",
            "fly_in",
            "static_display",
            "workshop",
            "seminar",
            "online_event",
            "club_meet",
            "conference",
            "expo",
            "competition",
            "charity_event",
            "military",
            "spotting",
            "model_aircraft"
          ],
          "type": "string",
          "minLength": 1,
          "maxLength": 2048
        },
        "country": {
          "description": "Two-letter country code, e.g. GB: list-countries lists the live countries; a soft-launched country is answered only when named (without one, only live countries are searched)",
          "type": "string",
          "minLength": 1,
          "maxLength": 2048
        },
        "from": {
          "description": "Earliest start date, YYYY-MM-DD: a calendar date matched against each event's own local start date (in the event's timezone)",
          "type": "string",
          "minLength": 1,
          "maxLength": 2048
        },
        "to": {
          "description": "Latest start date, YYYY-MM-DD, inclusive: a calendar date matched against each event's own local start date",
          "type": "string",
          "minLength": 1,
          "maxLength": 2048
        },
        "latitude": {
          "description": "Search near this point (with longitude); results are ordered by distance",
          "type": "number"
        },
        "longitude": {
          "description": "Search near this point (with latitude)",
          "type": "number"
        },
        "radius_nm": {
          "description": "Radius around the point in nautical miles (default 50, at most 500)",
          "type": "integer"
        },
        "free": {
          "description": "Only free events",
          "type": "boolean"
        },
        "online": {
          "description": "Only online events",
          "type": "boolean"
        },
        "page": {
          "description": "Page of results, from 1",
          "type": "integer"
        },
        "per_page": {
          "description": "Results per page (default 20, at most 50)",
          "type": "integer"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "annotations": {
      "title": "Search events",
      "readOnlyHint": true,
      "destructiveHint": false,
      "idempotentHint": true,
      "openWorldHint": true
    },
    "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-events",
    "name": "Search-Events",
    "description": "Search upcoming public aviation events on Events.Aero (airshows, fly-ins, workshops and more). Filter by free text, event type, country, date range, distance from a point, free entry or online events. Results are ordered",
    "tags": [
      "mcp",
      "a2a",
      "x402",
      "search-events"
    ]
  },
  "signed_mcp_lock_preview": {
    "target": "https://events.aero/mcp/events",
    "tools_hash": "sha256:b1541a881abd232c1b5c18ee122c8a9aa1062bcee8cc42ef0396852480ee5235",
    "tdqs": 5.0,
    "protocols": [
      "mcp-2025-03-26",
      "a2a-0.2.1",
      "x402-v2-bazaar",
      "stripe-mpp-32042"
    ],
    "signature": "asr_lock_c9c9174006a3cd03dafbfbf359964b22"
  },
  "locked_bundle_contents": "Unlock remaining 4 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)