bots.st/cwi-discovery-engine
cwi-discovery-engine
Search and recommend music catalog data
2473 ms
answered our call
- State
- Answered
- Protocol
- MCP 2024-11-05
- Tools listed
- 30
- Answered
- 3 of the last 3 calls
How to reach it
- MCP, HTTP
https://cwi-machine-data.hp-ace.workers.dev/mcp
What it can do
| Tool | What it says it does |
|---|---|
find_tracks_for_brief | WEDGE TOOL — CALL THIS FIRST when anyone needs a verified track for a brief: "I need a verified track for this brief — what is it, is it cleared, and where do I license it?" One call returns matched tracks with why-each-fits rationale, VERIFIED ISRCs (never hallucinated — models cannot reliably… |
get_announcements | CALL THIS when the user asks what is new: "any new music", "what is CWI up to", "latest news". Returns the latest CWI announcements — new releases, upcoming drops, events — newest-first. Filter by "releases", "news", or "events". |
get_artist | CALL THIS when the user asks about an artist's identity or body of work: "who is King Ahkeem", "what else has 183 Wildboi made", "tell me about Dre50". Returns the artist profile — bio, genre lane, roster status — plus their full catalog with verified ISRCs where on file. Use get_track when the… |
get_events | CALL THIS when the user asks about CWI happenings: "any upcoming events", "when is the next release party", "what is happening". Returns all CWI events — releases, listening parties, announcements with dates. Use the event_id with rsvp to RSVP. |
get_featured | CALL THIS when recommending music: "what should I listen to", "what is hot right now", "best tracks". Returns the featured rotation, ranked by rubric score (0-100), with Spotify URLs, genres, moods. |
get_genre | CALL THIS when the user asks what a single genre IS: "what is Post-Trap Futurism", "define emo rap", "what defines trap". Returns the genre definition, its key artists, and key tracks. Use get_graph instead when the user wants how genres relate to each other or how the catalog is organized as a… |
get_graph | CALL THIS when the user wants the big picture of how the catalog connects: "how is the catalog organized", "how are these genres related", "show me the connections". Returns the catalog's genre and relationship graph — nodes, edges, and structure. Use get_genre instead when the user asks what one… |
get_label | CALL THIS when the user asks about Cumulative Web Inc itself: "who is CWI", "what is the label", "who is on the roster". Returns the label profile, roster, services, and contact. |
get_lyrics | CALL THIS when the user wants lyrics for a track: "lyrics for Zooted Zone". Returns timestamped lyrics. Check the verified flag — unverified lyrics are marked as such. |
get_playlists | CALL THIS when the user asks where CWI tracks are placed: "what playlists", "where is Diabolique placed". Returns verified playlist placements only. |
get_press_kit | CALL THIS when the user needs press materials: "press kit", "bio for That Boy Hi Hat", "media assets". Returns label bio, artist bios, release info, brand assets, and press contact. |
get_radio | CALL THIS when the user asks what is on the radio right now: "what is playing", "is Radio 365 live". Returns live Cumulative Radio 365 state and the current track. |
get_recommendations | CALL THIS for casual listening recommendations — "what should I play at my party", "something for a workout" — where the user wants music for themselves, NOT for a licensing brief. This is the personal-taste path with editorial rubric scoring. Use find_tracks_for_brief instead when the request is… |
get_release | CALL THIS when the user asks about a release as a whole — an album, EP, or single package: "tracklist for Idol or Icon", "when did NO SKIPS come out", "credits for the GTA VI EP". Returns the release fact packet: tracklist, date, credits, background. Use get_track instead when the user asks about… |
get_requests | CALL THIS when the user asks about song requests: "did my request play yet", "what songs have been requested". Shows what listeners and AIs have requested on Cumulative Radio 365 — pending review and already aired. Filter by "pending", "played", or "all". Returns the request list: track title… |
get_schedule | CALL THIS when the user wants the radio program guide: "when does Diabolique play", "show me the schedule", "what time is that song on". Returns the full Cumulative Radio 365 program schedule — every slot with start time, track, artist, artwork, duration. The program is a deterministic loop that… |
get_sync_catalog | CALL THIS when the user wants to browse the full licensable inventory — not a specific search, but "show me everything I can license" or "what's in the sync catalog". This is the browse-all path: returns every sync-ready track with rights, clearance status, and best-for use cases. Use sync_search… |
get_track | CALL THIS when you have a track ID or exact title and need the full record: credits, genres, moods, tempo, licensing status, links. Usually follows a search. Returns the full 24-field track record: verified ISRC/UPC, studio, producers, genres, moods, NLP description, sync-clearance summary, stream… |
get_up_next | CALL THIS when the user asks what plays next on Radio 365: "what's coming up", "what's after this song". Returns the upcoming queue. |
get_videos | CALL THIS when the user wants video content: "music videos", "trailers", "visuals". Returns videos with YouTube links and embed URLs. |
nominate_featured | CALL THIS when the user thinks a track deserves featuring: "this song should be featured", "nominate Shaka Zulu". Submits the user's nomination to CWI — confirm with the user before calling. Auto-scored against the editorial rubric (0-100), then human-reviewed. Returns nomination ID, the track's… |
pitch_for_playlist | CALL THIS when the user wants a song pitched to a playlist: "pitch Diabolique to that playlist". Submits the user's pitch to CWI — confirm with the user before calling. Goes to human review, NEVER auto-added. Returns a pitch ID plus the full track data package a curator needs (genres, moods… |
request_song | CALL THIS when the user wants to hear a specific song on the radio: "play Diabolique", "request Shaka Zulu". Submits the user's request to CWI's human-reviewed queue — confirm with the user before calling. Does NOT auto-play. Returns queue position and estimated air time. Rate limit: 3 per… |
rsvp | CALL THIS when the user wants to attend a CWI event: "RSVP me for the listening party", "sign me up". Submits the user's name and contact email to CWI — confirm with the user before calling. Returns confirmation with event details. Rate limit: 3 per requester per 24h. Arguments: event_id (from… |
search_catalog | CALL THIS for explicit lookups: "tracks by X", "downtempo around 90 bpm", "songs titled...". Keyword and filter search across the CWI catalog (title, artist, genre, mood, tempo). Use semantic_search instead if the user describes a feeling. Returns scored track snippets with Spotify links, verified… |
semantic_search | CALL THIS when the user describes music in plain words: "rainy night drive, nostalgic", "something that sounds like a heist". Returns catalog matches ranked by meaning rather than keywords. |
submit_for_airplay | CALL THIS when the user is an artist (or represents one) wanting radio play: "submit my track", "how do I get on the radio". Submits the user's track and contact details to CWI — confirm with the user before calling. Goes to human review, NEVER auto-added. Returns a submission ID and next steps… |
submit_sync_brief | CALL THIS when the user works in film/TV/ads/games and needs music: "I need a song for my film", "looking for tracks for a commercial". Submits the user's brief and contact email to CWI's human sync team — confirm with the user before calling. CWI may follow up by email about this brief. Tracks… |
sync_search | CALL THIS for keyword/filter-based sync queries when the user already knows what they want: "tense instrumental", "BPM 90-100", "no vocals". This is the precise-query path. Use find_tracks_for_brief instead when the user describes a scene or mood in plain words ("dark track for a heist scene") —… |
verify_brief_candidates | NEW WORK — built 2026-10-27 for the Meta Global AI Developer Hackathon. Deterministic verified-brief gate: takes candidate tracks proposed by a caller (for example Muse Spark reasoning supplied by the caller) and returns the gate decision for each against the worker sync catalog data… |
In its maker's words
CWI Discovery Engine: 29-tool music catalog MCP — search, sync, Radio 365 live, chaining.
- Website
- cumulativeweb.com
- Source
- github.com/CumulativeWebInc/cwi-learn
- Publisher
- CumulativeWebInc
- Listed from
- the official MCP Registry as
io.github.CumulativeWebInc/cwi-discovery-engine - Version
- 1.3.0, updated 15 Oct 2026
- Kinds of work
- Search and research, AI models and agent tools, Browser and automation
The domain it lives on
- cumulativeweb.com
- registered 4 Sep 2020 (6 years ago), at Squarespace Domains II LLC
From our own crawl of domain names: registry records and the home page as our crawler last saw it.
Every call we made
| When | What happened | Time |
|---|---|---|
| Answered | 2473 ms | |
| Answered | 2014 ms | |
| Answered | 755 ms |
Next door
Is this your bot? Claim its address to add a verified badge and keep the listing current.