naftiko: 1.0.0-alpha2 info: label: FRED API — Observations description: 'FRED API — Observations. 1 operations. Lead operation: FRED Get the Observations or Data Values for an Economic Data Series. Self-contained Naftiko capability covering one FRED business surface.' tags: - FRED - FRED - Observations created: '2026-05-28' modified: '2026-05-28' binds: - namespace: env keys: FRED_API_KEY: FRED_API_KEY capability: consumes: - type: http namespace: fred-observations baseUri: https://api.stlouisfed.org/fred description: FRED API — Observations business capability. Self-contained, no shared references. authentication: type: apikey key: api_key value: '{{env.FRED_API_KEY}}' placement: query resources: - name: series-observations path: /series/observations operations: - name: getSeriesObservations method: GET description: FRED Get the Observations or Data Values for an Economic Data Series 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: series_id in: query type: string required: true description: The FRED series 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 observations to return (1–100000). - name: offset in: query type: integer required: false description: Non-negative integer offset into the result set for pagination. - name: sort_order in: query type: string required: false description: Sort by observation_date. - name: observation_start in: query type: string required: false description: Earliest observation date (YYYY-MM-DD). - name: observation_end in: query type: string required: false description: Latest observation date (YYYY-MM-DD). - name: units in: query type: string required: false description: Unit transformation applied to the data. - name: frequency in: query type: string required: false description: Frequency to aggregate the series to. - name: aggregation_method in: query type: string required: false description: How to aggregate when a frequency is supplied. - name: output_type in: query type: integer required: false description: Observations output type. 1=observations by real-time period - name: vintage_dates in: query type: string required: false description: Comma-separated list of YYYY-MM-DD vintage dates. outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest namespace: fred-observations-rest port: 8080 description: REST adapter for FRED API — Observations. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/series/observations name: series-observations description: REST surface for /series/observations. operations: - method: GET name: getSeriesObservations description: FRED Get the Observations or Data Values for an Economic Data Series call: fred-observations.getSeriesObservations with: api_key: rest.api_key file_type: rest.file_type series_id: rest.series_id realtime_start: rest.realtime_start realtime_end: rest.realtime_end limit: rest.limit offset: rest.offset sort_order: rest.sort_order observation_start: rest.observation_start observation_end: rest.observation_end units: rest.units frequency: rest.frequency aggregation_method: rest.aggregation_method output_type: rest.output_type vintage_dates: rest.vintage_dates outputParameters: - type: object mapping: $. - type: mcp namespace: fred-observations-mcp port: 9090 transport: http description: MCP adapter for FRED API — Observations. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-observations-data-values-economic description: FRED Get the Observations or Data Values for an Economic Data Series hints: readOnly: true destructive: false idempotent: true call: fred-observations.getSeriesObservations with: api_key: tools.api_key file_type: tools.file_type series_id: tools.series_id realtime_start: tools.realtime_start realtime_end: tools.realtime_end limit: tools.limit offset: tools.offset sort_order: tools.sort_order observation_start: tools.observation_start observation_end: tools.observation_end units: tools.units frequency: tools.frequency aggregation_method: tools.aggregation_method output_type: tools.output_type vintage_dates: tools.vintage_dates outputParameters: - type: object mapping: $.