Skip to main content
Glama

Latest Macro Announcements

latest_announcements
Read-only

Return the latest stored macroeconomic value for every available indicator in one currency, as a compact current macro snapshot. An unverified announcement_datetime has unproven origin; it is neither a verified scheduled time nor observed actual publication. Report absent schedule, publication and ingestion evidence as unknown, and latency as not measured. Access: USD needs no API key; other currencies return subscription_required with a subscribe link.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "latest_announcements"
  }
}

Input Schema

NameRequiredDescriptionDefault
viewNolatest (default): newest value per indicator for `currency`. changes: a resumable feed of newly ingested announcements across currencies; pass the returned next_cursor back as `since`.latest
limitNochanges only: page size, default 100.
sinceNochanges only: previous next_cursor, ISO 8601 time or epoch seconds.
payloadNochanges only: compact (default) or full rows.
currencyNo3-letter ISO currency code (case-insensitive). Required for the latest view.
currenciesNochanges only: comma-separated codes, `g10` or `all`.
indicatorsNochanges only: comma-separated indicator slugs.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed19 schema fields changed
    • removedInput schema / properties / currencies / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / currencies / default
      Removed value: -null
    • addedInput schema / properties / currencies / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedInput schema / properties / currency / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / currency / default
      Removed value: -null
    • changedInput schema / properties / currency / examples
      Previous value: -[
      -  "usd",
      -  "eur",
      -  "gbp",
      -  "jpy"
      -]New value: +[
      +  "usd",
      +  "eur"
      +]
    • addedInput schema / properties / currency / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedInput schema / properties / indicators / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / indicators / default
      Removed value: -null
    • addedInput schema / properties / indicators / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedInput schema / properties / limit / default
      Removed value: -null
    • removedInput schema / properties / payload / anyOf
      Removed value: -[
      -  {
      -    "enum": [
      -      "compact",
      -      "full"
      -    ],
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / payload / default
      Removed value: -null
    • addedInput schema / properties / payload / enum
      Added value: +[
      +  "compact",
      +  "full",
      +  null
      +]
    • addedInput schema / properties / payload / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedInput schema / properties / since / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / since / default
      Removed value: -null
    • addedInput schema / properties / since / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedInput schema / title
      Removed value: -"latest_announcementsArguments"
  2. Changed11 schema fields changed
    • addedInput schema / properties / currencies
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "changes only: comma-separated codes, `g10` or `all`.",
      +  "examples": [
      +    "usd,eur",
      +    "g10"
      +  ]
      +}
    • addedInput schema / properties / currency / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / currency / default
      Added value: +null
    • changedInput schema / properties / currency / description
      Previous value: -"3-letter ISO currency code (case-insensitive)."New value: +"3-letter ISO currency code (case-insensitive). Required for the latest view."
    • removedInput schema / properties / currency / type
      Removed value: -"string"
    • addedInput schema / properties / indicators
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "changes only: comma-separated indicator slugs."
      +}
    • addedInput schema / properties / limit
      Added value: +{
      +  "anyOf": [
      +    {
      +      "maximum": 500,
      +      "minimum": 1,
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "changes only: page size, default 100."
      +}
    • addedInput schema / properties / payload
      Added value: +{
      +  "anyOf": [
      +    {
      +      "enum": [
      +        "compact",
      +        "full"
      +      ],
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "changes only: compact (default) or full rows."
      +}
    • addedInput schema / properties / since
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "changes only: previous next_cursor, ISO 8601 time or epoch seconds."
      +}
    • addedInput schema / properties / view
      Added value: +{
      +  "default": "latest",
      +  "description": "latest (default): newest value per indicator for `currency`. changes: a resumable feed of newly ingested announcements across currencies; pass the returned next_cursor back as `since`.",
      +  "enum": [
      +    "latest",
      +    "changes"
      +  ],
      +  "type": "string"
      +}
    • removedInput schema / required
      Removed value: -[
      -  "currency"
      -]
  3. Changed1 schema field changed
    • removedInput schema / properties / currency / title
      Removed value: -"Currency"
  4. Added

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already cover the read-only, non-destructive, open-world profile, and the description adds genuinely non-obvious behavior: unverified `announcement_datetime` has unproven origin and must not be read as a scheduled or actual publication time, plus explicit reporting conventions for absent schedule/publication/ingestion evidence ('unknown') and latency ('not measured'). The auth/subscription gating is also disclosed up front. It stops short of describing pagination or the shape of the changes feed, so it is strong but not complete.

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

Conciseness3/5

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

Purpose is front-loaded in the first sentence, but the middle two sentences read as output-handling doctrine rather than tool description and are phrased in dense, hedging language ('unproven origin', 'neither a verified scheduled time nor observed actual publication'). Space is spent on provenance caveats while the entirely undocumented `changes` mode goes unmentioned, so the allocation of words is not optimal.

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?

An output schema exists, so return-shape explanation is unnecessary, and the uncertain-data and subscription behavior are covered well. Score limited to 4 because the description frames the tool as single-currency 'latest' only, which can mislead an agent away from the cursor-based `changes` feed that the schema exposes but the prose ignores.

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%, including enums for `view` and `payload`, so the schema already carries full parameter meaning; the baseline of 3 applies. The description's only parameter-adjacent contribution is 'in one currency', which reinforces that `currency` is required for the latest view, but it adds nothing about `view`, `since`, `currencies`, or `indicators`.

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?

States a specific verb and resource: 'Return the latest stored macroeconomic value for every available indicator in one currency, as a compact current macro snapshot.' That is precise for the default `latest` view, but the description never acknowledges the tool's second mode (`changes`, a resumable cross-currency feed) even though five of the seven parameters belong to it. It also does not name any near sibling (indicator_query, release_calendar, macro_news) to disambiguate the resource.

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

Usage Guidelines3/5

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

Gives concrete access guidance — USD requires no API key, other currencies return subscription_required with a subscribe link — which tells the agent what to expect and when to redirect to `subscribe_for_mcp_access`. However, there is no when-to-use-this-versus-alternatives guidance, and no steering between the `latest` and `changes` views outside the schema, so the agent must infer that choice purely from parameter text.

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.