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: $.