Skip to main content
Glama

read_announcement

Read-onlyIdempotent

Read and analyze a specific NZX announcement. Extracts summary, key figures, sentiment, entities, and risk flags using AI. Provide the announcement_id (e.g. Returns cached results if previously extracted.

Input Schema

NameRequiredDescriptionDefault
announcement_idYesThe announcement_id from announcement search results

Output Schema

NameRequiredDescriptionDefault
dataYesThe tool payload. Null when the call did not produce one — read meta.availability_status to find out why, and do not treat null as zero, empty or "none found".
metaYes
toolYesTool that produced this result.
schema_versionYesEnvelope contract version. Bumps only on a breaking shape change.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / announcement_id / description
      Previous value: -"The announcement_id from search_announcements results"New value: +"The announcement_id from announcement search results"
  2. Changed2 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "data": {
      +      "description": "The tool payload. Null when the call did not produce one — read meta.availability_status to find out why, and do not treat null as zero, empty or \"none found\"."
      +    },
      +    "meta": {
      +      "additionalProperties": true,
      +      "properties": {
      +        "availability_status": {
      +          "description": "ok: complete payload. truncated: payload exceeded the transport cap and was cut. parse_failed: payload is text this server could not parse as JSON. error: the tool raised.",
      +          "enum": [
      +            "ok",
      +            "truncated",
      +            "parse_failed",
      +            "error"
      +          ],
      +          "type": "string"
      +        },
      +        "encoding": {
      +          "description": "toon = pipe-delimited tabular encoding; header row names the columns.",
      +          "enum": [
      +            "json",
      +            "toon"
      +          ],
      +          "type": "string"
      +        },
      +        "provenance": {
      +          "description": "Whether the figures can cite a source document. \"undeclared\" means no claim has been made for this endpoint yet — it is not a claim that the data is unsourced.",
      +          "enum": [
      +            "direct",
      +            "label",
      +            "reachable",
      +            "none",
      +            "undeclared"
      +          ],
      +          "type": "string"
      +        },
      +        "retrieved_at": {
      +          "description": "When this platform produced the answer — NOT the as-at date of the data.",
      +          "format": "date-time",
      +          "type": "string"
      +        },
      +        "warnings": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "retrieved_at",
      +        "availability_status",
      +        "provenance"
      +      ],
      +      "type": "object"
      +    },
      +    "schema_version": {
      +      "description": "Envelope contract version. Bumps only on a breaking shape change.",
      +      "type": "string"
      +    },
      +    "tool": {
      +      "description": "Tool that produced this result.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "schema_version",
      +    "tool",
      +    "data",
      +    "meta"
      +  ],
      +  "type": "object"
      +}
  3. First observed

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent and closed-world behavior, and the description adds genuinely new context: the response is produced by AI extraction (summary, key figures, sentiment, entities, risk flags) and results are cached when previously extracted. The incomplete example clause weakens but does not undermine this.

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?

The text is short and front-loads the purpose, but the final sentence is cut off mid-clause ('(e.g. Returns cached results...'), which is a structural defect in an otherwise tight definition.

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

Completeness3/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 values need not be described, and caching is disclosed. Still, the truncation leaves the id format ambiguous and nothing is said about extraction cost or failure behavior on an unknown id.

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?

With a single fully documented parameter at 100% schema coverage, the schema carries the semantics. The description restates that announcement_id must be provided and gestures at an example ('e.g.'), but the example is truncated and adds no usable format guidance.

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 ('Read and analyze a specific NZX announcement') and lists the extracted artifacts, which distinguishes it from search_announcements. However it never names the sibling or explains the read-vs-search split explicitly.

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?

The word 'specific' and the required announcement_id imply this is the follow-up to an announcement search, and the schema reinforces that the id comes from search results. There is no explicit when-to-use/when-not statement or mention of an alternative tool.

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.