ColorfulClouds · Capability

Caiyun Weather API — Precipitation Map

Precipitation Map — Caiyun radar + nowcast precipitation map raster surface for Web Mercator tile overlays. 1 operation. Lead operation: Caiyun Weather Get Precipitation Map Tile. Self-contained Naftiko capability covering one ColorfulClouds business surface.

Run with Naftiko Caiyun WeatherPrecipitation MapGeospatial

What You Can Do

GET
Getprecipitationmaptile — Get a precipitation map raster tile.
/v1/precipitation-map/{z}/{x}/{y}

MCP Tools

get-precipitation-map-tile

Get a Web Mercator precipitation map tile (PNG) for overlay rendering.

read-only idempotent

Capability Spec

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

info:
  label: "Caiyun Weather API — Precipitation Map"
  description: >-
    Precipitation Map — Caiyun radar + nowcast precipitation map raster
    surface for Web Mercator tile overlays. 1 operation. Lead operation:
    Caiyun Weather Get Precipitation Map Tile. Self-contained Naftiko
    capability covering one ColorfulClouds business surface.
  tags:
    - Caiyun Weather
    - Precipitation Map
    - Geospatial
  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-precipitation-map"
      baseUri: "https://api.caiyunapp.com/v2.6"
      description: "Caiyun precipitation map tile endpoint. Self-contained."
      authentication:
        type: apikey
        key: token
        value: "{{env.CAIYUN_WEATHER_API_TOKEN}}"
        placement: query
      resources:
        - name: "precipitation-map-tile"
          path: "/precipitation/{z}/{x}/{y}.png"
          operations:
            - name: "getPrecipitationMapTile"
              method: GET
              description: "Returns a 256x256 PNG raster tile with radar + nowcast precipitation intensity for the Web Mercator tile (z,x,y)."
              inputParameters:
                - name: "z"
                  in: path
                  type: integer
                  required: true
                  description: "Web Mercator zoom level."
                - name: "x"
                  in: path
                  type: integer
                  required: true
                  description: "Web Mercator tile column."
                - name: "y"
                  in: path
                  type: integer
                  required: true
                  description: "Web Mercator tile row."
                - name: "timestamp"
                  in: query
                  type: integer
                  required: false
                  description: "Optional Unix epoch second to request a specific nowcast frame."
              outputRawFormat: binary
              outputParameters:
                - name: result
                  type: object
                  value: "$."

  exposes:
    - type: rest
      namespace: "caiyun-weather-precipitation-map-rest"
      port: 8080
      description: "REST adapter for Caiyun Weather Precipitation Map tiles."
      resources:
        - path: "/v1/precipitation-map/{z}/{x}/{y}"
          name: "precipitation-map-tile"
          description: "REST surface for precipitation map tiles."
          operations:
            - method: GET
              name: "getPrecipitationMapTile"
              description: "Get a precipitation map raster tile."
              call: "caiyun-weather-precipitation-map.getPrecipitationMapTile"
              with:
                "z": "rest.z"
                "x": "rest.x"
                "y": "rest.y"
                "timestamp": "rest.timestamp"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      namespace: "caiyun-weather-precipitation-map-mcp"
      port: 9090
      transport: http
      description: "MCP adapter for Caiyun Weather Precipitation Map tiles."
      tools:
        - name: "get-precipitation-map-tile"
          description: "Get a Web Mercator precipitation map tile (PNG) for overlay rendering."
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: "caiyun-weather-precipitation-map.getPrecipitationMapTile"
          with:
            "z": "tools.z"
            "x": "tools.x"
            "y": "tools.y"
            "timestamp": "tools.timestamp"
          outputParameters:
            - type: object
              mapping: "$."