EPA Envirofacts Data Service API — UV Index

UV Index. 4 operations. Lead operation: Get Hourly UV Forecast by ZIP. Self-contained Naftiko capability covering one EPA business surface.

Run with Naftiko EPAUV Index

What You Can Do

GET
Uvhourlybyzip — Get Hourly UV Forecast by ZIP
/v1/dmapservice/getenvirofactsuvhourly/zip/{zip}/{format}
GET
Uvhourlybycity — Get Hourly UV Forecast by City and State
/v1/dmapservice/getenvirofactsuvhourly/city/{city}/state/{state}/{format}
GET
Uvdailybyzip — Get Daily UV Forecast by ZIP
/v1/dmapservice/getenvirofactsuvdaily/zip/{zip}/{format}
GET
Uvdailybycity — Get Daily UV Forecast by City and State
/v1/dmapservice/getenvirofactsuvdaily/city/{city}/state/{state}/{format}

MCP Tools

get-hourly-uv-forecast-zip

Get Hourly UV Forecast by ZIP

read-only idempotent
get-hourly-uv-forecast-city-state

Get Hourly UV Forecast by City and State

read-only idempotent
get-daily-uv-forecast-zip

Get Daily UV Forecast by ZIP

read-only idempotent
get-daily-uv-forecast-city-state

Get Daily UV Forecast by City and State

read-only idempotent

Capability Spec

envirofacts-uv-index.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: EPA Envirofacts Data Service API — UV Index
  description: 'UV Index. 4 operations. Lead operation: Get Hourly UV Forecast by ZIP. Self-contained Naftiko capability covering one EPA business surface.'
  tags:
    - EPA
    - UV Index
  created: '2026-05-29'
  modified: '2026-05-29'
binds:
  - namespace: env
    keys: {}
capability:
  consumes:
    - type: http
      namespace: envirofacts-uv-index
      baseUri: https://data.epa.gov
      description: EPA Envirofacts Data Service API — UV Index business capability. Self-contained, no shared references.
      resources:
        - name: dmapservice-getenvirofactsuvhourly-zip-zip-format
          path: /dmapservice/getEnvirofactsUVHOURLY/ZIP/{ZIP}/{format}
          operations:
            - name: uvHourlyByZip
              method: GET
              description: Get Hourly UV Forecast by ZIP
              inputParameters:
                - name: ZIP
                  in: path
                  type: string
                  required: true
                  description: 5-digit ZIP code.
                - name: format
                  in: path
                  type: string
                  required: false
                  description: Output format (default JSON).
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
        - name: dmapservice-getenvirofactsuvhourly-city-city-state-state-format
          path: /dmapservice/getEnvirofactsUVHOURLY/CITY/{CITY}/STATE/{STATE}/{format}
          operations:
            - name: uvHourlyByCity
              method: GET
              description: Get Hourly UV Forecast by City and State
              inputParameters:
                - name: CITY
                  in: path
                  type: string
                  required: true
                  description: CITY
                - name: STATE
                  in: path
                  type: string
                  required: true
                  description: 2-letter state abbreviation.
                - name: format
                  in: path
                  type: string
                  required: false
                  description: Output format (default JSON).
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
        - name: dmapservice-getenvirofactsuvdaily-zip-zip-format
          path: /dmapservice/getEnvirofactsUVDAILY/ZIP/{ZIP}/{format}
          operations:
            - name: uvDailyByZip
              method: GET
              description: Get Daily UV Forecast by ZIP
              inputParameters:
                - name: ZIP
                  in: path
                  type: string
                  required: true
                  description: 5-digit ZIP code.
                - name: format
                  in: path
                  type: string
                  required: false
                  description: Output format (default JSON).
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
        - name: dmapservice-getenvirofactsuvdaily-city-city-state-state-format
          path: /dmapservice/getEnvirofactsUVDAILY/CITY/{CITY}/STATE/{STATE}/{format}
          operations:
            - name: uvDailyByCity
              method: GET
              description: Get Daily UV Forecast by City and State
              inputParameters:
                - name: CITY
                  in: path
                  type: string
                  required: true
                  description: CITY
                - name: STATE
                  in: path
                  type: string
                  required: true
                  description: 2-letter state abbreviation.
                - name: format
                  in: path
                  type: string
                  required: false
                  description: Output format (default JSON).
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
  exposes:
    - type: rest
      namespace: envirofacts-uv-index-rest
      port: 8080
      description: REST adapter for EPA Envirofacts Data Service API — UV Index. One Spectral-compliant resource per consumed operation, prefixed with /v1.
      resources:
        - path: /v1/dmapservice/getenvirofactsuvhourly/zip/{zip}/{format}
          name: dmapservice-getenvirofactsuvhourly-zip-zip-format
          description: REST surface for Get Hourly UV Forecast by ZIP.
          operations:
            - method: GET
              name: uvHourlyByZip
              description: Get Hourly UV Forecast by ZIP
              call: envirofacts-uv-index.uvHourlyByZip
              with:
                ZIP: rest.ZIP
                format: rest.format
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/dmapservice/getenvirofactsuvhourly/city/{city}/state/{state}/{format}
          name: dmapservice-getenvirofactsuvhourly-city-city-state-state-format
          description: REST surface for Get Hourly UV Forecast by City and State.
          operations:
            - method: GET
              name: uvHourlyByCity
              description: Get Hourly UV Forecast by City and State
              call: envirofacts-uv-index.uvHourlyByCity
              with:
                CITY: rest.CITY
                STATE: rest.STATE
                format: rest.format
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/dmapservice/getenvirofactsuvdaily/zip/{zip}/{format}
          name: dmapservice-getenvirofactsuvdaily-zip-zip-format
          description: REST surface for Get Daily UV Forecast by ZIP.
          operations:
            - method: GET
              name: uvDailyByZip
              description: Get Daily UV Forecast by ZIP
              call: envirofacts-uv-index.uvDailyByZip
              with:
                ZIP: rest.ZIP
                format: rest.format
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/dmapservice/getenvirofactsuvdaily/city/{city}/state/{state}/{format}
          name: dmapservice-getenvirofactsuvdaily-city-city-state-state-format
          description: REST surface for Get Daily UV Forecast by City and State.
          operations:
            - method: GET
              name: uvDailyByCity
              description: Get Daily UV Forecast by City and State
              call: envirofacts-uv-index.uvDailyByCity
              with:
                CITY: rest.CITY
                STATE: rest.STATE
                format: rest.format
              outputParameters:
                - type: object
                  mapping: $.
    - type: mcp
      namespace: envirofacts-uv-index-mcp
      port: 9090
      transport: http
      description: MCP adapter for EPA Envirofacts Data Service API — UV Index. One tool per consumed operation, routed inline through this capability's consumes block.
      tools:
        - name: get-hourly-uv-forecast-zip
          description: Get Hourly UV Forecast by ZIP
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: envirofacts-uv-index.uvHourlyByZip
          with:
            ZIP: tools.ZIP
            format: tools.format
          outputParameters:
            - type: object
              mapping: $.
        - name: get-hourly-uv-forecast-city-state
          description: Get Hourly UV Forecast by City and State
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: envirofacts-uv-index.uvHourlyByCity
          with:
            CITY: tools.CITY
            STATE: tools.STATE
            format: tools.format
          outputParameters:
            - type: object
              mapping: $.
        - name: get-daily-uv-forecast-zip
          description: Get Daily UV Forecast by ZIP
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: envirofacts-uv-index.uvDailyByZip
          with:
            ZIP: tools.ZIP
            format: tools.format
          outputParameters:
            - type: object
              mapping: $.
        - name: get-daily-uv-forecast-city-state
          description: Get Daily UV Forecast by City and State
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: envirofacts-uv-index.uvDailyByCity
          with:
            CITY: tools.CITY
            STATE: tools.STATE
            format: tools.format
          outputParameters:
            - type: object
              mapping: $.