KaiCast Ocean Conditions

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

使うべきか

品質と安全性

A
説明の品質
88%
スキーマの完全性
95%
命名の品質
90%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

検出事項(1)

  • LOWTool 'get_conditions' description lacks action verbget_conditions 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~2,818トークン数(ツール定義)
~6.8 KB一般的なレスポンスサイズ
注意への影響は大きい(128k コンテキストの 2.20%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

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

リモートエンドポイント

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

できること

ツール一覧

ツール(4)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢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.

入力スキーマ

{
  "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"
}

出力スキーマ

{
  "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.

入力スキーマ

{
  "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"
}

出力スキーマ

{
  "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.

入力スキーマ

{
  "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"
}

出力スキーマ

{
  "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.

入力スキーマ

{
  "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"
}

出力スキーマ

{
  "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": {}
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 4 件