Thermal Power · Capability

Thermal Power API — Power Operations

Thermal Power API — Power Operations. 2 operations. Lead operation: Get Electric Power Operational Data. Self-contained Naftiko capability covering one Thermal Power business surface.

Run with Naftiko Thermal PowerPower Operations

What You Can Do

GET
Getelectricpoweroperationaldata — Get Electric Power Operational Data
/v1/electricity/electric-power-operational-data/data
GET
Getrtofueltypedata — Get RTO Fuel Type Data
/v1/electricity/rto/fuel-type-data/data

MCP Tools

get-electric-power-operational-data

Get Electric Power Operational Data

read-only idempotent
get-rto-fuel-type-data

Get RTO Fuel Type Data

read-only idempotent

Capability Spec

thermal-power-power-operations.yaml Raw ↑
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: $.