ColorfulClouds · Capability

Caiyun Weather API — Weather Combined

Weather — Caiyun combined weather envelope returning realtime, minutely, hourly, daily, and alerts in a single call. 1 operation. Lead operation: Caiyun Weather Get Combined Weather Envelope. Self-contained Naftiko capability covering one ColorfulClouds business surface.

Run with Naftiko Caiyun WeatherWeatherCombined

What You Can Do

GET
Getweathercombined — Get combined realtime + minutely + hourly + daily (+alerts) envelope.
/v1/weather/{lnglat}

MCP Tools

get-weather-combined

Get realtime + minutely + hourly + daily forecast in a single combined call.

read-only idempotent

Capability Spec

caiyun-weather-weather.yaml Raw ↑
naftiko: "1.0.0-alpha2"

info:
  label: "Caiyun Weather API — Weather Combined"
  description: >-
    Weather — Caiyun combined weather envelope returning realtime, minutely,
    hourly, daily, and alerts in a single call. 1 operation. Lead operation:
    Caiyun Weather Get Combined Weather Envelope. Self-contained Naftiko
    capability covering one ColorfulClouds business surface.
  tags:
    - Caiyun Weather
    - Weather
    - Combined
  created: "2026-05-30"
  modified: "2026-05-30"

binds:
  - namespace: env
    keys:
      CAIYUN_WEATHER_API_TOKEN: CAIYUN_WEATHER_API_TOKEN

capability:

  consumes:
    - type: http
      namespace: "caiyun-weather-weather"
      baseUri: "https://api.caiyunapp.com/v2.6"
      description: "Caiyun Weather combined envelope endpoint. Self-contained, no shared references."
      authentication:
        type: apikey
        key: token
        value: "{{env.CAIYUN_WEATHER_API_TOKEN}}"
        placement: path
      resources:
        - name: "weather-combined"
          path: "/{token}/{lnglat}/weather"
          operations:
            - name: "getWeatherCombined"
              method: GET
              description: "Returns realtime, minutely, hourly, and daily blocks in one envelope, optionally with severe-weather alerts."
              inputParameters:
                - name: "lnglat"
                  in: path
                  type: string
                  required: true
                  description: "Longitude,latitude tuple (lng,lat)."
                - name: "dailysteps"
                  in: query
                  type: integer
                  required: false
                  description: "Number of daily steps (1-15)."
                - name: "hourlysteps"
                  in: query
                  type: integer
                  required: false
                  description: "Number of hourly steps (1-360)."
                - name: "alert"
                  in: query
                  type: boolean
                  required: false
                  description: "Include severe-weather alerts."
                - name: "begin"
                  in: query
                  type: integer
                  required: false
                  description: "Optional Unix epoch second to anchor the series."
                - name: "granu"
                  in: query
                  type: string
                  required: false
                  description: "Restrict response to a single granularity (realtime, minutely, hourly, daily)."
                - name: "lang"
                  in: query
                  type: string
                  required: false
                  description: "Response language."
                - name: "unit"
                  in: query
                  type: string
                  required: false
                  description: "Unit system."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."

  exposes:
    - type: rest
      namespace: "caiyun-weather-weather-rest"
      port: 8080
      description: "REST adapter for Caiyun Weather Combined Envelope."
      resources:
        - path: "/v1/weather/{lnglat}"
          name: "weather"
          description: "REST surface for the combined weather envelope."
          operations:
            - method: GET
              name: "getWeatherCombined"
              description: "Get combined realtime + minutely + hourly + daily (+alerts) envelope."
              call: "caiyun-weather-weather.getWeatherCombined"
              with:
                "lnglat": "rest.lnglat"
                "dailysteps": "rest.dailysteps"
                "hourlysteps": "rest.hourlysteps"
                "alert": "rest.alert"
                "begin": "rest.begin"
                "granu": "rest.granu"
                "lang": "rest.lang"
                "unit": "rest.unit"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      namespace: "caiyun-weather-weather-mcp"
      port: 9090
      transport: http
      description: "MCP adapter for Caiyun Weather Combined Envelope."
      tools:
        - name: "get-weather-combined"
          description: "Get realtime + minutely + hourly + daily forecast in a single combined call."
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: "caiyun-weather-weather.getWeatherCombined"
          with:
            "lnglat": "tools.lnglat"
            "dailysteps": "tools.dailysteps"
            "hourlysteps": "tools.hourlysteps"
            "alert": "tools.alert"
            "begin": "tools.begin"
            "granu": "tools.granu"
            "lang": "tools.lang"
            "unit": "tools.unit"
          outputParameters:
            - type: object
              mapping: "$."