KaiCast Ocean Conditions

Ocean conditions by location: water visibility, swell, wind, tide, plus dive and snorkel spot picks.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
88%
Integridad del esquema
95%
Calidad de los nombres
90%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (1)

  • LOWTool 'get_conditions' description lacks action verben get_conditions

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,818Tokens (definiciones de herramientas)
~6.8 KBTamaño de respuesta típico
Impacto significativo en la atención (2.20% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "ocean-conditions": {
      "url": "https://kaicast.com/mcp?ref=mcp-registry"
    }
  }
}

Puntos de conexión remotos

https://kaicast.com/mcp?ref=mcp-registrystreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (4)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢get_conditions(spot, lat, lon, from, to)

Facts for ONE covered spot over up to 7 days: 3-hour forecast periods with condition score (0-100) and rating, water visibility (ft), swell height/period/direction, wind, tide state and height, water temperature, plus tide events and data quality. Pass a spot id, or lat+lon to use the nearest covered spot within 30 km. Free.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "spot": {
      "description": "Spot id, e.g. \"electric-beach\". Pass this OR lat+lon.",
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    },
    "lat": {
      "description": "Latitude; snaps to the nearest covered spot within 30 km.",
      "type": "number",
      "minimum": -90,
      "maximum": 90
    },
    "lon": {
      "description": "Longitude; use with lat.",
      "type": "number",
      "minimum": -180,
      "maximum": 180
    },
    "from": {
      "description": "First day, spot-local YYYY-MM-DD. Default: today.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "to": {
      "description": "Last day, inclusive. At most 7 days after from. Default: from + 6.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "schema": {
      "type": "string"
    },
    "spot": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "name"
      ],
      "additionalProperties": {}
    },
    "periods": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "start": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "score": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "start",
          "score"
        ],
        "additionalProperties": {}
      }
    },
    "source": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "url": {
          "type": "string"
        },
        "docs": {
          "type": "string"
        }
      },
      "required": [
        "name",
        "url",
        "docs"
      ],
      "additionalProperties": {}
    }
  },
  "required": [
    "schema",
    "spot",
    "periods",
    "source"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
🟢list_coverage(region)

Which regions and spots KaiCast covers, and whether each region supports ranked decisions (spot picks and best-day answers) or facts only. Also lists supported activities and how directly each is modeled. Anywhere not listed is not covered. Free.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "region": {
      "description": "Limit to one region id.",
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "schema": {
      "type": "string"
    },
    "regions": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "decision_support": {
            "type": "string"
          },
          "spot_count": {
            "type": "number"
          }
        },
        "required": [
          "id",
          "name",
          "decision_support",
          "spot_count"
        ],
        "additionalProperties": {}
      }
    },
    "source": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "url": {
          "type": "string"
        },
        "docs": {
          "type": "string"
        }
      },
      "required": [
        "name",
        "url",
        "docs"
      ],
      "additionalProperties": {}
    }
  },
  "required": [
    "schema",
    "regions",
    "source"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
🟢recommend_spot(region, spot, lat, lon, radius_km, ...)

Ranked top picks (max 5) for an activity in one area on one day — by region id, or lat+lon with a radius. Each pick has the best daylight window, why (from the published conditions), a confidence score with its factors, caveats, and a KaiCast spot card. Returns status "not_covered" / "conditions_only" / "activity_not_modeled" honestly instead of guessing. Activities: snorkel (native model), dive, freedive, spearfish (proxy model; spots in water closed to spearfishing are excluded), surf (not modeled). Free during early access.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "region": {
      "description": "Region id, e.g. \"us-hi-oahu\".",
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    },
    "spot": {
      "description": "Spot id, e.g. \"hanauma-bay\".",
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    },
    "lat": {
      "description": "Latitude, decimal degrees. Use with lon.",
      "type": "number",
      "minimum": -90,
      "maximum": 90
    },
    "lon": {
      "description": "Longitude, decimal degrees. Use with lat.",
      "type": "number",
      "minimum": -180,
      "maximum": 180
    },
    "radius_km": {
      "description": "Search radius around lat/lon in km (default 40, max 100).",
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "activity": {
      "type": "string",
      "enum": [
        "snorkel",
        "dive",
        "freedive",
        "spearfish",
        "surf"
      ],
      "description": "What the user wants to do."
    },
    "date": {
      "description": "Spot-local day to plan for. Default: today, or tomorrow once today's daylight has passed. Up to 6 days ahead.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "limit": {
      "description": "How many picks (default 3, max 5).",
      "type": "integer",
      "minimum": 1,
      "maximum": 5
    }
  },
  "required": [
    "activity"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "schema": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "enum": [
        "ok",
        "no_data",
        "not_covered",
        "conditions_only",
        "activity_not_modeled"
      ]
    },
    "message": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "coverage": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string"
        }
      },
      "required": [
        "status"
      ],
      "additionalProperties": {}
    },
    "disclaimer": {
      "type": "string"
    },
    "source": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "url": {
          "type": "string"
        },
        "docs": {
          "type": "string"
        }
      },
      "required": [
        "name",
        "url",
        "docs"
      ],
      "additionalProperties": {}
    },
    "picks": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "rank": {
            "type": "number"
          },
          "spot": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name"
            ],
            "additionalProperties": {}
          },
          "date": {
            "type": "string"
          },
          "score": {
            "type": "number"
          },
          "rating": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "why": {
            "type": "object",
            "properties": {
              "summary": {
                "type": "string"
              }
            },
            "required": [
              "summary"
            ],
            "additionalProperties": {}
          },
          "confidence": {
            "type": "object",
            "properties": {
              "value": {
                "type": "number"
              },
              "label": {
                "type": "string"
              }
            },
            "required": [
              "value",
              "label"
            ],
            "additionalProperties": {}
          },
          "caveats": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                }
              },
              "required": [
                "code",
                "message"
              ],
              "additionalProperties": false
            }
          },
          "card": {
            "type": "object",
            "properties": {
              "spot_id": {
                "type": "string"
              },
              "spot_name": {
                "type": "string"
              },
              "tier": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "tier_label": {
                "type": "string"
              },
              "score": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "date": {
                "type": "string"
              },
              "links": {
                "type": "object",
                "properties": {
                  "share": {
                    "type": "string"
                  },
                  "app": {
                    "type": "string"
                  },
                  "forecast": {
                    "type": "string"
                  }
                },
                "required": [
                  "share",
                  "app",
                  "forecast"
                ],
                "additionalProperties": {}
              },
              "cta": {
                "type": "object",
                "properties": {
                  "label": {
                    "type": "string"
                  },
                  "url": {
                    "type": "string"
                  }
                },
                "required": [
                  "label",
                  "url"
                ],
                "additionalProperties": {}
              }
            },
            "required": [
              "spot_id",
              "spot_name",
              "tier",
              "tier_label",
              "score",
              "date",
              "links",
              "cta"
            ],
            "additionalProperties": {}
          }
        },
        "required": [
          "rank",
          "spot",
          "date",
          "score",
          "rating",
          "why",
          "confidence",
          "caveats",
          "card"
        ],
        "additionalProperties": {}
      }
    }
  },
  "required": [
    "schema",
    "status",
    "coverage",
    "disclaimer",
    "source",
    "picks"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
🟢best_day(region, spot, lat, lon, radius_km, ...)

Which day in a window (max 7 days) is best for an activity at a destination — a spot, a region, or lat+lon with a radius — and why, versus the runner-up. Returns every day's best score, confidence, caveats and a KaiCast spot card for the winner. Free during early access.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "region": {
      "description": "Region id, e.g. \"us-hi-oahu\".",
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    },
    "spot": {
      "description": "Spot id, e.g. \"hanauma-bay\".",
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    },
    "lat": {
      "description": "Latitude, decimal degrees. Use with lon.",
      "type": "number",
      "minimum": -90,
      "maximum": 90
    },
    "lon": {
      "description": "Longitude, decimal degrees. Use with lat.",
      "type": "number",
      "minimum": -180,
      "maximum": 180
    },
    "radius_km": {
      "description": "Search radius around lat/lon in km (default 40, max 100).",
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "activity": {
      "type": "string",
      "enum": [
        "snorkel",
        "dive",
        "freedive",
        "spearfish",
        "surf"
      ],
      "description": "What the user wants to do."
    },
    "from": {
      "description": "Window start, spot-local. Default: today.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "to": {
      "description": "Window end, inclusive, at most 7 days. Default: from + 6.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    }
  },
  "required": [
    "activity"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "schema": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "enum": [
        "ok",
        "no_data",
        "not_covered",
        "conditions_only",
        "activity_not_modeled"
      ]
    },
    "message": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "coverage": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string"
        }
      },
      "required": [
        "status"
      ],
      "additionalProperties": {}
    },
    "disclaimer": {
      "type": "string"
    },
    "source": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "url": {
          "type": "string"
        },
        "docs": {
          "type": "string"
        }
      },
      "required": [
        "name",
        "url",
        "docs"
      ],
      "additionalProperties": {}
    },
    "best": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "rank": {
              "type": "number"
            },
            "spot": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "name"
              ],
              "additionalProperties": {}
            },
            "date": {
              "type": "string"
            },
            "score": {
              "type": "number"
            },
            "rating": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "why": {
              "type": "object",
              "properties": {
                "summary": {
                  "type": "string"
                }
              },
              "required": [
                "summary"
              ],
              "additionalProperties": {}
            },
            "confidence": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "number"
                },
                "label": {
                  "type": "string"
                }
              },
              "required": [
                "value",
                "label"
              ],
              "additionalProperties": {}
            },
            "caveats": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  }
                },
                "required": [
                  "code",
                  "message"
                ],
                "additionalProperties": false
              }
            },
            "card": {
              "type": "object",
              "properties": {
                "spot_id": {
                  "type": "string"
                },
                "spot_name": {
                  "type": "string"
                },
                "tier": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "tier_label": {
                  "type": "string"
                },
                "score": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "date": {
                  "type": "string"
                },
                "links": {
                  "type": "object",
                  "properties": {
                    "share": {
                      "type": "string"
                    },
                    "app": {
                      "type": "string"
                    },
                    "forecast": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "share",
                    "app",
                    "forecast"
                  ],
                  "additionalProperties": {}
                },
                "cta": {
                  "type": "object",
                  "properties": {
                    "label": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "label",
                    "url"
                  ],
                  "additionalProperties": {}
                }
              },
              "required": [
                "spot_id",
                "spot_name",
                "tier",
                "tier_label",
                "score",
                "date",
                "links",
                "cta"
              ],
              "additionalProperties": {}
            },
            "date_label": {
              "type": "string"
            }
          },
          "required": [
            "rank",
            "spot",
            "date",
            "score",
            "rating",
            "why",
            "confidence",
            "caveats",
            "card",
            "date_label"
          ],
          "additionalProperties": {}
        },
        {
          "type": "null"
        }
      ]
    },
    "days": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string"
          },
          "score": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "date",
          "score"
        ],
        "additionalProperties": {}
      }
    }
  },
  "required": [
    "schema",
    "status",
    "coverage",
    "disclaimer",
    "source"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada4 herramientas