Skip to main content
Glama

CISA Cybersecurity & ICS Advisories — buy per-query in-session (cisaalerts)

data_session_open

Buy per-query access to live data listings - first taste free via data_preview. Listing: cisaalerts: CISA Cybersecurity & ICS Advisories (0.01 USDC/query (max 20 queries/session)). Open a prepaid session, then fund and query.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
listing_idNoUUID of the listing. Provide exactly one of listing_slug or listing_id.
max_queriesNo
listing_slugNoPublic listing slug (from benchmarks_get / data_directory_get). Provide exactly one of listing_slug or listing_id.
open_tx_hashNo
buyer_addressNoBuyer EVM address. Optional: defaults to your own platform wallet when omitted.
proof_escrow_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed13 schema fields changed
    • addedInput schema / description
      Added value: +"MCP-only input for ``data_session_open``.\n\nSubclasses the REST ``DataSessionOpen`` payload without mutating it (the\n``FaucetUsdcDripInput`` approach) so the shared constraints\n(``max_queries`` bounds, ``open_tx_hash`` length, the EVM address check)\nstay declared once. Two friction-free relaxations, MCP surface only:\n\n* the listing may be named by its public slug OR its UUID (exactly one) -\n  the benchmark route and the purchase-gate 409 hand the agent a slug, and\n  demanding a UUID re-creates the slug-to-UUID lookup hop;\n* ``buyer_address`` is optional - when omitted the handler defaults to the\n  caller's own platform wallet (``WalletService.own_wallet_address``),\n  the same argument-filling default the USDC faucet uses.\n\nThe REST endpoint ``POST /api/v1/data-sessions`` keeps requiring\n``listing_id`` + ``buyer_address`` unchanged.\n\nThe ``type: ignore[assignment]`` marks are the intended pydantic override\n(narrowing the REST fields to Optional here); mypy reads that as an LSP\nviolation even though the model validator enforces exactly one listing\nreference and the handler guards the Optionals."
    • addedInput schema / properties / buyer_address / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / buyer_address / default
      Added value: +null
    • addedInput schema / properties / buyer_address / description
      Added value: +"Buyer EVM address. Optional: defaults to your own platform wallet when omitted."
    • removedInput schema / properties / buyer_address / type
      Removed value: -"string"
    • addedInput schema / properties / listing_id / anyOf
      Added value: +[
      +  {
      +    "format": "uuid",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / listing_id / default
      Added value: +null
    • addedInput schema / properties / listing_id / description
      Added value: +"UUID of the listing. Provide exactly one of listing_slug or listing_id."
    • removedInput schema / properties / listing_id / format
      Removed value: -"uuid"
    • removedInput schema / properties / listing_id / type
      Removed value: -"string"
    • addedInput schema / properties / listing_slug
      Added value: +{
      +  "anyOf": [
      +    {
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Public listing slug (from benchmarks_get / data_directory_get). Provide exactly one of listing_slug or listing_id.",
      +  "title": "Listing Slug"
      +}
    • removedInput schema / required
      Removed value: -[
      -  "listing_id",
      -  "buyer_address"
      -]
    • changedInput schema / title
      Previous value: -"DataSessionOpen"New value: +"DataSessionOpenInput"
  2. First observed

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already carry readOnlyHint=false, idempotentHint=false and destructiveHint=false, so the description only needs to add context beyond those flags. It adds the paid-transaction nature, the real per-query cost, and the 20-query session cap - information an agent must surface before spending funds. Nothing in the description contradicts the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with the core purpose front-loaded and the pricing sentence providing concrete cost context. The final sentence earns its place by stating the lifecycle ordering. There is minor redundancy between 'Buy per-query access' and 'Open a prepaid session,' which restate the same action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The schema's rich description block already documents the exactly-one slug-or-UUID rule, the buyer_address default, and the constraint rationale, which lowers the burden on the tool description. The description covers purpose, price, usage limit, the free alternative, and lifecycle order, but omits what a successful open returns (no output schema) and how proof_escrow_id or data_session_attach_escrow fit the flow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%: listing_id, listing_slug and buyer_address are documented, while max_queries, open_tx_hash and proof_escrow_id are not. The description adds meaning relevant to max_queries via the per-query price and 20-query session cap, and gives a concrete listing slug reference, but it does not compensate for the undocumented transaction-hash and escrow parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific action - buy per-query access to live data listings - and names the exact resource, listing (cisaalerts) and price (0.01 USDC/query). It explicitly distinguishes itself from the free-preview sibling data_preview and positions itself ahead of data_session_fund and data_session_query via the lifecycle sentence 'Open a prepaid session, then fund and query.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly names data_preview as the free alternative for a first taste, and the final sentence encodes the open-then-fund-then-query ordering that separates this tool from its fund and query siblings. It does not cover escrow-attachment or funding-package alternatives, nor does it state explicit when-not-to-use conditions beyond the preview hint.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources