MCP Server

KAZM Mellow Mountain Radio

com.mellowmountainradio.mcp/kazm
Media & Content Travel & Hospitality Public & reachable MCP 2025-11-25

What this MCP does

Provides KAZM radio programming, music metadata, local news, events, weather, emergency alerts, road conditions, trails, and Sedona visitor information.

get_air_quality
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', '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'], 'properties': {'source': {'type': 'string'}, 'us_aqi': {'type': ['number', 'null']}, 'updated': {'type': ['string', 'null']}, 'category': {'type': ['string', 'null']}, 'location': {'type': 'string'}, 'uv_index': {'type': ['number', 'null']}, 'dust_ug_m3': {'type': ['number', 'null']}, 'pm10_ug_m3': {'type': ['number', 'null']}, 'coordinates': {'type': 'object', 'required': ['lat', 'lon'], 'properties': {'lat': {'type': 'number'}, 'lon': {'type': 'number'}}, 'additionalProperties': False}, 'ozone_ug_m3': {'type': ['number', 'null']}, 'pm2_5_ug_m3': {'type': ['number', 'null']}, 'carbon_monoxide': {'type': ['number', 'null']}, 'nitrogen_dioxide': {'type': ['number', 'null']}}, 'additionalProperties': False}
get_artist_info
Artist Info
Returns biography, genre tags, and album discography for the artist currently on KAZM, or any named artist, from MusicBrainz (open music encyclopedia).
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'artist': {'type': 'string', 'description': 'Artist name â\x80\x94 omit to use the current now-playing artist'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['searched_for', 'name', 'disambiguation', 'type', 'country', 'life_span', 'tags', 'albums', 'musicbrainz_id', 'source'], 'properties': {'name': {'type': ['string', 'null']}, 'tags': {'type': 'array', 'items': {'type': 'string'}}, 'type': {'type': ['string', 'null']}, 'albums': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'year'], 'properties': {'year': {'type': ['string', 'null']}, 'title': {'type': 'string'}}, 'additionalProperties': False}}, 'source': {'type': 'string'}, 'country': {'type': ['string', 'null']}, 'life_span': {'anyOf': [{'type': 'object', 'additionalProperties': {}}, {'type': 'null'}]}, 'searched_for': {'type': 'string'}, 'disambiguation': {'type': ['string', 'null']}, 'musicbrainz_id': {'type': ['string', 'null']}}, 'additionalProperties': False}
get_chakra_frequencies
Chakra Frequencies
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'chakra': {'enum': ['root', 'sacral', 'solar_plexus', 'heart', 'throat', 'third_eye', 'crown'], 'type': 'string', 'description': 'Specific chakra â\x80\x94 omit for all seven'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['chakras'], 'properties': {'tip': {'type': 'string'}, 'chakras': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}}, 'chakra_sound_bath': {'type': 'string'}}, 'additionalProperties': False}
get_chakra_guide
Chakra Guide
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'chakra': {'enum': ['root', 'sacral', 'solar_plexus', 'heart', 'throat', 'third_eye', 'crown'], 'type': 'string', 'description': 'Specific chakra â\x80\x94 omit for all seven'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['chakras'], 'properties': {'note': {'type': 'string'}, 'chakras': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}}, 'chakra_sound_bath': {'type': 'string'}, 'sound_healing_page': {'type': 'string'}}, 'additionalProperties': False}
get_concerts
Concerts
Returns upcoming concerts and shows sourced from KAZM's data, primarily AZ and regional venues.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'state': {'type': 'string', 'description': "Filter by state abbreviation, e.g. 'AZ'"}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['updated', 'count', 'concerts'], 'properties': {'count': {'type': 'number'}, 'updated': {'type': ['string', 'null']}, 'concerts': {'type': 'array', 'items': {'type': 'object', 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': 'string'}, 'venue': {'type': 'string'}, 'artist': {'type': 'string'}, 'tickets': {'type': 'string'}}, 'additionalProperties': True}}}, 'additionalProperties': False}
get_day_in_music_history
Day in Music History
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'date': {'type': 'string', 'description': 'Date as MM-DD or YYYY-MM-DD â\x80\x94 omit for today'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['date', 'music_events', 'music_birthdays', 'music_passings', 'source'], 'properties': {'date': {'type': 'string'}, 'source': {'type': 'string'}, 'music_events': {'type': 'array', 'items': {'type': 'object', 'required': ['year', 'event'], 'properties': {'year': {'type': 'number'}, 'event': {'type': 'string'}}, 'additionalProperties': False}}, 'music_passings': {'type': 'array', 'items': {'type': 'object', 'required': ['year', 'person'], 'properties': {'year': {'type': 'number'}, 'person': {'type': 'string'}}, 'additionalProperties': False}}, 'music_birthdays': {'type': 'array', 'items': {'type': 'object', 'required': ['year', 'person'], 'properties': {'year': {'type': 'number'}, 'person': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
get_emergency_alerts
Emergency Alerts
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'severity': {'enum': ['Extreme', 'Severe', 'Moderate', 'Minor'], 'type': 'string', 'description': 'Filter to alerts at or above this severity level (Extreme > Severe > Moderate > Minor)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['updated', 'counties', 'count', 'alerts'], 'properties': {'count': {'type': 'number'}, 'alerts': {'type': 'array', 'items': {'type': 'object', 'required': ['event'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'areas': {'type': 'string'}, 'event': {'type': 'string'}, 'sender': {'type': 'string'}, 'expires': {'type': 'string'}, 'urgency': {'type': 'string'}, 'headline': {'type': 'string'}, 'severity': {'type': 'string'}, 'certainty': {'type': 'string'}, 'effective': {'type': 'string'}, 'description': {'type': 'string'}, 'instruction': {'type': 'string'}}, 'additionalProperties': False}}, 'updated': {'type': ['string', 'null']}, 'counties': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
get_events
Local Events
Returns upcoming local Sedona events including library events and festivals.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['library_events', 'festivals'], 'properties': {'festivals': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}}, 'library_events': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}}}, 'additionalProperties': False}
get_fire_restrictions
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['updated', 'agency', 'source', 'stage', 'danger', 'sedona_alerts', 'notes'], 'properties': {'notes': {'type': ['string', 'null']}, 'stage': {'type': ['number', 'null']}, 'agency': {'type': ['string', 'null']}, 'danger': {'type': ['string', 'null']}, 'source': {'type': ['string', 'null']}, 'updated': {'type': ['string', 'null']}, 'sedona_alerts': {'type': 'array', 'items': {'type': 'object', 'required': ['text', 'url'], 'properties': {'url': {'type': 'string'}, 'text': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
get_hiking_trails
Hiking Trails
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'trail': {'type': 'string', 'description': "Trail name keyword, e.g. 'devil' or 'cathedral' â\x80\x94 omit for all trails"}, 'difficulty': {'enum': ['easy', 'moderate', 'strenuous'], 'type': 'string', 'description': 'Filter by difficulty'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['trails'], 'properties': {'total': {'type': 'number'}, 'source': {'type': 'string'}, 'trails': {'type': 'array', 'items': {'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'distance_mi': {'type': 'number'}}, 'additionalProperties': True}}, 'kazm_note': {'type': 'string'}, 'shuttle_info': {'type': 'string'}, 'oak_creek_tip': {'type': 'string'}, 'red_rock_pass_required': {'type': ['boolean', 'string']}}, 'additionalProperties': False}
get_horoscope
Daily Horoscope
Returns daily, weekly, and monthly horoscopes for all signs or a specific sign.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'sign': {'enum': ['aries', 'taurus', 'gemini', 'cancer', 'leo', 'virgo', 'libra', 'scorpio', 'sagittarius', 'capricorn', 'aquarius', 'pisces'], 'type': 'string', 'description': 'Zodiac sign (omit for all)'}, 'period': {'enum': ['daily', 'weekly', 'monthly'], 'type': 'string', 'description': 'Which forecast period (default: daily)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['updated', 'period', 'horoscopes'], 'properties': {'period': {'type': ['string', 'null']}, 'updated': {'type': ['string', 'null']}, 'horoscopes': {'type': 'object', 'additionalProperties': {}}}, 'additionalProperties': False}
get_jeep_trails
Jeep Trails
Returns Sedona jeep trail names available on the KAZM trail map. Pass a trail name to get its GPS coordinate path.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'trail': {'type': 'string', 'description': "Trail slug, e.g. 'broken-arrow', 'schnebly'. Omit for the full list."}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'trail': {'type': 'string'}, 'trails': {'type': 'array', 'items': {}}, 'map_url': {'type': 'string'}, 'coordinates': {'type': 'array', 'items': {}}}, 'additionalProperties': False}
get_listener_count
Listener Count
Returns the current live listener count across all mounts, plus per-mount breakdown.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['total', 'unique', 'mounts'], 'properties': {'total': {'type': 'number'}, 'mounts': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'listeners', 'url'], 'properties': {'url': {'type': ['string', 'null']}, 'name': {'type': 'string'}, 'listeners': {'type': 'number'}}, 'additionalProperties': False}}, 'unique': {'type': 'number'}}, 'additionalProperties': False}
get_listener_profile
Listener Profile
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'email': {'type': 'string', 'description': "Email address â\x80\x94 alternative to listener_id. Use if the listener's email is known."}, 'listener_id': {'type': 'string', 'description': "The listener's unique ID (from register_listener or saved in custom instructions)"}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id', 'name', 'location', 'language', 'genres', 'preferences', 'member_since', 'last_seen', 'total_sessions', 'recent_history'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'genres': {'type': 'array', 'items': {'type': 'string'}}, 'language': {'type': 'string'}, 'location': {'type': ['string', 'null']}, 'last_seen': {'type': ['string', 'null']}, 'preferences': {'type': 'object', 'additionalProperties': {}}, 'member_since': {'type': ['string', 'null']}, 'recent_history': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}}, 'total_sessions': {'type': 'number'}, 'personalization_tip': {'type': 'string'}}, 'additionalProperties': False}
get_local_news_headlines
Local News Headlines
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 20, 'minimum': 1, 'description': 'Max headlines to return per source (default 8)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['updated', 'feeds'], 'properties': {'feeds': {'type': 'array', 'items': {'type': 'object', 'required': ['source', 'count', 'items'], 'properties': {'count': {'type': 'number'}, 'items': {'type': 'array', 'items': {'type': 'object', 'required': ['title'], 'properties': {'link': {'type': ['string', 'null']}, 'title': {'type': 'string'}, 'summary': {'type': ['string', 'null']}, 'published': {'type': ['string', 'null']}}, 'additionalProperties': True}}, 'source': {'type': 'string'}}, 'additionalProperties': False}}, 'errors': {'type': 'array', 'items': {}}, 'updated': {'type': ['string', 'null']}}, 'additionalProperties': False}
get_moon_phase
Moon Phase
Returns tonight's moon phase for Sedona, AZ — illumination percent, phase name, and a 7-day lunar calendar. Perfect for stargazing and outdoor planning.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'date': {'type': 'string', 'description': 'Date YYYY-MM-DD (default today)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['location', 'today', 'next_7_days', 'source'], 'properties': {'today': {'type': 'object', 'required': ['date', 'phase', 'emoji', 'illumination_pct', 'moon_age_days'], 'properties': {'date': {'type': 'string'}, 'emoji': {'type': 'string'}, 'phase': {'type': 'string'}, 'moon_age_days': {'type': 'number'}, 'illumination_pct': {'type': 'number'}}, 'additionalProperties': False}, 'source': {'type': 'string'}, 'location': {'type': 'string'}, 'next_7_days': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}}}, 'additionalProperties': False}
get_movies
Movie Showtimes
Returns current movie showings at Sedona-area theaters (Mary D. Fisher Theatre, Harkins Sedona 6, and others).
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['updated', 'venues', 'showings'], 'properties': {'venues': {'type': 'array', 'items': {}}, 'updated': {'type': ['string', 'null']}, 'showings': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}}}, 'additionalProperties': False}
get_now_playing
Now Playing
Returns the song currently on air: title, artist, album, artwork URL, start time, and stream URL.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['title', 'artist', 'album', 'art', 'started_at', 'elapsed_s', 'duration_s', 'stream_url'], 'properties': {'art': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'album': {'type': ['string', 'null']}, 'title': {'type': ['string', 'null']}, 'artist': {'type': ['string', 'null']}, 'elapsed_s': {'type': ['number', 'null']}, 'duration_s': {'type': ['number', 'null']}, 'started_at': {'type': ['string', 'null']}, 'stream_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}}, 'additionalProperties': False}
get_nws_alerts
NWS Weather Alerts
Returns active National Weather Service alerts for the Sedona / Yavapai County area — watches, warnings, and advisories. Returns empty when conditions are clear.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['location', 'updated', 'alert_count', 'alerts', 'source'], 'properties': {'alerts': {'type': 'array', 'items': {'type': 'object', 'required': ['event'], 'properties': {'areas': {'type': 'string'}, 'event': {'type': 'string'}, 'expires': {'type': 'string'}, 'urgency': {'type': 'string'}, 'headline': {'type': 'string'}, 'severity': {'type': 'string'}, 'effective': {'type': 'string'}, 'description': {'type': 'string'}, 'instruction': {'type': 'string'}}, 'additionalProperties': False}}, 'source': {'type': 'string'}, 'updated': {'type': ['string', 'null']}, 'location': {'type': 'string'}, 'alert_count': {'type': 'number'}}, 'additionalProperties': False}
get_oak_creek_levels
Oak Creek Water Levels
Returns current Oak Creek stream level and discharge at the Sedona USGS gauge. Useful for creek crossing safety, swimming holes, and recreation planning.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['station', 'station_id', 'updated', 'level_label', 'source'], 'properties': {'source': {'type': 'string'}, 'station': {'type': 'string'}, 'updated': {'type': ['string', 'null']}, 'station_id': {'type': 'string'}, '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'}]}}, 'additionalProperties': False}
get_or_create_listener
Get or Create Listener
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.
Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'name': {'type': 'string', 'description': "Listener's name â\x80\x94 used when creating a new profile"}, 'email': {'type': 'string', 'description': "Listener's email address â\x80\x94 used to find or link their profile"}, 'genres': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Favorite music genres â\x80\x94 set on creation or update'}, 'language': {'enum': ['en', 'de', 'es', 'fr', 'pt', 'ja'], 'type': 'string', 'description': 'Preferred language â\x80\x94 set on creation, or updates existing profile'}, 'location': {'type': 'string', 'description': 'City and country â\x80\x94 set on creation or update'}, 'listener_id': {'type': 'string', 'description': "The listener's unique KAZM ID if already known (from custom instructions or previous session)"}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['listener_id', 'status', 'name', 'language', 'location', 'genres', 'preferences', 'recent_history'], 'properties': {'name': {'type': 'string'}, 'genres': {'type': 'array', 'items': {'type': 'string'}}, 'status': {'type': 'string'}, 'language': {'type': 'string'}, 'location': {'type': ['string', 'null']}, 'save_hint': {'type': 'string'}, 'listener_id': {'type': 'string'}, 'preferences': {'type': 'object', 'additionalProperties': {}}, 'recent_history': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}}, 'personalization_tip': {'type': 'string'}}, 'additionalProperties': False}
get_personalized_content
Personalized Content
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'email': {'type': 'string', 'description': 'Email address â\x80\x94 alternative to listener_id'}, 'listener_id': {'type': 'string', 'description': "The listener's unique ID"}, 'content_type': {'enum': ['greeting', 'recommendations', 'full'], 'type': 'string', 'description': 'greeting = localized welcome only; recommendations = based on history; full = everything (default)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['listener'], 'properties': {'greeting': {'type': 'string'}, 'listener': {'type': 'object', 'required': ['id', 'name', 'location', 'language'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'language': {'type': 'string'}, 'location': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'session_tip': {'type': 'string'}, 'recommendations': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}}}, 'additionalProperties': False}
get_photography_guide
Photography Guide
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'location': {'enum': ['cathedral_rock', 'airport_mesa', 'bell_rock', 'chapel_holy_cross', 'devils_bridge', 'oak_creek_canyon'], 'type': 'string', 'description': 'Filter to a single location â\x80\x94 omit for all 6'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['location_context', 'date', 'current_light_phase', 'today_times', 'locations'], 'properties': {'date': {'type': 'string'}, 'locations': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}}, {'type': 'object', 'additionalProperties': {}}]}, 'today_times': {'type': 'object', 'additionalProperties': {}}, 'location_context': {'type': 'string'}, 'current_light_phase': {'type': 'string'}, 'current_light_score': {'type': ['number', 'string']}}, 'additionalProperties': False}
get_red_rock_pass
Red Rock Pass Info
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'topic': {'enum': ['fees', 'sites', 'shuttles', 'passes', 'buy', 'all'], 'type': 'string', 'description': 'fees | sites | shuttles | passes | buy | all (default)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'fees': {'type': 'object', 'additionalProperties': {}}, 'tips': {'type': 'array', 'items': {'type': 'string'}}, 'sites': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}}, {'type': 'object', 'additionalProperties': {}}]}, 'passes': {'type': 'object', 'additionalProperties': {}}, 'shuttles': {'type': 'object', 'additionalProperties': {}}, 'kazm_note': {'type': 'string'}, 'where_to_buy': {'type': 'array', 'items': {}}}, 'additionalProperties': True}
get_rewind
Audio Rewind
Returns available on-demand rewind blocks — past KAZM broadcasts you can listen to, with dates and stream URLs.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['count', 'blocks'], 'properties': {'count': {'type': 'number'}, 'blocks': {'type': 'array', 'items': {'type': 'object', 'required': ['date', 'start_hour', 'url'], 'properties': {'url': {'type': 'string'}, 'date': {'type': 'string'}, 'start_hour': {'type': 'number'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
get_road_conditions
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['updated', 'sources', 'closures', 'incidents'], 'properties': {'sources': {'type': 'array', 'items': {'type': 'string'}}, 'updated': {'type': ['string', 'null']}, 'closures': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}}, 'incidents': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}}}, 'additionalProperties': False}
get_schumann_resonance
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'source': {'type': 'string'}, 'status': {'type': 'string'}, 'amplitude': {'type': 'number'}, 'frequency_hz': {'type': 'number'}, 'last_updated': {'type': 'string'}}, 'additionalProperties': True}
get_show_schedule
Show Schedule
Returns KAZM's weekly on-air program schedule. Optionally filter by day (weekday, saturday, sunday) or show name keyword.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'day': {'enum': ['weekday', 'saturday', 'sunday'], 'type': 'string', 'description': 'Filter to a specific day group'}, 'query': {'type': 'string', 'description': 'Keyword to filter by show name or host'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['station', 'timezone', 'schedule'], 'properties': {'station': {'type': 'string'}, 'schedule': {'type': 'object', 'additionalProperties': {}}, 'timezone': {'type': 'string'}}, 'additionalProperties': False}
get_solfeggio
Solfeggio Frequencies
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'hz': {'type': 'integer', 'description': 'Look up a specific frequency in Hz â\x80\x94 e.g. 528'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['frequencies'], 'properties': {'note': {'type': 'string'}, 'frequencies': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}}, 'sound_healing_page': {'type': 'string'}}, 'additionalProperties': False}
get_sound_session
Sound Session
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'goal': {'enum': ['sleep', 'focus', 'meditation', 'energy', 'calm', 'anxiety', 'creativity', 'healing'], 'type': 'string', 'description': "Listener's intent â\x80\x94 omit to get a time-of-day recommendation"}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['recommended'], 'properties': {'reason': {'type': 'string'}, 'recommended': {'anyOf': [{'type': 'string'}, {'type': 'object', 'additionalProperties': {}}]}, 'also_available': {'type': 'array', 'items': {}}}, 'additionalProperties': True}
get_sports_scores
Sports Scores
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'team': {'enum': ['cardinals', 'suns', 'dbacks', 'mercury', 'asu', 'wildcats', 'arizona', 'nau', 'ufc'], 'type': 'string', 'description': 'Filter by team â\x80\x94 omit for all Arizona teams'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['updated', 'scores'], 'properties': {'scores': {'type': 'object', 'additionalProperties': {}}, 'updated': {'type': ['string', 'null']}}, 'additionalProperties': False}
get_stargazing_conditions
Stargazing Conditions
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'date': {'type': 'string', 'description': 'Date YYYY-MM-DD (default tonight)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['date', 'location', 'darkness', 'moon', 'milky_way', 'top_sites', 'source'], 'properties': {'date': {'type': 'string'}, 'moon': {'type': 'object', 'required': ['phase', 'emoji', 'illumination_pct', 'moon_age_days', 'interference_rating', 'note'], 'properties': {'note': {'type': 'string'}, 'emoji': {'type': 'string'}, 'phase': {'type': 'string'}, 'moon_age_days': {'type': 'number'}, 'illumination_pct': {'type': 'number'}, 'interference_rating': {'type': 'string'}}, 'additionalProperties': False}, 'source': {'type': 'string'}, 'darkness': {'type': 'object', 'required': ['astronomical_twilight_end', 'astronomical_twilight_begin', 'note'], 'properties': {'note': {'type': 'string'}, 'astronomical_twilight_end': {'type': 'string'}, 'astronomical_twilight_begin': {'type': 'string'}}, 'additionalProperties': False}, 'location': {'type': 'string'}, 'milky_way': {'type': 'object', 'required': ['status', 'note'], 'properties': {'note': {'type': 'string'}, 'status': {'type': 'string'}}, 'additionalProperties': False}, 'top_sites': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'why'], 'properties': {'why': {'type': 'string'}, 'name': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
get_stream_url
Stream URL
Returns the live audio stream URLs for KAZM (MP3 and AAC mounts) plus the station web player URL.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['web_player', 'streams'], 'properties': {'streams': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'url'], 'properties': {'url': {'type': 'string'}, 'name': {'type': 'string'}, 'format': {'type': ['string', 'null']}, 'bitrate': {'anyOf': [{'type': ['string', 'number']}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'web_player': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}
get_sun_times
Sunrise & Sunset Times
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'date': {'type': 'string', 'description': 'Date in YYYY-MM-DD format â\x80\x94 omit for today'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', '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'], 'properties': {'date': {'type': 'string'}, 'source': {'type': 'string'}, 'sunset': {'type': 'string'}, 'sunrise': {'type': 'string'}, 'location': {'type': 'string'}, 'solar_noon': {'type': 'string'}, 'civil_twilight_end': {'type': 'string'}, 'day_length_seconds': {'type': 'number'}, 'civil_twilight_begin': {'type': 'string'}, 'nautical_twilight_end': {'type': 'string'}, 'nautical_twilight_begin': {'type': 'string'}, 'next_solstice_or_equinox': {'type': 'object', 'additionalProperties': {}}, 'astronomical_twilight_end': {'type': 'string'}, 'astronomical_twilight_begin': {'type': 'string'}}, 'additionalProperties': False}
get_tarot_card
Tarot Card
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'spread': {'enum': ['daily', 'single', 'three'], 'type': 'string', '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}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'tag': {'type': 'string'}, 'card': {'type': 'string'}, 'date': {'type': 'string'}, 'note': {'type': 'string'}, 'astro': {'type': 'string'}, 'cards': {'type': 'array', 'items': {'type': 'object', 'required': ['card', 'glyph', 'tag', 'upright', 'reversed'], 'properties': {'tag': {'type': 'string'}, 'card': {'type': 'string'}, 'astro': {'type': 'string'}, 'glyph': {'type': 'string'}, 'meaning': {'type': 'string'}, 'upright': {'type': 'string'}, 'position': {'type': 'string'}, 'reversed': {'type': 'string'}, 'orientation': {'type': 'string'}}, 'additionalProperties': False}}, 'glyph': {'type': 'string'}, 'spread': {'type': 'string'}, 'upright': {'type': 'string'}, 'reversed': {'type': 'string'}, 'tarot_page': {'type': 'string'}}, 'additionalProperties': False}
get_visitor_info
Visitor Information
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'topic': {'enum': ['parks', 'passes', 'attractions', 'seasons', 'tips', 'all'], 'type': 'string', 'description': 'Category of info â\x80\x94 omit for all'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['location', 'last_verified', 'info'], 'properties': {'info': {'type': 'object', 'additionalProperties': {}}, 'location': {'type': 'string'}, 'last_verified': {'type': ['string', 'null']}}, 'additionalProperties': False}
get_vortex_guide
Vortex Guide
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'site': {'enum': ['bell_rock', 'cathedral_rock', 'airport_mesa', 'boynton_canyon'], 'type': 'string', 'description': 'Filter to one vortex site'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['location', 'vortex_sites'], 'properties': {'note': {'type': 'string'}, 'location': {'type': 'string'}, 'vortex_sites': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}}, {'type': 'object', 'additionalProperties': {}}]}}, 'additionalProperties': False}
get_weather
Weather Conditions
Returns current conditions and a 7-day forecast for Sedona AZ from Open-Meteo (free, no key required).
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'daily': {'type': 'object', 'additionalProperties': {}}, 'hourly': {'type': 'object', 'additionalProperties': {}}, 'current': {'type': 'object', 'additionalProperties': {}}, 'latitude': {'type': 'number'}, 'timezone': {'type': 'string'}, 'elevation': {'type': 'number'}, 'longitude': {'type': 'number'}, 'daily_units': {'type': 'object', 'additionalProperties': {'type': 'string'}}, 'hourly_units': {'type': 'object', 'additionalProperties': {'type': 'string'}}, 'current_units': {'type': 'object', 'additionalProperties': {'type': 'string'}}, 'generationtime_ms': {'type': 'number'}, 'utc_offset_seconds': {'type': 'number'}, 'timezone_abbreviation': {'type': 'string'}}, 'additionalProperties': False}
get_wildfire_perimeters
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['updated', 'search_area', 'active_fire_count', 'fires', 'source'], 'properties': {'fires': {'type': 'array', 'items': {'type': 'object', 'required': ['name'], 'properties': {'lat': {'type': 'number'}, 'lon': {'type': 'number'}, 'name': {'type': 'string'}, 'acres': {'type': 'number'}, 'state': {'type': 'string'}, 'behavior': {'type': 'string'}, 'discovered': {'type': 'string'}, 'contained_pct': {'type': 'number'}, 'dist_mi_from_sedona': {'type': 'number'}}, 'additionalProperties': False}}, 'source': {'type': 'string'}, 'updated': {'type': ['string', 'null']}, 'search_area': {'type': 'string'}, 'active_fire_count': {'type': 'number'}}, 'additionalProperties': False}
log_listener_history
Log Listener History
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.
Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['listener_id', 'event_type'], 'properties': {'notes': {'type': 'string', 'description': "Extra context: 'loved it', 'skipped after 10s', 'requested via AI', etc."}, 'title': {'type': 'string', 'description': 'Song title or show name'}, 'artist': {'type': 'string', 'description': 'Artist name (for songs)'}, 'event_type': {'enum': ['song_played', 'show_tuned_in', 'song_requested', 'session_start', 'session_end', 'reacted'], 'type': 'string', 'description': 'Type of event'}, 'listener_id': {'type': 'string', 'description': "The listener's unique ID"}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'logged', 'total_events'], 'properties': {'ok': {'type': 'boolean'}, 'logged': {'type': 'object', 'required': ['type', 'title', 'artist', 'notes', 'timestamp'], 'properties': {'type': {'type': 'string'}, 'notes': {'type': ['string', 'null']}, 'title': {'type': ['string', 'null']}, 'artist': {'type': ['string', 'null']}, 'timestamp': {'type': 'string'}}, 'additionalProperties': False}, 'total_events': {'type': 'number'}}, 'additionalProperties': False}
register_listener
Register Listener
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.
Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': "Listener's name or nickname"}, 'email': {'type': 'string', 'description': 'Email address (optional â\x80\x94 used to find existing profile)'}, 'genres': {'type': 'array', 'items': {'type': 'string'}, 'description': "Favorite music genres, e.g. ['classic rock','jazz','blues']"}, 'language': {'enum': ['en', 'de', 'es', 'fr', 'pt', 'ja'], 'type': 'string', 'description': 'Preferred language for KAZM content: en/de/es/fr/pt/ja (default en)'}, 'location': {'type': 'string', 'description': "City and country, e.g. 'Berlin, Germany' or 'Los Angeles, CA'"}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['listener_id', 'status', 'name', 'language', 'location', 'genres', 'message'], 'properties': {'name': {'type': 'string'}, 'genres': {'type': 'array', 'items': {'type': 'string'}}, 'status': {'type': 'string'}, 'message': {'type': 'string'}, 'language': {'type': 'string'}, 'location': {'type': ['string', 'null']}, 'listener_id': {'type': 'string'}}, 'additionalProperties': False}
search_broadcast_transcripts
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.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'date': {'type': 'string', 'description': 'Limit to one broadcast day, YYYY-MM-DD'}, 'limit': {'type': 'number', 'description': 'Max matches to return (default 25, max 100)'}, '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 â\x80\x94 weather, news, breaks), show (syndicated programming), live (live broadcasts), music (words captured over songs). Default 'talk,show,live'."}}, 'additionalProperties': False}
search_song_history
Song History Search
Returns the most recently played songs (up to 25). Optionally filter by keyword in title or artist.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'query': {'type': 'string', 'description': 'Keyword to filter by title or artist'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['results'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'artist', 'played_at'], 'properties': {'title': {'type': ['string', 'null']}, 'artist': {'type': ['string', 'null']}, 'played_at': {'type': ['string', 'null']}}, 'additionalProperties': False}}}, 'additionalProperties': False}
search_song_request_library
Song Request Library
Search KAZM's requestable song library by artist or title keyword. Returns matching tracks the DJ can play on request.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'Artist name or song title to search for'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query', 'count', 'results'], 'properties': {'count': {'type': 'number'}, 'query': {'type': 'string'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'artist'], 'properties': {'title': {'type': 'string'}, 'artist': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
submit_song_request
Submit Song Request
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.
Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'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)"}, 'query': {'type': 'string', 'description': "Song title and/or artist name, e.g. 'Sailing Christopher Cross' or 'Truckin Grateful Dead'"}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['success'], 'properties': {'name': {'type': 'string'}, 'note': {'type': 'string'}, 'matches': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}}, 'message': {'type': 'string'}, 'success': {'type': 'boolean'}, 'submitted': {'type': 'boolean'}}, 'additionalProperties': False}
update_listener_preference
Update Listener Preference
Update a specific preference for a KAZM listener — language, location, favorite genre, or any custom key. Persists across all future AI sessions.
Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['listener_id', 'key', 'value'], 'properties': {'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'}, 'listener_id': {'type': 'string', 'description': "The listener's unique ID"}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'listener_id', 'updated', 'updated_at'], 'properties': {'ok': {'type': 'boolean'}, 'updated': {'type': 'object', 'additionalProperties': {}}, 'updated_at': {'type': 'string'}, 'listener_id': {'type': 'string'}}, 'additionalProperties': False}
Added
search_broadcast_transcripts
Sept. 17, 2026, 12:36 p.m.
Added
get_personalized_content
Sept. 17, 2026, 12:36 p.m.
Added
log_listener_history
Sept. 17, 2026, 12:36 p.m.
Added
update_listener_preference
Sept. 17, 2026, 12:36 p.m.
Added
get_listener_profile
Sept. 17, 2026, 12:36 p.m.
Added
get_or_create_listener
Sept. 17, 2026, 12:36 p.m.
Added
register_listener
Sept. 17, 2026, 12:36 p.m.
Added
get_tarot_card
Sept. 17, 2026, 12:36 p.m.
Added
get_photography_guide
Sept. 17, 2026, 12:36 p.m.
Added
get_stargazing_conditions
Sept. 17, 2026, 12:36 p.m.
Added
get_hiking_trails
Sept. 17, 2026, 12:36 p.m.
Added
get_red_rock_pass
Sept. 17, 2026, 12:36 p.m.
Added
get_visitor_info
Sept. 17, 2026, 12:36 p.m.
Added
get_day_in_music_history
Sept. 17, 2026, 12:36 p.m.
Added
get_wildfire_perimeters
Sept. 17, 2026, 12:36 p.m.
Added
get_artist_info
Sept. 17, 2026, 12:36 p.m.
Added
get_oak_creek_levels
Sept. 17, 2026, 12:36 p.m.
Added
get_nws_alerts
Sept. 17, 2026, 12:36 p.m.
Added
get_vortex_guide
Sept. 17, 2026, 12:36 p.m.
Added
get_moon_phase
Sept. 17, 2026, 12:36 p.m.
Added
get_sun_times
Sept. 17, 2026, 12:36 p.m.
Added
get_sports_scores
Sept. 17, 2026, 12:36 p.m.
Added
get_air_quality
Sept. 17, 2026, 12:36 p.m.
Added
get_local_news_headlines
Sept. 17, 2026, 12:36 p.m.
Added
submit_song_request
Sept. 17, 2026, 12:36 p.m.
Added
get_emergency_alerts
Sept. 17, 2026, 12:36 p.m.
Added
get_movies
Sept. 17, 2026, 12:36 p.m.
Added
get_jeep_trails
Sept. 17, 2026, 12:36 p.m.
Added
get_rewind
Sept. 17, 2026, 12:36 p.m.
Added
search_song_request_library
Sept. 17, 2026, 12:36 p.m.