KAZM Mellow Mountain Radio
KAZM 106.5 FM/780 AM: now playing, weather, fire alerts, road conditions & concerts (Sedona, AZ).
Should I use this
Quality & Safety
Findings (6)
- LOWin get_horoscope
- LOWin get_solfeggio
- LOWin get_sports_scores
- LOWin get_wildfire_perimeters
- LOWin get_day_in_music_history
- LOWin get_stargazing_conditions
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"kazm": {
"url": "https://mcp.mellowmountainradio.com/mcp"
}
}
}Remote endpoints
https://mcp.mellowmountainradio.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (46)
π’get_now_playing
Returns the song currently on air: title, artist, album, artwork URL, start time, and stream URL.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"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.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"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.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Keyword to filter by title or artist"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"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.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"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).
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"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.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"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.
Input Schema
{
"type": "object",
"properties": {
"state": {
"type": "string",
"description": "Filter by state abbreviation, e.g. 'AZ'"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"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.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"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.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"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.
Input Schema
{
"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#"
}Output Schema
{
"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.
Input Schema
{
"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#"
}Output Schema
{
"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.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"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.
Input Schema
{
"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#"
}Output Schema
{
"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.
Input Schema
{
"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#"
}Output Schema
{
"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.
Input Schema
{
"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#"
}Output Schema
{
"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.
Input Schema
{
"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#"
}Output Schema
{
"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.
Input Schema
{
"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#"
}Output Schema
{
"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.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"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.
Input Schema
{
"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#"
}Output Schema
{
"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).
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"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.
Input Schema
{
"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#"
}Output Schema
{
"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.
Input Schema
{
"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#"
}Output Schema
{
"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.
Input Schema
{
"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#"
}Output Schema
{
"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.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"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.
Input Schema
{
"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#"
}Output Schema
{
"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.
Input Schema
{
"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#"
}Output Schema
{
"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.
Input Schema
{
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "Date YYYY-MM-DD (default today)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"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.
Input Schema
{
"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#"
}Output Schema
{
"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.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"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.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"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).
Input Schema
{
"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#"
}Output Schema
{
"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.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"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.
Input Schema
{
"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#"
}Output Schema
{
"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.
Input Schema
{
"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#"
}Output Schema
{
"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.
Input Schema
{
"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#"
}Output Schema
{
"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.
Input Schema
{
"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#"
}Output Schema
{
"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.
Input Schema
{
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "Date YYYY-MM-DD (default tonight)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"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.
Input Schema
{
"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#"
}Output Schema
{
"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.
Input Schema
{
"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#"
}Output Schema
{
"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.
Input Schema
{
"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#"
}Output Schema
{
"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.
Input Schema
{
"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#"
}Output Schema
{
"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.
Input Schema
{
"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#"
}Output Schema
{
"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.
Input Schema
{
"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#"
}Output Schema
{
"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.
Input Schema
{
"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#"
}Output Schema
{
"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.
Input Schema
{
"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#"
}Output Schema
{
"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.
Input Schema
{
"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#"
}Community
Evidence