Skip to main content
Glama

reference-data

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 BR 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: -[
      -  "ar",
      -  "bb",
      -  "bo",
      -  "br",
      -  "bz",
      -  "cl",
      -  "co",
      -  "cr",
      -  "do",
      -  "ec",
      -  "gt",
      -  "hn",
      -  "jm",
      -  "mx",
      -  "ni",
      -  "pa",
      -  "pe",
      -  "py",
      -  "sv",
      -  "tt",
      -  "uy"
      -]New value: +[
      +  "ar",
      +  "bb",
      +  "bo",
      +  "br",
      +  "bz",
      +  "cl",
      +  "co",
      +  "cr",
      +  "do",
      +  "ec",
      +  "gt",
      +  "gy",
      +  "hn",
      +  "jm",
      +  "mx",
      +  "ni",
      +  "pa",
      +  "pe",
      +  "py",
      +  "sv",
      +  "tt",
      +  "uy"
      +]
  5. Changed1 schema field changed
    • changedInput schema / properties / country / enum
      Previous value: -[
      -  "ar",
      -  "bo",
      -  "br",
      -  "cl",
      -  "co",
      -  "cr",
      -  "do",
      -  "ec",
      -  "gt",
      -  "hn",
      -  "mx",
      -  "pa",
      -  "pe",
      -  "py",
      -  "sv",
      -  "uy"
      -]New value: +[
      +  "ar",
      +  "bb",
      +  "bo",
      +  "br",
      +  "bz",
      +  "cl",
      +  "co",
      +  "cr",
      +  "do",
      +  "ec",
      +  "gt",
      +  "hn",
      +  "jm",
      +  "mx",
      +  "ni",
      +  "pa",
      +  "pe",
      +  "py",
      +  "sv",
      +  "tt",
      +  "uy"
      +]
  6. Changed1 schema field changed
    • changedInput schema / properties / country / enum
      Previous value: -[
      -  "ar",
      -  "br",
      -  "cl",
      -  "co",
      -  "cr",
      -  "do",
      -  "ec",
      -  "gt",
      -  "mx",
      -  "pe",
      -  "py",
      -  "uy"
      -]New value: +[
      +  "ar",
      +  "bo",
      +  "br",
      +  "cl",
      +  "co",
      +  "cr",
      +  "do",
      +  "ec",
      +  "gt",
      +  "hn",
      +  "mx",
      +  "pa",
      +  "pe",
      +  "py",
      +  "sv",
      +  "uy"
      +]
  7. First observed

TDQS

A4.2/5.0
Behavior5/5

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

Annotations only declare it as a read-only, idempotent, open-world read. The description adds genuinely new behavior: the $0.003 price, the two auth paths (api_key vs. x402 pay-per-call), the free BR-series trial, and what happens on non-payment (a response explaining how to pay). It also warns that unbound series values can be silently retired by a later gazette, which is a real behavioral caveat.

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?

Purpose and price are front-loaded in the first clause and the payment/auth details follow logically. The final sentence is overloaded with promotional pricing ('Register: $0 · Delivery after trial: $0.05') and cross-sell detail that is somewhat dense for a tool description, though it does serve the workflow guidance.

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?

With an output schema present and full parameter coverage, return-value explanation isn't needed, and the description covers cost, auth, and next-step tools. The remaining gap is discovery — nothing says where series ids come from (presumably list_series/get_series), which an agent needs before it can call this successfully.

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

Parameters4/5

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

Schema coverage is 100% so the baseline is 3, but the description adds meaning: api_key is described as an optional credential with a documented alternative (x402 card checkout at /pricing), and the BR free-trial note gives the country parameter commercial significance not visible in the enum. The from/to date format is repeated from the schema rather than added.

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

Purpose4/5

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

It gives a specific verb+resource — retrieving historical values of a reference series with effective-date ranges — plus the optional from/to filtering, so an agent knows exactly what it returns. It does not, however, distinguish itself from siblings like get_series or get_snapshot, which look like competing ways to fetch series data.

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 clearly states the usage context: this is a paid call, pass api_key if available, otherwise the response itself explains the x402 payment path, and BR series are free to try. It also prescribes a next step after success (bind get_changes or register_alert). It stops short of saying when to choose this over get_series/get_snapshot.

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