naftiko: 1.0.0-alpha2 info: label: Thermal Power API — Power Operations description: 'Thermal Power API — Power Operations. 2 operations. Lead operation: Get Electric Power Operational Data. Self-contained Naftiko capability covering one Thermal Power business surface.' tags: - Thermal Power - Power Operations created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: THERMAL_POWER_API_KEY: THERMAL_POWER_API_KEY capability: consumes: - type: http namespace: thermal-power-power-operations baseUri: https://api.eia.gov/v2 description: Thermal Power API — Power Operations business capability. Self-contained, no shared references. resources: - name: electricity-electric-power-operational-data-data path: /electricity/electric-power-operational-data/data operations: - name: getelectricpoweroperationaldata method: GET description: Get Electric Power Operational Data outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: api_key in: query type: string description: EIA API key. required: true - name: frequency in: query type: string description: Data frequency. - name: data[] in: query type: string description: Data columns to return (e.g., generation, total-consumption, consumption-for-eg, heat-content). - name: facets[fueltypeid][] in: query type: string description: Filter by fuel type ID (e.g., COL for coal, NG for natural gas, PEL for petroleum, NUC for nuclear, ALL for all sources). - name: facets[location][] in: query type: string description: Filter by US state abbreviation (e.g., TX, CA, NY). - name: start in: query type: string description: Start period in YYYY-MM format. - name: end in: query type: string description: End period in YYYY-MM format. - name: sort[0][column] in: query type: string description: Column to sort by. - name: sort[0][direction] in: query type: string description: Sort direction. - name: offset in: query type: integer description: Pagination offset. - name: length in: query type: integer description: Number of records to return (max 5000). - name: electricity-rto-fuel-type-data-data path: /electricity/rto/fuel-type-data/data operations: - name: getrtofueltypedata method: GET description: Get RTO Fuel Type Data outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: api_key in: query type: string description: EIA API key. required: true - name: frequency in: query type: string description: Data frequency. - name: data[] in: query type: string description: Data columns (e.g., value for generation in MWh). - name: facets[respondent][] in: query type: string description: RTO/ISO identifier (e.g., MISO, PJM, CAISO, ERCOT, SPP, NYISO, ISONE). - name: facets[fueltype][] in: query type: string description: Fuel type filter (e.g., NG, COL, OIL, NUC, OTH). - name: start in: query type: string description: Start datetime in YYYY-MM-DDTHH format. - name: end in: query type: string description: End datetime in YYYY-MM-DDTHH format. - name: offset in: query type: integer description: Pagination offset. - name: length in: query type: integer description: Number of records to return (max 5000). authentication: type: apikey key: api_key value: '{{env.THERMAL_POWER_API_KEY}}' placement: query exposes: - type: rest namespace: thermal-power-power-operations-rest port: 8080 description: REST adapter for Thermal Power API — Power Operations. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/electricity/electric-power-operational-data/data name: electricity-electric-power-operational-data-data description: REST surface for electricity-electric-power-operational-data-data. operations: - method: GET name: getelectricpoweroperationaldata description: Get Electric Power Operational Data call: thermal-power-power-operations.getelectricpoweroperationaldata with: api_key: rest.api_key frequency: rest.frequency data[]: rest.data[] facets[fueltypeid][]: rest.facets[fueltypeid][] facets[location][]: rest.facets[location][] start: rest.start end: rest.end sort[0][column]: rest.sort[0][column] sort[0][direction]: rest.sort[0][direction] offset: rest.offset length: rest.length outputParameters: - type: object mapping: $. - path: /v1/electricity/rto/fuel-type-data/data name: electricity-rto-fuel-type-data-data description: REST surface for electricity-rto-fuel-type-data-data. operations: - method: GET name: getrtofueltypedata description: Get RTO Fuel Type Data call: thermal-power-power-operations.getrtofueltypedata with: api_key: rest.api_key frequency: rest.frequency data[]: rest.data[] facets[respondent][]: rest.facets[respondent][] facets[fueltype][]: rest.facets[fueltype][] start: rest.start end: rest.end offset: rest.offset length: rest.length outputParameters: - type: object mapping: $. - type: mcp namespace: thermal-power-power-operations-mcp port: 9090 transport: http description: MCP adapter for Thermal Power API — Power Operations. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-electric-power-operational-data description: Get Electric Power Operational Data hints: readOnly: true destructive: false idempotent: true call: thermal-power-power-operations.getelectricpoweroperationaldata with: api_key: tools.api_key frequency: tools.frequency data[]: tools.data[] facets[fueltypeid][]: tools.facets[fueltypeid][] facets[location][]: tools.facets[location][] start: tools.start end: tools.end sort[0][column]: tools.sort[0][column] sort[0][direction]: tools.sort[0][direction] offset: tools.offset length: tools.length outputParameters: - type: object mapping: $. - name: get-rto-fuel-type-data description: Get RTO Fuel Type Data hints: readOnly: true destructive: false idempotent: true call: thermal-power-power-operations.getrtofueltypedata with: api_key: tools.api_key frequency: tools.frequency data[]: tools.data[] facets[respondent][]: tools.facets[respondent][] facets[fueltype][]: tools.facets[fueltype][] start: tools.start end: tools.end offset: tools.offset length: tools.length outputParameters: - type: object mapping: $.