KAZM Mellow Mountain Radio
KAZM 106.5 FM/780 AM: now playing, weather, fire alerts, road conditions & concerts (Sedona, AZ).
¿Debería usar esto?
Calidad y seguridad
Hallazgos (6)
- LOWen get_horoscope
- LOWen get_solfeggio
- LOWen get_sports_scores
- LOWen get_wildfire_perimeters
- LOWen get_day_in_music_history
- LOWen get_stargazing_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": {
"kazm": {
"url": "https://mcp.mellowmountainradio.com/mcp"
}
}
}Puntos de conexión remotos
https://mcp.mellowmountainradio.com/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (46)
🟢get_now_playing
Returns the song currently on air: title, artist, album, artwork URL, start time, and stream URL.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"title": {
"type": [
"string",
"null"
]
},
"artist": {
"type": [
"string",
"null"
]
},
"album": {
"type": [
"string",
"null"
]
},
"art": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
},
"started_at": {
"type": [
"string",
"null"
]
},
"elapsed_s": {
"type": [
"number",
"null"
]
},
"duration_s": {
"type": [
"number",
"null"
]
},
"stream_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
}
},
"required": [
"title",
"artist",
"album",
"art",
"started_at",
"elapsed_s",
"duration_s",
"stream_url"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_listener_count
Returns the current live listener count across all mounts, plus per-mount breakdown.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"total": {
"type": "number"
},
"unique": {
"type": "number"
},
"mounts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"listeners": {
"type": "number"
},
"url": {
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"listeners",
"url"
],
"additionalProperties": false
}
}
},
"required": [
"total",
"unique",
"mounts"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢search_song_history(query)
Returns the most recently played songs (up to 25). Optionally filter by keyword in title or artist.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Keyword to filter by title or artist"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": [
"string",
"null"
]
},
"artist": {
"type": [
"string",
"null"
]
},
"played_at": {
"type": [
"string",
"null"
]
}
},
"required": [
"title",
"artist",
"played_at"
],
"additionalProperties": false
}
}
},
"required": [
"results"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_fire_restrictions
Returns current fire restriction level and fire danger rating for the Sedona / Coconino National Forest area. Includes any active Stage 1 or Stage 2 restrictions and Sedona-area alerts.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"updated": {
"type": [
"string",
"null"
]
},
"agency": {
"type": [
"string",
"null"
]
},
"source": {
"type": [
"string",
"null"
]
},
"stage": {
"type": [
"number",
"null"
]
},
"danger": {
"type": [
"string",
"null"
]
},
"sedona_alerts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"text",
"url"
],
"additionalProperties": false
}
},
"notes": {
"type": [
"string",
"null"
]
}
},
"required": [
"updated",
"agency",
"source",
"stage",
"danger",
"sedona_alerts",
"notes"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_weather
Returns current conditions and a 7-day forecast for Sedona AZ from Open-Meteo (free, no key required).
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"latitude": {
"type": "number"
},
"longitude": {
"type": "number"
},
"generationtime_ms": {
"type": "number"
},
"utc_offset_seconds": {
"type": "number"
},
"timezone": {
"type": "string"
},
"timezone_abbreviation": {
"type": "string"
},
"elevation": {
"type": "number"
},
"current_units": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"current": {
"type": "object",
"additionalProperties": {}
},
"hourly_units": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"hourly": {
"type": "object",
"additionalProperties": {}
},
"daily_units": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"daily": {
"type": "object",
"additionalProperties": {}
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_road_conditions
Returns active road and trail closures for the Sedona / Oak Creek area from the Coconino National Forest alerts page. Also includes highway incidents for SR-89A, SR-179, and I-17 via Road511 when ROAD511_KEY is set.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"updated": {
"type": [
"string",
"null"
]
},
"sources": {
"type": "array",
"items": {
"type": "string"
}
},
"closures": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
}
},
"incidents": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
}
}
},
"required": [
"updated",
"sources",
"closures",
"incidents"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_concerts(state)
Returns upcoming concerts and shows sourced from KAZM's data, primarily AZ and regional venues.
Esquema de entrada
{
"type": "object",
"properties": {
"state": {
"type": "string",
"description": "Filter by state abbreviation, e.g. 'AZ'"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"updated": {
"type": [
"string",
"null"
]
},
"count": {
"type": "number"
},
"concerts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"artist": {
"type": "string"
},
"name": {
"type": "string"
},
"venue": {
"type": "string"
},
"date": {
"type": "string"
},
"time": {
"type": "string"
},
"tickets": {
"type": "string"
}
},
"additionalProperties": true
}
}
},
"required": [
"updated",
"count",
"concerts"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_events
Returns upcoming local Sedona events including library events and festivals.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"library_events": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
}
},
"festivals": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
}
}
},
"required": [
"library_events",
"festivals"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_stream_url
Returns the live audio stream URLs for KAZM (MP3 and AAC mounts) plus the station web player URL.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"web_player": {
"type": "string",
"format": "uri"
},
"streams": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"url": {
"type": "string"
},
"bitrate": {
"anyOf": [
{
"type": [
"string",
"number"
]
},
{
"type": "null"
}
]
},
"format": {
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"url"
],
"additionalProperties": false
}
}
},
"required": [
"web_player",
"streams"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_show_schedule(day, query)
Returns KAZM's weekly on-air program schedule. Optionally filter by day (weekday, saturday, sunday) or show name keyword.
Esquema de entrada
{
"type": "object",
"properties": {
"day": {
"type": "string",
"enum": [
"weekday",
"saturday",
"sunday"
],
"description": "Filter to a specific day group"
},
"query": {
"type": "string",
"description": "Keyword to filter by show name or host"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"station": {
"type": "string"
},
"timezone": {
"type": "string"
},
"schedule": {
"type": "object",
"additionalProperties": {}
}
},
"required": [
"station",
"timezone",
"schedule"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_horoscope(sign, period)
Returns daily, weekly, and monthly horoscopes for all signs or a specific sign.
Esquema de entrada
{
"type": "object",
"properties": {
"sign": {
"type": "string",
"enum": [
"aries",
"taurus",
"gemini",
"cancer",
"leo",
"virgo",
"libra",
"scorpio",
"sagittarius",
"capricorn",
"aquarius",
"pisces"
],
"description": "Zodiac sign (omit for all)"
},
"period": {
"type": "string",
"enum": [
"daily",
"weekly",
"monthly"
],
"description": "Which forecast period (default: daily)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"updated": {
"type": [
"string",
"null"
]
},
"period": {
"type": [
"string",
"null"
]
},
"horoscopes": {
"type": "object",
"additionalProperties": {}
}
},
"required": [
"updated",
"period",
"horoscopes"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_schumann_resonance
Returns the current Schumann resonance reading — Earth's electromagnetic pulse measured at the Tomsk observatory. Includes frequency, energy score, activity level, and spectrogram URL.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"status": {
"type": "string"
},
"frequency_hz": {
"type": "number"
},
"amplitude": {
"type": "number"
},
"last_updated": {
"type": "string"
},
"source": {
"type": "string"
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_sound_session(goal)
Recommends a KAZM sound healing session — binaural or tonal — based on the listener's goal or current time of day. Returns session name, description, frequency, duration, and link.
Esquema de entrada
{
"type": "object",
"properties": {
"goal": {
"type": "string",
"enum": [
"sleep",
"focus",
"meditation",
"energy",
"calm",
"anxiety",
"creativity",
"healing"
],
"description": "Listener's intent — omit to get a time-of-day recommendation"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"recommended": {
"anyOf": [
{
"type": "string"
},
{
"type": "object",
"additionalProperties": {}
}
]
},
"reason": {
"type": "string"
},
"also_available": {
"type": "array",
"items": {}
}
},
"required": [
"recommended"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_chakra_guide(chakra)
Full guide to the seven chakras — Sanskrit name, Solfeggio frequency, musical note, color, element, bija mantra, petal count, governing theme, balanced and blocked states, affirmation, crystals, essential oils, yoga pose, and the Sedona vortex tied to each center.
Esquema de entrada
{
"type": "object",
"properties": {
"chakra": {
"type": "string",
"enum": [
"root",
"sacral",
"solar_plexus",
"heart",
"throat",
"third_eye",
"crown"
],
"description": "Specific chakra — omit for all seven"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"chakras": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
}
},
"note": {
"type": "string"
},
"chakra_sound_bath": {
"type": "string"
},
"sound_healing_page": {
"type": "string"
}
},
"required": [
"chakras"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_chakra_frequencies(chakra)
Returns the seven Solfeggio chakra frequencies with musical notes, colors, and affirmations. For the full guide (crystals, oils, poses, Sedona vortex) use get_chakra_guide.
Esquema de entrada
{
"type": "object",
"properties": {
"chakra": {
"type": "string",
"enum": [
"root",
"sacral",
"solar_plexus",
"heart",
"throat",
"third_eye",
"crown"
],
"description": "Specific chakra — omit for all seven"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"chakras": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
}
},
"tip": {
"type": "string"
},
"chakra_sound_bath": {
"type": "string"
}
},
"required": [
"chakras"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_solfeggio(hz)
Returns the nine-tone Solfeggio frequency scale with each tone's traditional healing properties, note name, and use cases. These frequencies underpin modern sound healing practice.
Esquema de entrada
{
"type": "object",
"properties": {
"hz": {
"type": "integer",
"description": "Look up a specific frequency in Hz — e.g. 528"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"frequencies": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
}
},
"note": {
"type": "string"
},
"sound_healing_page": {
"type": "string"
}
},
"required": [
"frequencies"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢search_song_request_library(query)
Search KAZM's requestable song library by artist or title keyword. Returns matching tracks the DJ can play on request.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Artist name or song title to search for"
}
},
"required": [
"query"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"query": {
"type": "string"
},
"count": {
"type": "number"
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"artist": {
"type": "string"
}
},
"required": [
"title",
"artist"
],
"additionalProperties": false
}
}
},
"required": [
"query",
"count",
"results"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_rewind
Returns available on-demand rewind blocks — past KAZM broadcasts you can listen to, with dates and stream URLs.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"count": {
"type": "number"
},
"blocks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string"
},
"start_hour": {
"type": "number"
},
"url": {
"type": "string"
}
},
"required": [
"date",
"start_hour",
"url"
],
"additionalProperties": false
}
}
},
"required": [
"count",
"blocks"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_jeep_trails(trail)
Returns Sedona jeep trail names available on the KAZM trail map. Pass a trail name to get its GPS coordinate path.
Esquema de entrada
{
"type": "object",
"properties": {
"trail": {
"type": "string",
"description": "Trail slug, e.g. 'broken-arrow', 'schnebly'. Omit for the full list."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"trails": {
"type": "array",
"items": {}
},
"map_url": {
"type": "string"
},
"trail": {
"type": "string"
},
"coordinates": {
"type": "array",
"items": {}
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_movies
Returns current movie showings at Sedona-area theaters (Mary D. Fisher Theatre, Harkins Sedona 6, and others).
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"updated": {
"type": [
"string",
"null"
]
},
"venues": {
"type": "array",
"items": {}
},
"showings": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
}
}
},
"required": [
"updated",
"venues",
"showings"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_emergency_alerts(severity)
Returns active Emergency Alert System (EAS) alerts for the Sedona area — Yavapai and Coconino counties. Covers weather emergencies, evacuation orders, Amber Alerts, and all FEMA IPAWS-distributed alerts. Data is live from the National Weather Service public API.
Esquema de entrada
{
"type": "object",
"properties": {
"severity": {
"type": "string",
"enum": [
"Extreme",
"Severe",
"Moderate",
"Minor"
],
"description": "Filter to alerts at or above this severity level (Extreme > Severe > Moderate > Minor)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"updated": {
"type": [
"string",
"null"
]
},
"counties": {
"type": "array",
"items": {
"type": "string"
}
},
"count": {
"type": "number"
},
"alerts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"event": {
"type": "string"
},
"headline": {
"type": "string"
},
"description": {
"type": "string"
},
"instruction": {
"type": "string"
},
"severity": {
"type": "string"
},
"urgency": {
"type": "string"
},
"certainty": {
"type": "string"
},
"areas": {
"type": "string"
},
"sender": {
"type": "string"
},
"effective": {
"type": "string"
},
"expires": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"event"
],
"additionalProperties": false
}
}
},
"required": [
"updated",
"counties",
"count",
"alerts"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡submit_song_request(query, name, note)
Submit a song request to KAZM 106.5 FM & 780 AM via the station website. Searches the real studio library, then logs the request for the DJ — every request gets read. Provide both song title and artist for best results.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Song title and/or artist name, e.g. 'Sailing Christopher Cross' or 'Truckin Grateful Dead'"
},
"name": {
"type": "string",
"maxLength": 60,
"description": "Your name and town for the request card, e.g. 'Sarah from Sedona' (optional)"
},
"note": {
"type": "string",
"maxLength": 140,
"description": "A dedication or message, e.g. 'Happy birthday Maria!' (optional)"
}
},
"required": [
"query"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"submitted": {
"type": "boolean"
},
"name": {
"type": "string"
},
"note": {
"type": "string"
},
"message": {
"type": "string"
},
"matches": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
}
}
},
"required": [
"success"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_local_news_headlines(limit)
Returns the latest Sedona and Verde Valley local news headlines. Pulls live from the Sedona Red Rock News and Verde Independent RSS feeds. Covers local government, arts, community events, real estate, and Verde Valley news.
Esquema de entrada
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"description": "Max headlines to return per source (default 8)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"updated": {
"type": [
"string",
"null"
]
},
"feeds": {
"type": "array",
"items": {
"type": "object",
"properties": {
"source": {
"type": "string"
},
"count": {
"type": "number"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"link": {
"type": [
"string",
"null"
]
},
"published": {
"type": [
"string",
"null"
]
},
"summary": {
"type": [
"string",
"null"
]
}
},
"required": [
"title"
],
"additionalProperties": true
}
}
},
"required": [
"source",
"count",
"items"
],
"additionalProperties": false
}
},
"errors": {
"type": "array",
"items": {}
}
},
"required": [
"updated",
"feeds"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_air_quality
Returns current air quality index (AQI) and pollutant readings for Sedona, AZ from Open-Meteo. Includes US AQI category, PM2.5, PM10, ozone, and UV index. Especially useful during wildfire season for tracking smoke and outdoor safety.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"location": {
"type": "string"
},
"coordinates": {
"type": "object",
"properties": {
"lat": {
"type": "number"
},
"lon": {
"type": "number"
}
},
"required": [
"lat",
"lon"
],
"additionalProperties": false
},
"updated": {
"type": [
"string",
"null"
]
},
"us_aqi": {
"type": [
"number",
"null"
]
},
"category": {
"type": [
"string",
"null"
]
},
"pm2_5_ug_m3": {
"type": [
"number",
"null"
]
},
"pm10_ug_m3": {
"type": [
"number",
"null"
]
},
"ozone_ug_m3": {
"type": [
"number",
"null"
]
},
"uv_index": {
"type": [
"number",
"null"
]
},
"dust_ug_m3": {
"type": [
"number",
"null"
]
},
"carbon_monoxide": {
"type": [
"number",
"null"
]
},
"nitrogen_dioxide": {
"type": [
"number",
"null"
]
},
"source": {
"type": "string"
}
},
"required": [
"location",
"coordinates",
"updated",
"us_aqi",
"category",
"pm2_5_ug_m3",
"pm10_ug_m3",
"ozone_ug_m3",
"uv_index",
"dust_ug_m3",
"carbon_monoxide",
"nitrogen_dioxide",
"source"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_sports_scores(team)
Returns current and recent scores for Arizona sports teams — Cardinals (NFL), Suns (NBA), D-backs (MLB), Mercury (WNBA), ASU Sun Devils, Arizona Wildcats, NAU Lumberjacks, and UFC events. Powered by ESPN.
Esquema de entrada
{
"type": "object",
"properties": {
"team": {
"type": "string",
"enum": [
"cardinals",
"suns",
"dbacks",
"mercury",
"asu",
"wildcats",
"arizona",
"nau",
"ufc"
],
"description": "Filter by team — omit for all Arizona teams"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"updated": {
"type": [
"string",
"null"
]
},
"scores": {
"type": "object",
"additionalProperties": {}
}
},
"required": [
"updated",
"scores"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_sun_times(date)
Returns sunrise, sunset, solar noon, day length, golden hours, and astronomical twilight for Sedona from the KAZM transmitter site. Optional date param for any day. Also flags next solstice and equinox.
Esquema de entrada
{
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "Date in YYYY-MM-DD format — omit for today"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"date": {
"type": "string"
},
"location": {
"type": "string"
},
"sunrise": {
"type": "string"
},
"sunset": {
"type": "string"
},
"solar_noon": {
"type": "string"
},
"day_length_seconds": {
"type": "number"
},
"civil_twilight_begin": {
"type": "string"
},
"civil_twilight_end": {
"type": "string"
},
"nautical_twilight_begin": {
"type": "string"
},
"nautical_twilight_end": {
"type": "string"
},
"astronomical_twilight_begin": {
"type": "string"
},
"astronomical_twilight_end": {
"type": "string"
},
"next_solstice_or_equinox": {
"type": "object",
"additionalProperties": {}
},
"source": {
"type": "string"
}
},
"required": [
"date",
"location",
"sunrise",
"sunset",
"solar_noon",
"day_length_seconds",
"civil_twilight_begin",
"civil_twilight_end",
"nautical_twilight_begin",
"nautical_twilight_end",
"astronomical_twilight_begin",
"astronomical_twilight_end",
"source"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_moon_phase(date)
Returns tonight's moon phase for Sedona, AZ — illumination percent, phase name, and a 7-day lunar calendar. Perfect for stargazing and outdoor planning.
Esquema de entrada
{
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "Date YYYY-MM-DD (default today)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"location": {
"type": "string"
},
"today": {
"type": "object",
"properties": {
"date": {
"type": "string"
},
"phase": {
"type": "string"
},
"emoji": {
"type": "string"
},
"illumination_pct": {
"type": "number"
},
"moon_age_days": {
"type": "number"
}
},
"required": [
"date",
"phase",
"emoji",
"illumination_pct",
"moon_age_days"
],
"additionalProperties": false
},
"next_7_days": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
}
},
"source": {
"type": "string"
}
},
"required": [
"location",
"today",
"next_7_days",
"source"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_vortex_guide(site)
Returns a guide to Sedona's four famous energy vortex sites — Bell Rock, Cathedral Rock, Airport Mesa, and Boynton Canyon. Includes directions, hiking info, best visit times, and energy type.
Esquema de entrada
{
"type": "object",
"properties": {
"site": {
"type": "string",
"enum": [
"bell_rock",
"cathedral_rock",
"airport_mesa",
"boynton_canyon"
],
"description": "Filter to one vortex site"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"location": {
"type": "string"
},
"note": {
"type": "string"
},
"vortex_sites": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
}
},
{
"type": "object",
"additionalProperties": {}
}
]
}
},
"required": [
"location",
"vortex_sites"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_nws_alerts
Returns active National Weather Service alerts for the Sedona / Yavapai County area — watches, warnings, and advisories. Returns empty when conditions are clear.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"location": {
"type": "string"
},
"updated": {
"type": [
"string",
"null"
]
},
"alert_count": {
"type": "number"
},
"alerts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"event": {
"type": "string"
},
"severity": {
"type": "string"
},
"urgency": {
"type": "string"
},
"headline": {
"type": "string"
},
"description": {
"type": "string"
},
"instruction": {
"type": "string"
},
"effective": {
"type": "string"
},
"expires": {
"type": "string"
},
"areas": {
"type": "string"
}
},
"required": [
"event"
],
"additionalProperties": false
}
},
"source": {
"type": "string"
}
},
"required": [
"location",
"updated",
"alert_count",
"alerts",
"source"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_oak_creek_levels
Returns current Oak Creek stream level and discharge at the Sedona USGS gauge. Useful for creek crossing safety, swimming holes, and recreation planning.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"station": {
"type": "string"
},
"station_id": {
"type": "string"
},
"updated": {
"type": [
"string",
"null"
]
},
"level_label": {
"type": "string"
},
"discharge_cfs": {
"anyOf": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "object",
"additionalProperties": {}
}
]
},
{
"type": "null"
}
]
},
"gage_height_ft": {
"anyOf": [
{
"anyOf": [
{
"type": "number"
},
{
"type": "object",
"additionalProperties": {}
}
]
},
{
"type": "null"
}
]
},
"source": {
"type": "string"
}
},
"required": [
"station",
"station_id",
"updated",
"level_label",
"source"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_artist_info(artist)
Returns biography, genre tags, and album discography for the artist currently on KAZM, or any named artist, from MusicBrainz (open music encyclopedia).
Esquema de entrada
{
"type": "object",
"properties": {
"artist": {
"type": "string",
"description": "Artist name — omit to use the current now-playing artist"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"searched_for": {
"type": "string"
},
"name": {
"type": [
"string",
"null"
]
},
"disambiguation": {
"type": [
"string",
"null"
]
},
"type": {
"type": [
"string",
"null"
]
},
"country": {
"type": [
"string",
"null"
]
},
"life_span": {
"anyOf": [
{
"type": "object",
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"albums": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"year": {
"type": [
"string",
"null"
]
}
},
"required": [
"title",
"year"
],
"additionalProperties": false
}
},
"musicbrainz_id": {
"type": [
"string",
"null"
]
},
"source": {
"type": "string"
}
},
"required": [
"searched_for",
"name",
"disambiguation",
"type",
"country",
"life_span",
"tags",
"albums",
"musicbrainz_id",
"source"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_wildfire_perimeters
Returns active wildfire incidents within ~150 miles of Sedona from the National Interagency Fire Center (NIFC). Especially critical during Arizona fire season (April–July). Returns name, acreage, containment, and distance from Sedona.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"updated": {
"type": [
"string",
"null"
]
},
"search_area": {
"type": "string"
},
"active_fire_count": {
"type": "number"
},
"fires": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"state": {
"type": "string"
},
"acres": {
"type": "number"
},
"contained_pct": {
"type": "number"
},
"discovered": {
"type": "string"
},
"behavior": {
"type": "string"
},
"lat": {
"type": "number"
},
"lon": {
"type": "number"
},
"dist_mi_from_sedona": {
"type": "number"
}
},
"required": [
"name"
],
"additionalProperties": false
}
},
"source": {
"type": "string"
}
},
"required": [
"updated",
"search_area",
"active_fire_count",
"fires",
"source"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_day_in_music_history(date)
Returns notable music events that happened on this day in history — album releases, iconic concerts, chart milestones, artist birthdays — from Wikipedia's On This Day feed. Great for on-air trivia.
Esquema de entrada
{
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "Date as MM-DD or YYYY-MM-DD — omit for today"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"date": {
"type": "string"
},
"music_events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"year": {
"type": "number"
},
"event": {
"type": "string"
}
},
"required": [
"year",
"event"
],
"additionalProperties": false
}
},
"music_birthdays": {
"type": "array",
"items": {
"type": "object",
"properties": {
"year": {
"type": "number"
},
"person": {
"type": "string"
}
},
"required": [
"year",
"person"
],
"additionalProperties": false
}
},
"music_passings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"year": {
"type": "number"
},
"person": {
"type": "string"
}
},
"required": [
"year",
"person"
],
"additionalProperties": false
}
},
"source": {
"type": "string"
}
},
"required": [
"date",
"music_events",
"music_birthdays",
"music_passings",
"source"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_visitor_info(topic)
Returns practical visitor information for Sedona, AZ — Red Rock Pass requirements, state park hours and fees, popular attractions, best seasons to visit, and local tips. Perfect for tourist queries.
Esquema de entrada
{
"type": "object",
"properties": {
"topic": {
"type": "string",
"enum": [
"parks",
"passes",
"attractions",
"seasons",
"tips",
"all"
],
"description": "Category of info — omit for all"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"location": {
"type": "string"
},
"last_verified": {
"type": [
"string",
"null"
]
},
"info": {
"type": "object",
"additionalProperties": {}
}
},
"required": [
"location",
"last_verified",
"info"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_red_rock_pass(topic)
Complete Red Rock Pass guide for Sedona / Coconino National Forest — all 19 required sites, current fees, accepted passes (America the Beautiful, Senior, Access), where to buy, shuttle info, and Soldier Pass permit details. Answers the most common Sedona visitor question.
Esquema de entrada
{
"type": "object",
"properties": {
"topic": {
"type": "string",
"enum": [
"fees",
"sites",
"shuttles",
"passes",
"buy",
"all"
],
"description": "fees | sites | shuttles | passes | buy | all (default)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"fees": {
"type": "object",
"additionalProperties": {}
},
"passes": {
"type": "object",
"additionalProperties": {}
},
"sites": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
}
},
{
"type": "object",
"additionalProperties": {}
}
]
},
"shuttles": {
"type": "object",
"additionalProperties": {}
},
"where_to_buy": {
"type": "array",
"items": {}
},
"tips": {
"type": "array",
"items": {
"type": "string"
}
},
"kazm_note": {
"type": "string"
}
},
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_hiking_trails(trail, difficulty)
Sedona hiking trail guide — distance, elevation gain, difficulty, trailhead location, Red Rock Pass requirement, access restrictions (shuttle/permit), and pro tips for 15 of the best trails in Red Rock Country.
Esquema de entrada
{
"type": "object",
"properties": {
"trail": {
"type": "string",
"description": "Trail name keyword, e.g. 'devil' or 'cathedral' — omit for all trails"
},
"difficulty": {
"type": "string",
"enum": [
"easy",
"moderate",
"strenuous"
],
"description": "Filter by difficulty"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"trails": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"distance_mi": {
"type": "number"
}
},
"required": [
"name"
],
"additionalProperties": true
}
},
"total": {
"type": "number"
},
"red_rock_pass_required": {
"type": [
"boolean",
"string"
]
},
"shuttle_info": {
"type": "string"
},
"oak_creek_tip": {
"type": "string"
},
"source": {
"type": "string"
},
"kazm_note": {
"type": "string"
}
},
"required": [
"trails"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_stargazing_conditions(date)
Returns tonight's stargazing forecast for Sedona, AZ — astronomical darkness window, moon interference, Milky Way galactic core visibility, and best times to shoot the night sky. Sedona sits near the Verde Valley Dark Sky corridor.
Esquema de entrada
{
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "Date YYYY-MM-DD (default tonight)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"date": {
"type": "string"
},
"location": {
"type": "string"
},
"darkness": {
"type": "object",
"properties": {
"astronomical_twilight_end": {
"type": "string"
},
"astronomical_twilight_begin": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"astronomical_twilight_end",
"astronomical_twilight_begin",
"note"
],
"additionalProperties": false
},
"moon": {
"type": "object",
"properties": {
"phase": {
"type": "string"
},
"emoji": {
"type": "string"
},
"illumination_pct": {
"type": "number"
},
"moon_age_days": {
"type": "number"
},
"interference_rating": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"phase",
"emoji",
"illumination_pct",
"moon_age_days",
"interference_rating",
"note"
],
"additionalProperties": false
},
"milky_way": {
"type": "object",
"properties": {
"status": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"note"
],
"additionalProperties": false
},
"top_sites": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"why": {
"type": "string"
}
},
"required": [
"name",
"why"
],
"additionalProperties": false
}
},
"source": {
"type": "string"
}
},
"required": [
"date",
"location",
"darkness",
"moon",
"milky_way",
"top_sites",
"source"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_photography_guide(location)
Returns Sedona photography locations with today's real golden hour / blue hour times, current light quality score, and camera settings for each scenario. Great for landscape and astrophotography planning.
Esquema de entrada
{
"type": "object",
"properties": {
"location": {
"type": "string",
"enum": [
"cathedral_rock",
"airport_mesa",
"bell_rock",
"chapel_holy_cross",
"devils_bridge",
"oak_creek_canyon"
],
"description": "Filter to a single location — omit for all 6"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"location_context": {
"type": "string"
},
"date": {
"type": "string"
},
"current_light_phase": {
"type": "string"
},
"current_light_score": {
"type": [
"number",
"string"
]
},
"today_times": {
"type": "object",
"additionalProperties": {}
},
"locations": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
}
},
{
"type": "object",
"additionalProperties": {}
}
]
}
},
"required": [
"location_context",
"date",
"current_light_phase",
"today_times",
"locations"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_tarot_card(spread, card_name)
Draws from the full 78-card Rider-Waite tarot deck. Returns the card of the day over Sedona (same for all listeners, turns at midnight MST), a single random draw, or a three-card past/present/future spread. Each card includes upright and reversed meanings, astrological correspondence, and suit element.
Esquema de entrada
{
"type": "object",
"properties": {
"spread": {
"type": "string",
"enum": [
"daily",
"single",
"three"
],
"description": "daily = today's card of the day (deterministic, Sedona date); single = one random card; three = past/present/future. Defaults to daily."
},
"card_name": {
"type": "string",
"description": "Look up a specific card by name, e.g. 'The Tower' or 'Ten of Cups'. Returns full upright and reversed meanings."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"spread": {
"type": "string"
},
"date": {
"type": "string"
},
"note": {
"type": "string"
},
"cards": {
"type": "array",
"items": {
"type": "object",
"properties": {
"position": {
"type": "string"
},
"card": {
"type": "string"
},
"glyph": {
"type": "string"
},
"tag": {
"type": "string"
},
"astro": {
"type": "string"
},
"orientation": {
"type": "string"
},
"meaning": {
"type": "string"
},
"upright": {
"type": "string"
},
"reversed": {
"type": "string"
}
},
"required": [
"card",
"glyph",
"tag",
"upright",
"reversed"
],
"additionalProperties": false
}
},
"card": {
"type": "string"
},
"glyph": {
"type": "string"
},
"tag": {
"type": "string"
},
"astro": {
"type": "string"
},
"upright": {
"type": "string"
},
"reversed": {
"type": "string"
},
"tarot_page": {
"type": "string"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡register_listener(name, email, location, language, genres)
Create or update a KAZM listener profile. Returns a listener_id that persists across AI sessions — saves name, location, language, and favorite genres so any future AI session can deliver a fully personalized Mellow Mountain Radio experience without starting from scratch.
Esquema de entrada
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Listener's name or nickname"
},
"email": {
"type": "string",
"description": "Email address (optional — used to find existing profile)"
},
"location": {
"type": "string",
"description": "City and country, e.g. 'Berlin, Germany' or 'Los Angeles, CA'"
},
"language": {
"type": "string",
"enum": [
"en",
"de",
"es",
"fr",
"pt",
"ja"
],
"description": "Preferred language for KAZM content: en/de/es/fr/pt/ja (default en)"
},
"genres": {
"type": "array",
"items": {
"type": "string"
},
"description": "Favorite music genres, e.g. ['classic rock','jazz','blues']"
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"listener_id": {
"type": "string"
},
"status": {
"type": "string"
},
"name": {
"type": "string"
},
"language": {
"type": "string"
},
"location": {
"type": [
"string",
"null"
]
},
"genres": {
"type": "array",
"items": {
"type": "string"
}
},
"message": {
"type": "string"
}
},
"required": [
"listener_id",
"status",
"name",
"language",
"location",
"genres",
"message"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡get_or_create_listener(listener_id, email, name, language, location, ...)
The zero-friction entry point for KAZM personalization. Pass whatever you know — listener_id, email, or just a name — and this tool either returns the existing profile or silently creates one in a single call. No separate registration step needed. Call this at the start of every listener session.
Esquema de entrada
{
"type": "object",
"properties": {
"listener_id": {
"type": "string",
"description": "The listener's unique KAZM ID if already known (from custom instructions or previous session)"
},
"email": {
"type": "string",
"description": "Listener's email address — used to find or link their profile"
},
"name": {
"type": "string",
"description": "Listener's name — used when creating a new profile"
},
"language": {
"type": "string",
"enum": [
"en",
"de",
"es",
"fr",
"pt",
"ja"
],
"description": "Preferred language — set on creation, or updates existing profile"
},
"location": {
"type": "string",
"description": "City and country — set on creation or update"
},
"genres": {
"type": "array",
"items": {
"type": "string"
},
"description": "Favorite music genres — set on creation or update"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"listener_id": {
"type": "string"
},
"status": {
"type": "string"
},
"name": {
"type": "string"
},
"language": {
"type": "string"
},
"location": {
"type": [
"string",
"null"
]
},
"genres": {
"type": "array",
"items": {
"type": "string"
}
},
"preferences": {
"type": "object",
"additionalProperties": {}
},
"recent_history": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
}
},
"save_hint": {
"type": "string"
},
"personalization_tip": {
"type": "string"
}
},
"required": [
"listener_id",
"status",
"name",
"language",
"location",
"genres",
"preferences",
"recent_history"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_listener_profile(listener_id, email)
Retrieve a KAZM listener's full profile — by listener_id OR by email address. Either identifier works. Use at the start of any session to instantly personalize the experience. If the listener has their KAZM ID saved in Claude custom instructions, use that; otherwise look them up by email.
Esquema de entrada
{
"type": "object",
"properties": {
"listener_id": {
"type": "string",
"description": "The listener's unique ID (from register_listener or saved in custom instructions)"
},
"email": {
"type": "string",
"description": "Email address — alternative to listener_id. Use if the listener's email is known."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"location": {
"type": [
"string",
"null"
]
},
"language": {
"type": "string"
},
"genres": {
"type": "array",
"items": {
"type": "string"
}
},
"preferences": {
"type": "object",
"additionalProperties": {}
},
"member_since": {
"type": [
"string",
"null"
]
},
"last_seen": {
"type": [
"string",
"null"
]
},
"total_sessions": {
"type": "number"
},
"recent_history": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
}
},
"personalization_tip": {
"type": "string"
}
},
"required": [
"id",
"name",
"location",
"language",
"genres",
"preferences",
"member_since",
"last_seen",
"total_sessions",
"recent_history"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡update_listener_preference(listener_id, key, value)
Update a specific preference for a KAZM listener — language, location, favorite genre, or any custom key. Persists across all future AI sessions.
Esquema de entrada
{
"type": "object",
"properties": {
"listener_id": {
"type": "string",
"description": "The listener's unique ID"
},
"key": {
"type": "string",
"description": "Preference key: 'language', 'location', 'genres' (comma-separated), 'favorite_show', or any custom key"
},
"value": {
"type": "string",
"description": "New value for the preference"
}
},
"required": [
"listener_id",
"key",
"value"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"listener_id": {
"type": "string"
},
"updated": {
"type": "object",
"additionalProperties": {}
},
"updated_at": {
"type": "string"
}
},
"required": [
"ok",
"listener_id",
"updated",
"updated_at"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢log_listener_history(listener_id, event_type, title, artist, notes)
Log a listening event for a KAZM listener — a song that played, a show they tuned into, a request they made. Builds the history that powers smarter recommendations in every future session. Call this whenever something notable happens in a listener's session.
Esquema de entrada
{
"type": "object",
"properties": {
"listener_id": {
"type": "string",
"description": "The listener's unique ID"
},
"event_type": {
"type": "string",
"enum": [
"song_played",
"show_tuned_in",
"song_requested",
"session_start",
"session_end",
"reacted"
],
"description": "Type of event"
},
"title": {
"type": "string",
"description": "Song title or show name"
},
"artist": {
"type": "string",
"description": "Artist name (for songs)"
},
"notes": {
"type": "string",
"description": "Extra context: 'loved it', 'skipped after 10s', 'requested via AI', etc."
}
},
"required": [
"listener_id",
"event_type"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"logged": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"title": {
"type": [
"string",
"null"
]
},
"artist": {
"type": [
"string",
"null"
]
},
"notes": {
"type": [
"string",
"null"
]
},
"timestamp": {
"type": "string"
}
},
"required": [
"type",
"title",
"artist",
"notes",
"timestamp"
],
"additionalProperties": false
},
"total_events": {
"type": "number"
}
},
"required": [
"ok",
"logged",
"total_events"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_personalized_content(listener_id, email, content_type)
Returns a fully personalized KAZM experience — greeting in the listener's language, recommendations from their history, station brief. Accepts listener_id OR email, so no separate registration step is ever needed. Pairs perfectly with get_or_create_listener.
Esquema de entrada
{
"type": "object",
"properties": {
"listener_id": {
"type": "string",
"description": "The listener's unique ID"
},
"email": {
"type": "string",
"description": "Email address — alternative to listener_id"
},
"content_type": {
"type": "string",
"enum": [
"greeting",
"recommendations",
"full"
],
"description": "greeting = localized welcome only; recommendations = based on history; full = everything (default)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"listener": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"location": {
"type": [
"string",
"null"
]
},
"language": {
"type": "string"
}
},
"required": [
"id",
"name",
"location",
"language"
],
"additionalProperties": false
},
"greeting": {
"type": "string"
},
"recommendations": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
}
},
"session_tip": {
"type": "string"
}
},
"required": [
"listener"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢search_broadcast_transcripts(query, types, date, limit)
Search every word spoken on KAZM's airwaves — weather reports, local news, live talk breaks, and syndicated shows, machine-transcribed from the station's own broadcast tapes. The archive begins July 2026 and grows four blocks a day, forever. Commercials and PSAs are never archived. Times are Arizona (Phoenix, UTC-7). Pairs with search_song_history: that tool answers what was PLAYED, this one answers what was SAID.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Words to search for in the spoken-word archive, e.g. 'fire restrictions' or 'doctor'"
},
"types": {
"type": "string",
"description": "Comma-separated segment types to search: talk (KAZM's own voice — weather, news, breaks), show (syndicated programming), live (live broadcasts), music (words captured over songs). Default 'talk,show,live'."
},
"date": {
"type": "string",
"description": "Limit to one broadcast day, YYYY-MM-DD"
},
"limit": {
"type": "number",
"description": "Max matches to return (default 25, max 100)"
}
},
"required": [
"query"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Comunidad
Evidencia