Skip to main content
Glama
PulseBet

pulse-verity

List Pulse Verity Index Assets

list_index_assets
Read-only

List crypto symbols with coverage status and measured cadence from the index catalog, filtered by coverage band or status. Page results using limit and offset.

Instructions

Read one bounded page from /api/index/v1/verity/catalog. Discover crypto symbols and their current coverage status and measured cadence. Catalog rows, prices and metadata are unsigned: use get_index_price or get_index_batch for signed receipts. Availability changes; total is a catalog count, not a count of fresh prices. No automatic pagination. Needs a developer key (PULSE_API_KEY) or the hosted server.

Input Schema

NameRequiredDescriptionDefault
bandNo
limitNo
offsetNo
statusNo

Output Schema

NameRequiredDescriptionDefault
noteNo
rowsNo
bandsNo
countNo
errorNo
totalNo
engineNo
requestIdYesIdentifier for this MCP call; not a signed price field.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv1.3.6
    • addedOutput schema / properties / error / properties / batchLimit
      Added value: +{
      +  "maximum": 100000,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedOutput schema / properties / error / properties / plan
      Added value: +{
      +  "enum": [
      +    "Developer",
      +    "Basic",
      +    "Builder",
      +    "Commercial",
      +    "Enterprise"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / error / properties / requested
      Added value: +{
      +  "maximum": 100000,
      +  "minimum": 1,
      +  "type": "integer"
      +}
  2. Changed6 schema fields changedv1.3.3
    • addedOutput schema / properties / error / properties / capacityAction
      Added value: +{
      +  "enum": [
      +    "review_plans",
      +    "contact_support"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / error / properties / getKeyUrl
      Added value: +{
      +  "maxLength": 256,
      +  "pattern": "^https:\\/\\/thepulse\\.markets\\/developers(?:[/?#][^\\s]*)?$",
      +  "type": "string"
      +}
    • addedOutput schema / properties / error / properties / hostedServerUrl
      Added value: +{
      +  "const": "https://mcp.thepulse.markets/api/index/mcp",
      +  "type": "string"
      +}
    • changedOutput schema / properties / error / properties / nextAction / enum
      Previous value: -[
      -  "wait",
      -  "review_access",
      -  "check_limits",
      -  "reconnect",
      -  "check_input",
      -  "choose_another_symbol",
      -  "report_issue"
      -]New value: +[
      +  "wait",
      +  "review_access",
      +  "check_limits",
      +  "reconnect",
      +  "check_input",
      +  "choose_another_symbol",
      +  "report_issue",
      +  "get_key"
      +]
    • addedOutput schema / properties / error / properties / resetAt
      Added value: +{
      +  "pattern": "^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])T([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}Z$",
      +  "type": "string"
      +}
    • addedOutput schema / properties / error / properties / upgradeUrl
      Added value: +{
      +  "const": "https://thepulse.markets/developers#/portal/pricing",
      +  "type": "string"
      +}
  3. Changed1 schema field changedv1.3.0
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "bands": {
      +      "items": {
      +        "enum": [
      +          "real-time",
      +          "five-second",
      +          "ten-second",
      +          "slow",
      +          "unavailable"
      +        ],
      +        "type": "string"
      +      },
      +      "maxItems": 5,
      +      "type": "array"
      +    },
      +    "count": {
      +      "maximum": 100,
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "engine": {
      +      "maxLength": 64,
      +      "type": "string"
      +    },
      +    "error": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "accountUrl": {
      +          "const": "https://thepulse.markets/developers/access",
      +          "type": "string"
      +        },
      +        "code": {
      +          "pattern": "^[A-Z][A-Z0-9_]{0,79}$",
      +          "type": "string"
      +        },
      +        "nextAction": {
      +          "enum": [
      +            "wait",
      +            "review_access",
      +            "check_limits",
      +            "reconnect",
      +            "check_input",
      +            "choose_another_symbol",
      +            "report_issue"
      +          ],
      +          "type": "string"
      +        },
      +        "retryAfterSeconds": {
      +          "maximum": 86400,
      +          "minimum": 1,
      +          "type": "integer"
      +        },
      +        "retryable": {
      +          "type": "boolean"
      +        }
      +      },
      +      "required": [
      +        "code",
      +        "nextAction"
      +      ],
      +      "type": "object"
      +    },
      +    "note": {
      +      "maxLength": 2048,
      +      "type": "string"
      +    },
      +    "requestId": {
      +      "description": "Identifier for this MCP call; not a signed price field.",
      +      "format": "uuid",
      +      "type": "string"
      +    },
      +    "rows": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "ambiguousTicker": {
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "at": {
      +            "anyOf": [
      +              {
      +                "maxLength": 40,
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "cadence": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "band": {
      +                "$ref": "#/properties/bands/items"
      +              },
      +              "calculatedAgeMs": {
      +                "anyOf": [
      +                  {
      +                    "type": "number"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "newestSourceAgeMs": {
      +                "anyOf": [
      +                  {
      +                    "$ref": "#/properties/rows/items/properties/cadence/properties/calculatedAgeMs/anyOf/0"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "oldestSourceAgeMs": {
      +                "anyOf": [
      +                  {
      +                    "$ref": "#/properties/rows/items/properties/cadence/properties/calculatedAgeMs/anyOf/0"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "p50UpdateMs": {
      +                "anyOf": [
      +                  {
      +                    "$ref": "#/properties/rows/items/properties/cadence/properties/calculatedAgeMs/anyOf/0"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "p95UpdateMs": {
      +                "anyOf": [
      +                  {
      +                    "$ref": "#/properties/rows/items/properties/cadence/properties/calculatedAgeMs/anyOf/0"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "updatesLast120s": {
      +                "$ref": "#/properties/total"
      +              }
      +            },
      +            "required": [
      +              "band",
      +              "calculatedAgeMs",
      +              "newestSourceAgeMs",
      +              "oldestSourceAgeMs",
      +              "p50UpdateMs",
      +              "p95UpdateMs"
      +            ],
      +            "type": "object"
      +          },
      +          "freshVenues": {
      +            "$ref": "#/properties/total"
      +          },
      +          "price": {
      +            "anyOf": [
      +              {
      +                "exclusiveMinimum": 0,
      +                "type": "number"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "quotes": {
      +            "items": {
      +              "maxLength": 32,
      +              "type": "string"
      +            },
      +            "maxItems": 100,
      +            "type": "array"
      +          },
      +          "status": {
      +            "enum": [
      +              "consensus",
      +              "blended",
      +              "indicative",
      +              "insufficient-coverage",
      +              "venue-disagreement",
      +              "unconvertible-quote",
      +              "stale",
      +              "kernel-rejected"
      +            ],
      +            "type": "string"
      +          },
      +          "symbol": {
      +            "maxLength": 128,
      +            "type": "string"
      +          },
      +          "venues": {
      +            "$ref": "#/properties/total"
      +          }
      +        },
      +        "required": [
      +          "symbol",
      +          "status",
      +          "price",
      +          "at",
      +          "venues",
      +          "freshVenues",
      +          "quotes",
      +          "cadence",
      +          "ambiguousTicker"
      +        ],
      +        "type": "object"
      +      },
      +      "maxItems": 100,
      +      "type": "array"
      +    },
      +    "total": {
      +      "minimum": 0,
      +      "type": "integer"
      +    }
      +  },
      +  "required": [
      +    "requestId"
      +  ],
      +  "type": "object"
      +}
  4. First observedv1.1.0

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare a safe read-only, open-world, non-idempotent operation. The description adds substantial behavioral context: catalog rows and metadata are unsigned, prices are not guaranteed fresh, total is a catalog count, there is no automatic pagination, and authentication is required.

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

Conciseness5/5

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

The endpoint and primary purpose are front-loaded, followed by concise caveats about signed receipts, availability, pagination, and auth. Every sentence adds relevant operational guidance without filler.

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 description covers the key calling context: auth requirements, unsigned catalog data, signed-receipt alternatives, pagination limits, and total semantics. It is largely complete given the output schema and annotations, but leaves the band and status filter meanings unexplained.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must explain the four parameters. 'Bounded page' and 'No automatic pagination' only loosely imply limit/offset, while the band and status enum meanings and ranges are not explained at all.

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 states a specific verb and resource: reading one bounded page from the Verity catalog to discover crypto symbols, coverage status, and measured cadence. It also distinguishes this unsigned catalog listing from the signed-receipt siblings get_index_price and get_index_batch.

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

Usage Guidelines5/5

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

It gives explicit usage context: use this to discover symbols and coverage status, but use get_index_price or get_index_batch for signed receipts. It also flags that availability changes, there is no automatic pagination, and a developer key or hosted server is required.

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