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
Hallazgos (1)
- LOWen get_conditions
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
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-httpQué puede hacer
Inventario de herramientas
Herramientas (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.
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
Evidencia