Skip to main content
Glama

get_series_history

Read-onlyIdempotent

PAID ($0.003). Historical values of a reference series with effective date ranges, optionally filtered by from/to (YYYY-MM-DD). Pass api_key if you have one (instant card checkout at /pricing); otherwise the response explains how to pay via x402. Every AU series is free to try. After a 200, bind get_changes (free poll) or register_alert (HMAC push; Register: $0 · Delivery after trial: $0.05) on this series so a later gazette does not silently retire the value.

Input Schema

NameRequiredDescriptionDefault
toNoLatest effective date, YYYY-MM-DD
fromNoEarliest effective date, YYYY-MM-DD
seriesYesSeries id
api_keyNoAPI key
countryYesISO country code

Output Schema

NameRequiredDescriptionDefault
errorNoPresent on a free refusal or error; no charge
staleNo
seriesNo
countryNo
entriesNo
no_chargeNo
price_usdNo
disclaimerNo
how_to_payNo
bind_seriesNo
explanationNo
label_basisNoInputs and the rule ids that produced the two labels
x_next_bindNo
http_endpointNo
coverage_labelNoHow much of the question is covered: ready = complete; partial = held with a disclosed limitation or default; gap = no number served. Rules at /label-rules
confidence_labelNoEvidence verdict derived from source type, verification age and the stale flag (answers: the weakest series read). Rules at /label-rules
payment_requiredNotrue when the call needs payment; how_to_pay explains x402 or card

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changed
    • removedOutput schema / properties / entries / items / properties / label_basis / properties / source_type / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / entries / items / properties / label_basis / properties / source_type / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / entries / items / properties / label_basis / properties / verification_age_days / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / entries / items / properties / label_basis / properties / verification_age_days / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / label_basis / properties / source_type / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / label_basis / properties / source_type / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / label_basis / properties / verification_age_days / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / label_basis / properties / verification_age_days / type
      Added value: +[
      +  "number",
      +  "null"
      +]
  2. Changed7 schema fields changed
    • changedOutput schema / description
      Previous value: -"Historical entries of one series"New value: +"Historical entries of one series; top-level labels describe the current value, and each entry carries its own"
    • addedOutput schema / properties / confidence_label
      Added value: +{
      +  "description": "Evidence verdict derived from source type, verification age and the stale flag (answers: the weakest series read). Rules at /label-rules",
      +  "enum": [
      +    "high",
      +    "medium",
      +    "low"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / coverage_label
      Added value: +{
      +  "description": "How much of the question is covered: ready = complete; partial = held with a disclosed limitation or default; gap = no number served. Rules at /label-rules",
      +  "enum": [
      +    "ready",
      +    "partial",
      +    "gap"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / entries / items / additionalProperties
      Added value: +{}
    • addedOutput schema / properties / entries / items / properties
      Added value: +{
      +  "confidence": {},
      +  "confidence_label": {
      +    "description": "Evidence verdict derived from source type, verification age and the stale flag (answers: the weakest series read). Rules at /label-rules",
      +    "enum": [
      +      "high",
      +      "medium",
      +      "low"
      +    ],
      +    "type": "string"
      +  },
      +  "country": {
      +    "type": "string"
      +  },
      +  "coverage_label": {
      +    "description": "How much of the question is covered: ready = complete; partial = held with a disclosed limitation or default; gap = no number served. Rules at /label-rules",
      +    "enum": [
      +      "ready",
      +      "partial",
      +      "gap"
      +    ],
      +    "type": "string"
      +  },
      +  "effective_from": {},
      +  "label_basis": {
      +    "additionalProperties": {},
      +    "description": "Inputs and the rule ids that produced the two labels",
      +    "properties": {
      +      "confidence_reasons": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "coverage_reasons": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "inputs": {
      +        "items": {},
      +        "type": "array"
      +      },
      +      "rules": {
      +        "type": "string"
      +      },
      +      "rules_version": {
      +        "type": "string"
      +      },
      +      "source_type": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "stale": {
      +        "type": "boolean"
      +      },
      +      "verification_age_days": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  "last_confirmed": {},
      +  "notes": {},
      +  "series": {
      +    "type": "string"
      +  },
      +  "source": {},
      +  "stale": {
      +    "type": "boolean"
      +  },
      +  "unit": {},
      +  "value": {}
      +}
    • addedOutput schema / properties / entries / items / type
      Added value: +"object"
    • addedOutput schema / properties / label_basis
      Added value: +{
      +  "additionalProperties": {},
      +  "description": "Inputs and the rule ids that produced the two labels",
      +  "properties": {
      +    "confidence_reasons": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "coverage_reasons": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "inputs": {
      +      "items": {},
      +      "type": "array"
      +    },
      +    "rules": {
      +      "type": "string"
      +    },
      +    "rules_version": {
      +      "type": "string"
      +    },
      +    "source_type": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "stale": {
      +      "type": "boolean"
      +    },
      +    "verification_age_days": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    }
      +  },
      +  "type": "object"
      +}
  3. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": {},
      +  "description": "Historical entries of one series",
      +  "properties": {
      +    "bind_series": {},
      +    "country": {
      +      "type": "string"
      +    },
      +    "disclaimer": {},
      +    "entries": {
      +      "items": {},
      +      "type": "array"
      +    },
      +    "error": {
      +      "description": "Present on a free refusal or error; no charge"
      +    },
      +    "explanation": {},
      +    "how_to_pay": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "http_endpoint": {
      +      "type": "string"
      +    },
      +    "no_charge": {
      +      "type": "boolean"
      +    },
      +    "payment_required": {
      +      "description": "true when the call needs payment; how_to_pay explains x402 or card",
      +      "type": "boolean"
      +    },
      +    "price_usd": {
      +      "type": "number"
      +    },
      +    "series": {
      +      "type": "string"
      +    },
      +    "stale": {
      +      "type": "boolean"
      +    },
      +    "x_next_bind": {}
      +  },
      +  "type": "object"
      +}
  4. Changed1 schema field changed
    • changedInput schema / properties / country / enum
      Previous value: -[
      -  "au",
      -  "nz"
      -]New value: +[
      +  "au",
      +  "fj",
      +  "nz",
      +  "pg",
      +  "sb",
      +  "to",
      +  "vu",
      +  "ws"
      +]
  5. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, openWorld, non-destructive), yet the description goes well beyond them: exact cost ($0.003), the api_key vs x402 payment paths, the free AU trial, and the consequences of not binding a downstream watcher. This is unusually rich behavioral context.

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?

Front-loaded with the paid marker and the core purpose, then payment and downstream steps in priority order. It is dense and slightly run-on across payment, trial, and sibling-routing topics, but every clause carries information an agent needs.

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

Completeness5/5

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

Output schema exists so return values need not be explained. Given the paid/auth complexity, the description covers payment mechanics, the free trial, and what to bind afterward — everything required to call this correctly.

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 100%, so all five parameters (including the enum country and the from/to format) are already documented in the schema. The description restates the YYYY-MM-DD format and api_key usage but adds no syntax or constraint detail beyond what the schema provides — the baseline 3 applies.

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?

States a specific verb and resource — "Historical values of a reference series with effective date ranges" — and scopes the optional from/to filter. An agent can immediately distinguish this from get_series, compare_series, and get_changes without opening any schema.

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?

Explicitly routes the agent downstream: "bind get_changes (free poll) or register_alert (HMAC push)" after a 200, and clarifies the free AU-series trial. It does not state when to prefer this over get_series/get_snapshot, but the alternative-tool guidance it does give is concrete and actionable.

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