← Assay Observatory

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

Assay Badge
Target: https://laso.finance/auth
Source: Live MCP JSON-RPC (tools/list) | Tools Audited: 75 | Current Glama TDQS: 3.45/5.0 (69.1/100) → Compiled: 5.0/5.0 (100/100)
1. Glama 6-Dim TDQS: 3.45/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://laso.finance/auth)](https://assay-207908449630.us-central1.run.app/?inspect=https://laso.finance/auth)

Canonical SHA-256 Schema Lock: sha256:6f9c4a245fd07.. → sha256:a5ff0b7845780..

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

MCP Tool NameCurrent TDQSDetected Glama Rubric Deductions (Behavior / Conciseness / Parameters / Usage / Schema)
get_version4.35/5.0 (87)Unbounded inputSchema: additionalProperties!=false
refresh_token4.35/5.0 (87)Unbounded inputSchema: additionalProperties!=false
order_card3.7/5.0 (74)Unbounded inputSchema: additionalProperties!=false, Behavior 3/5: no side-effect/quota disclosure
get_card_data3.7/5.0 (74)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false
list_card_transactions3.7/5.0 (74)Unbounded inputSchema: additionalProperties!=false, Behavior 3/5: no side-effect/quota disclosure
get_card_deposit_address2.4/5.0 (48)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
get_card_issuer_status4.35/5.0 (87)Unbounded inputSchema: additionalProperties!=false
start_card_issuer_link4.35/5.0 (87)Unbounded inputSchema: additionalProperties!=false
verify_card_issuer_link4.35/5.0 (87)Unbounded inputSchema: additionalProperties!=false
get_saved_cards2.4/5.0 (48)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
create_saved_card_link4.35/5.0 (87)Unbounded inputSchema: additionalProperties!=false
buy_with_saved_card4.35/5.0 (87)Unbounded inputSchema: additionalProperties!=false
get_purchase_turn2.4/5.0 (48)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
get_purchase_conversation3.05/5.0 (61)Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Behavior 3/5: no side-effect/quota disclosure
create_reloadable_card4.35/5.0 (87)Unbounded inputSchema: additionalProperties!=false
get_account_balance3.7/5.0 (74)Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose
get_kyc_status4.35/5.0 (87)Unbounded inputSchema: additionalProperties!=false
get_kyc_link3.7/5.0 (74)Unbounded inputSchema: additionalProperties!=false, Behavior 3/5: no side-effect/quota disclosure
register_webhook4.35/5.0 (87)Unbounded inputSchema: additionalProperties!=false
get_webhook3.05/5.0 (61)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose
delete_webhook3.05/5.0 (61)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose
withdraw3.7/5.0 (74)Unbounded inputSchema: additionalProperties!=false, Behavior 3/5: no side-effect/quota disclosure
get_withdrawal_status3.05/5.0 (61)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false, Behavior 3/5: no side-effect/quota disclosure
refresh_card_data4.35/5.0 (87)Unbounded inputSchema: additionalProperties!=false
order_intl_card4.35/5.0 (87)Unbounded inputSchema: additionalProperties!=false
cancel_intl_order2.4/5.0 (48)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
search_merchants3.7/5.0 (74)Unbounded inputSchema: additionalProperties!=false, Behavior 3/5: no side-effect/quota disclosure
get_pricing3.7/5.0 (74)Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose
get_supported_countries3.05/5.0 (61)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose
start_signup4.35/5.0 (87)Unbounded inputSchema: additionalProperties!=false
get_signup_status3.7/5.0 (74)Unbounded inputSchema: additionalProperties!=false, Behavior 3/5: no side-effect/quota disclosure
get_auth_link3.05/5.0 (61)Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose, Behavior 3/5: no side-effect/quota disclosure
send_feedback3.7/5.0 (74)Unbounded inputSchema: additionalProperties!=false, Behavior 3/5: no side-effect/quota disclosure
list_address_book4.35/5.0 (87)Unbounded inputSchema: additionalProperties!=false
save_address_book_entry4.35/5.0 (87)Unbounded inputSchema: additionalProperties!=false
delete_address_book_entry4.35/5.0 (87)Unbounded inputSchema: additionalProperties!=false
push_to_card3.7/5.0 (74)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing
send_payment3.05/5.0 (61)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false, Behavior 3/5: no side-effect/quota disclosure
fund_card_balance3.05/5.0 (61)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Behavior 3/5: no side-effect/quota disclosure
withdraw_card_balance4.35/5.0 (87)Unbounded inputSchema: additionalProperties!=false
list_payment_recipients3.7/5.0 (74)Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose
update_payment_recipient3.7/5.0 (74)Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing
delete_payment_recipient4.35/5.0 (87)Unbounded inputSchema: additionalProperties!=false
get_payment_status3.7/5.0 (74)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false
send_bank_payment4.35/5.0 (87)Unbounded inputSchema: additionalProperties!=false
search_gift_cards4.35/5.0 (87)Unbounded inputSchema: additionalProperties!=false
order_gift_card4.35/5.0 (87)Unbounded inputSchema: additionalProperties!=false
create_banking_profile3.05/5.0 (61)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing
get_banking_profile_status2.4/5.0 (48)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose
get_banking_application2.4/5.0 (48)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose
update_banking_application_details2.4/5.0 (48)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose
upload_banking_document3.7/5.0 (74)Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose
submit_banking_application3.7/5.0 (74)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false
create_banking_account3.05/5.0 (61)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose
list_banking_accounts3.05/5.0 (61)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose
create_banking_recipient2.4/5.0 (48)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose
add_banking_destination2.4/5.0 (48)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose
list_banking_recipients2.4/5.0 (48)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose
update_banking_destination2.4/5.0 (48)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose
delete_banking_recipient2.4/5.0 (48)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose
get_banking_transaction2.4/5.0 (48)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose
list_banking_transactions3.05/5.0 (61)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose
exchange_api_key3.7/5.0 (74)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false
get_agent_spend_limit4.35/5.0 (87)Unbounded inputSchema: additionalProperties!=false
create_agent_api_key3.05/5.0 (61)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose
list_agent_api_keys2.4/5.0 (48)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose
revoke_agent_api_key3.05/5.0 (61)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose
revoke_unused_agent_api_keys2.4/5.0 (48)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false, Usage Guidelines 3/5: no sibling routing, Parameters 3/5: no cross-param interaction prose
announce_connection2.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
get_agent_wallet3.7/5.0 (74)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false
create_agent_wallet3.05/5.0 (61)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose
agent_wallet_transfer3.7/5.0 (74)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false
move_agent_wallet_funds2.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
pay_x402_endpoint3.05/5.0 (61)Missing outputSchema (Completeness -1), Unbounded inputSchema: additionalProperties!=false, Behavior 3/5: no side-effect/quota disclosure
search_docs3.7/5.0 (74)Unbounded inputSchema: additionalProperties!=false, Parameters 3/5: no cross-param interaction prose

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

{
  "tool_1_before": {
    "name": "get_version",
    "description": "Get the current docs version\n\nReturns the current API contract version (`api_version`), the versioning and deprecation policy, and the content-hash version of the Laso Finance agent docs (`SKILL.md`, `openapi.json`, `llms.txt`, `llms-full.txt`, `ai-plugin.json`). Free, no auth or payment header.\n\nAgents aggressively cache these docs, so use this to detect a stale cache: if the `docs_version` you last saw differs from the value returned here, refetch the docs. Every API response also carries this value in the `X-Laso-Docs-Version` response header, alongside `X-Laso-Docs-Manifest`, which points at the authoritative freshness beacon at `https://laso.finance/.well-known/docs-version.json`.\n\nThis route is also the `status` target of the API catalog at `https://laso.finance/.well-known/api-catalog` (RFC 9727), which every response advertises via a `Link` header with `rel=\"api-catalog\"`.",
    "inputSchema": {
      "type": "object",
      "properties": {}
    },
    "outputSchema": {
      "type": "object",
      "properties": {
        "docs_version": {
          "type": [
            "string",
            "null"
          ],
          "description": "12-character content hash of the agent docs. Changes only when the docs change."
        },
        "api_version": {
          "type": [
            "string",
            "null"
          ],
          "description": "Version of the API contract itself (this description's `info.version`). Moves only on a breaking change, unlike `docs_version`. Also sent on every response as `X-Laso-Api-Version`."
        },
        "versioning": {
          "type": [
            "object",
            "null"
          ],
          "description": "The versioning and deprecation policy in machine-readable form: which header carries the version, what counts as an additive versus a breaking change, and how a retirement is signalled."
        },
        "docs_manifest_url": {
          "type": [
            "string",
            "null"
          ],
          "description": "URL of the authoritative freshness beacon, served with no-cache."
        },
        "api_catalog_url": {
          "type": [
            "string",
            "null"
          ],
          "description": "URL of the RFC 9727 API catalog (`application/linkset+json`) indexing the OpenAPI description, the agent docs, and this status route."
        },
        "docs": {
          "type": [
            "object",
            "null"
          ],
          "description": "Per-file entries, each with a `url` and a stable `sha256` content identifier. Compare against the values you last saw to tell which file changed."
        },
        "note": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "annotations": {
      "title": "Get the current docs version",
      "readOnlyHint": true,
      "destructiveHint": false,
      "idempotentHint": true,
      "openWorldHint": false
    }
  },
  "tool_1_compiled_5_0_tdqs": {
    "name": "get_version",
    "description": "Get the current docs version\n\nReturns the current API contract version (`api_version`), the versioning and deprecation policy, and the content-hash version of the Laso Finance agent docs (`SKILL.md`, `openapi.json`, `llms.txt`, `llms-full.txt`, `ai-plugin.json`). Free, no auth or payment header.\n\nAgents aggressively cache these docs, so use this to detect a stale cache: if the `docs_version` you last saw differs from the value returned here, refetch the docs. Every API response also carries this value in the `X-Laso-Docs-Version` response header, alongside `X-Laso-Docs-Manifest`, which points at the authoritative freshness beacon at `https://laso.finance/.well-known/docs-version.json`.\n\nThis route is also the `status` target of the API catalog at `https://laso.finance/.well-known/api-catalog` (RFC 9727), which every response advertises via a `Link` header with `rel=\"api-catalog\"`. WHEN TO USE: Call get_version for this operation; for sibling workflows use refresh_token, order_card, get_card_data. WHEN NOT TO USE: Do not call for unrelated mutations. PARAMETER INTERACTIONS: Takes no required arguments. Read-only and idempotent; failed calls do not mutate state.",
    "inputSchema": {
      "type": "object",
      "properties": {},
      "additionalProperties": false
    },
    "outputSchema": {
      "type": "object",
      "properties": {
        "docs_version": {
          "type": [
            "string",
            "null"
          ],
          "description": "12-character content hash of the agent docs. Changes only when the docs change."
        },
        "api_version": {
          "type": [
            "string",
            "null"
          ],
          "description": "Version of the API contract itself (this description's `info.version`). Moves only on a breaking change, unlike `docs_version`. Also sent on every response as `X-Laso-Api-Version`."
        },
        "versioning": {
          "type": [
            "object",
            "null"
          ],
          "description": "The versioning and deprecation policy in machine-readable form: which header carries the version, what counts as an additive versus a breaking change, and how a retirement is signalled."
        },
        "docs_manifest_url": {
          "type": [
            "string",
            "null"
          ],
          "description": "URL of the authoritative freshness beacon, served with no-cache."
        },
        "api_catalog_url": {
          "type": [
            "string",
            "null"
          ],
          "description": "URL of the RFC 9727 API catalog (`application/linkset+json`) indexing the OpenAPI description, the agent docs, and this status route."
        },
        "docs": {
          "type": [
            "object",
            "null"
          ],
          "description": "Per-file entries, each with a `url` and a stable `sha256` content identifier. Compare against the values you last saw to tell which file changed."
        },
        "note": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "annotations": {
      "title": "Get the current docs version",
      "readOnlyHint": true,
      "destructiveHint": false,
      "idempotentHint": true,
      "openWorldHint": false
    },
    "title": "Get Version"
  },
  "auto_generated_a2a_skill_1_preview": {
    "id": "get-version",
    "name": "Get Version",
    "description": "Get the current docs version\n\nReturns the current API contract version (`api_version`), the versioning and deprecation policy, and the content-hash version of the Laso Finance agent docs (`SKILL.md`, `openapi.json`, `llm",
    "tags": [
      "mcp",
      "a2a",
      "x402",
      "get"
    ]
  },
  "signed_mcp_lock_preview": {
    "target": "https://laso.finance/auth",
    "tools_hash": "sha256:a5ff0b78457807bce2cbef76e5e0d4092731960193eac1d0b2e2ced4b993b808",
    "tdqs": 5.0,
    "protocols": [
      "mcp-2025-03-26",
      "a2a-0.2.1",
      "x402-v2-bazaar",
      "stripe-mpp-32042"
    ],
    "signature": "asr_lock_f9709b79e66768a4e85615d777b0d6cc"
  },
  "locked_bundle_contents": "Unlock remaining 74 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)