Skip to main content
Glama

get_release_sources

Read-onlyIdempotent

List all FRED data sources that contribute to a release. Supply a release ID to receive the full unpaginated list with a count.

Instructions

List the FRED data sources a release draws from (the reverse of get_source_releases). Returns the full unpaginated list wrapped as {count, sources}.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
release_idYesThe FRED release id, e.g. 53 (Gross Domestic Product).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
countYesThe number of sources returned.
sourcesYesThe sources.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.3.6
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$defs": {
      +    "Source": {
      +      "description": "A FRED data source — the organization that produces releases (e.g. the\nBureau of Economic Analysis), from the `fred/source` and `fred/sources`\nendpoints.",
      +      "properties": {
      +        "id": {
      +          "$ref": "#/$defs/SourceId",
      +          "description": "The source's identifier."
      +        },
      +        "link": {
      +          "default": null,
      +          "description": "A link to the source's site, when FRED provides one.",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "name": {
      +          "description": "Human-readable name, e.g. `\"U.S. Bureau of Economic Analysis\"`.",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "id",
      +        "name",
      +        "link"
      +      ],
      +      "type": "object"
      +    },
      +    "SourceId": {
      +      "description": "A FRED source identifier — the numeric id of a data source (the organization\nthat produces a release, e.g. the Bureau of Economic Analysis).\n\nA `Copy` newtype over `u32`, mirroring [`ReleaseId`]; `#[serde(transparent)]`\ncarries it as the bare integer FRED sends (ADR-0005).",
      +      "format": "uint32",
      +      "minimum": 0,
      +      "type": "integer"
      +    }
      +  },
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "properties": {
      +    "count": {
      +      "description": "The number of sources returned.",
      +      "format": "uint",
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "sources": {
      +      "description": "The sources.",
      +      "items": {
      +        "$ref": "#/$defs/Source"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "count",
      +    "sources"
      +  ],
      +  "type": "object"
      +}
  2. First observedv0.3.2

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover readOnly, idempotent, and nondestructive behavior. Description adds value by disclosing the unpaginated list and wrapping format as {count, sources}, which is beyond what annotations provide.

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?

Two concise sentences with no wasted words. Purpose is front-loaded, and format details follow efficiently.

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?

Given the low complexity, rich annotations, and presence of output schema, the description fully completes the picture by specifying the return format and unpaginated nature.

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 coverage is 100% and already describes the 'release_id' parameter sufficiently. Description adds no additional semantic detail beyond the schema.

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?

Description clearly states the action ('List'), the resource ('FRED data sources a release draws from'), and explicitly distinguishes from the sibling tool 'get_source_releases' by calling it the reverse.

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?

Implicitly provides usage guidance by referencing the reverse operation, but lacks explicit when-to-use or when-not-to-use criteria.

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