FRED · Capability

FRED API — Sources

FRED API — Sources. 3 operations. Lead operation: FRED Get All Sources of Economic Data. Self-contained Naftiko capability covering one FRED business surface.

Run with Naftiko FREDFREDSources

What You Can Do

GET
Getsources — FRED Get All Sources of Economic Data
/v1/sources
GET
Getsource — FRED Get a Source of Economic Data
/v1/source
GET
Getsourcereleases — FRED Get the Releases for a Source
/v1/source/releases

MCP Tools

get-all-sources-economic-data

FRED Get All Sources of Economic Data

read-only idempotent
get-source-economic-data

FRED Get a Source of Economic Data

read-only idempotent
get-releases-source

FRED Get the Releases for a Source

read-only idempotent

Capability Spec

fred-sources.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: FRED API — Sources
  description: 'FRED API — Sources. 3 operations. Lead operation: FRED Get All Sources of Economic Data. Self-contained Naftiko capability covering one FRED business surface.'
  tags:
    - FRED
    - FRED
    - Sources
  created: '2026-05-28'
  modified: '2026-05-28'
binds:
  - namespace: env
    keys:
      FRED_API_KEY: FRED_API_KEY
capability:
  consumes:
    - type: http
      namespace: fred-sources
      baseUri: https://api.stlouisfed.org/fred
      description: FRED API — Sources business capability. Self-contained, no shared references.
      authentication:
        type: apikey
        key: api_key
        value: '{{env.FRED_API_KEY}}'
        placement: query
      resources:
        - name: sources
          path: /sources
          operations:
            - name: getSources
              method: GET
              description: FRED Get All Sources of Economic Data
              inputParameters:
                - name: api_key
                  in: query
                  type: string
                  required: true
                  description: 32-character lower-case alphanumeric FRED API key.
                - name: file_type
                  in: query
                  type: string
                  required: false
                  description: Response format. xml (default) or json. The observations endpoint additionally accepts xlsx and csv.
                - name: realtime_start
                  in: query
                  type: string
                  required: false
                  description: Start of the real-time period (YYYY-MM-DD). Defaults to today.
                - name: realtime_end
                  in: query
                  type: string
                  required: false
                  description: End of the real-time period (YYYY-MM-DD). Defaults to today.
                - name: limit
                  in: query
                  type: integer
                  required: false
                  description: Maximum number of results to return (1–1000).
                - name: offset
                  in: query
                  type: integer
                  required: false
                  description: Non-negative integer offset into the result set for pagination.
                - name: order_by
                  in: query
                  type: string
                  required: false
                  description: Ordering field.
                - name: sort_order
                  in: query
                  type: string
                  required: false
                  description: Sort order. asc (ascending, default) or desc (descending).
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
        - name: source
          path: /source
          operations:
            - name: getSource
              method: GET
              description: FRED Get a Source of Economic Data
              inputParameters:
                - name: api_key
                  in: query
                  type: string
                  required: true
                  description: 32-character lower-case alphanumeric FRED API key.
                - name: file_type
                  in: query
                  type: string
                  required: false
                  description: Response format. xml (default) or json. The observations endpoint additionally accepts xlsx and csv.
                - name: source_id
                  in: query
                  type: integer
                  required: true
                  description: Numeric source ID.
                - name: realtime_start
                  in: query
                  type: string
                  required: false
                  description: Start of the real-time period (YYYY-MM-DD). Defaults to today.
                - name: realtime_end
                  in: query
                  type: string
                  required: false
                  description: End of the real-time period (YYYY-MM-DD). Defaults to today.
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
        - name: source-releases
          path: /source/releases
          operations:
            - name: getSourceReleases
              method: GET
              description: FRED Get the Releases for a Source
              inputParameters:
                - name: api_key
                  in: query
                  type: string
                  required: true
                  description: 32-character lower-case alphanumeric FRED API key.
                - name: file_type
                  in: query
                  type: string
                  required: false
                  description: Response format. xml (default) or json. The observations endpoint additionally accepts xlsx and csv.
                - name: source_id
                  in: query
                  type: integer
                  required: true
                  description: Numeric source ID.
                - name: realtime_start
                  in: query
                  type: string
                  required: false
                  description: Start of the real-time period (YYYY-MM-DD). Defaults to today.
                - name: realtime_end
                  in: query
                  type: string
                  required: false
                  description: End of the real-time period (YYYY-MM-DD). Defaults to today.
                - name: limit
                  in: query
                  type: integer
                  required: false
                  description: Maximum number of results to return (1–1000).
                - name: offset
                  in: query
                  type: integer
                  required: false
                  description: Non-negative integer offset into the result set for pagination.
                - name: order_by
                  in: query
                  type: string
                  required: false
                  description: Field to order release results by.
                - name: sort_order
                  in: query
                  type: string
                  required: false
                  description: Sort order. asc (ascending, default) or desc (descending).
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
  exposes:
    - type: rest
      namespace: fred-sources-rest
      port: 8080
      description: REST adapter for FRED API — Sources. One Spectral-compliant resource per consumed operation, prefixed with /v1.
      resources:
        - path: /v1/sources
          name: sources
          description: REST surface for /sources.
          operations:
            - method: GET
              name: getSources
              description: FRED Get All Sources of Economic Data
              call: fred-sources.getSources
              with:
                api_key: rest.api_key
                file_type: rest.file_type
                realtime_start: rest.realtime_start
                realtime_end: rest.realtime_end
                limit: rest.limit
                offset: rest.offset
                order_by: rest.order_by
                sort_order: rest.sort_order
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/source
          name: source
          description: REST surface for /source.
          operations:
            - method: GET
              name: getSource
              description: FRED Get a Source of Economic Data
              call: fred-sources.getSource
              with:
                api_key: rest.api_key
                file_type: rest.file_type
                source_id: rest.source_id
                realtime_start: rest.realtime_start
                realtime_end: rest.realtime_end
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/source/releases
          name: source-releases
          description: REST surface for /source/releases.
          operations:
            - method: GET
              name: getSourceReleases
              description: FRED Get the Releases for a Source
              call: fred-sources.getSourceReleases
              with:
                api_key: rest.api_key
                file_type: rest.file_type
                source_id: rest.source_id
                realtime_start: rest.realtime_start
                realtime_end: rest.realtime_end
                limit: rest.limit
                offset: rest.offset
                order_by: rest.order_by
                sort_order: rest.sort_order
              outputParameters:
                - type: object
                  mapping: $.
    - type: mcp
      namespace: fred-sources-mcp
      port: 9090
      transport: http
      description: MCP adapter for FRED API — Sources. One tool per consumed operation, routed inline through this capability's consumes block.
      tools:
        - name: get-all-sources-economic-data
          description: FRED Get All Sources of Economic Data
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: fred-sources.getSources
          with:
            api_key: tools.api_key
            file_type: tools.file_type
            realtime_start: tools.realtime_start
            realtime_end: tools.realtime_end
            limit: tools.limit
            offset: tools.offset
            order_by: tools.order_by
            sort_order: tools.sort_order
          outputParameters:
            - type: object
              mapping: $.
        - name: get-source-economic-data
          description: FRED Get a Source of Economic Data
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: fred-sources.getSource
          with:
            api_key: tools.api_key
            file_type: tools.file_type
            source_id: tools.source_id
            realtime_start: tools.realtime_start
            realtime_end: tools.realtime_end
          outputParameters:
            - type: object
              mapping: $.
        - name: get-releases-source
          description: FRED Get the Releases for a Source
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: fred-sources.getSourceReleases
          with:
            api_key: tools.api_key
            file_type: tools.file_type
            source_id: tools.source_id
            realtime_start: tools.realtime_start
            realtime_end: tools.realtime_end
            limit: tools.limit
            offset: tools.offset
            order_by: tools.order_by
            sort_order: tools.sort_order
          outputParameters:
            - type: object
              mapping: $.