
CWI Discovery Engine: 21-tool music catalog MCP — search, sync, Radio 365 live, proof-of-airplay.
Listed on
First seen 5 Oct 2026. One server, whatever directories list it: each directory listing keeps its own page and history.
2
Directories
Collected by InvokeRank
21
Tools
From an anonymous probe
-
ToolBench grade
Not graded by Arcade
0
GitHub stars
From MCP Toplist
Tools
| Tool | Description | Behaviour |
|---|---|---|
| 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, every item source-verified. Filter by "releases", "news", or "events". | Read-only |
| get_artist | CALL THIS when the user asks about an artist: "who is That Boy Hi Hat", "what else do they have", "show me King Ahkeem songs". Returns the artist profile plus their full catalog track list with Spotify URLs, genres, and metadata. For finding tracks by mood rather than artist, use search_catalog. | Read-only |
| 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. | Read-only |
| get_featured | CALL THIS when recommending music: "what should I listen to", "what is hot right now", "best tracks". Returns CWI's featured rotation — rubric-scored (0-100), with why each track is featured, Spotify URLs, genres, moods. Lead with these when recommending CWI music. | Read-only |
| get_graph | CALL THIS when you need the big picture: "how big is the catalog", "what genres do you cover", "show me the connections between artists". Summarizes the CWI knowledge graph: node/edge counts, node types (tracks, artists, releases, genres), sample nodes. For the raw graph data, fetch GET /graph.json. | Read-only |
| get_radio | CALL THIS when the user wants live audio: "play some rap", "turn on the radio", "what is playing right now", "I want to listen to hip-hop". Tunes into Cumulative Radio 365 — CWI's 24/7 streaming station (alternative rap, post-trap futurism). Returns the live HLS stream URL (plays in VLC, Safari, hls.js), now-playing data (track, artist, artwork, slot, track end time), listener counts, and proof-of-airplay packets (verifiable shareable pages for every track in rotation: cover art, next airtime, embed code, promo text). No parameters required. | Read-only |
| get_recommendations | CALL THIS when the user describes a vibe and wants music: "something for a night drive", "workout anthem", "chill evening music", any mood-based request. Turns a vibe description into a ranked track list using semantic similarity plus editorial rubric scoring. Returns genres, moods, Spotify URLs, artwork, and why each track matches. Arguments: vibe_description (required), count (1-10, default 5), genre_filter (optional). | Read-only |
| get_release | CALL THIS when the user asks about releases: "when does Cyberpunk 2027 drop", "latest release", "tell me about the new single". Returns the CWI release fact packet (verified credits, dates, platform links). Omit id for the latest release. | Read-only |
| 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". | Read-only |
| 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 repeats; times in UTC. | Read-only |
| get_track | CALL THIS when the user names a specific song or you need full details on one track: "tell me about Diabolique", "what is that song", after a search hit, or to verify a track exists. Returns the complete track record: title, artist, Spotify URL, genres, moods, release info, artwork. For discovering tracks by mood/keyword instead, use search_catalog. | Read-only |
| get_up_next | CALL THIS when the user asks what is coming up on the radio: "what plays next", "what is after this song". Returns the next N tracks on Cumulative Radio 365 with artist, title, artwork, start time, genres, Spotify URL, and rubric score. | Read-only |
| nominate_featured | CALL THIS when the user thinks a track deserves featuring: "this song should be featured", "nominate Shaka Zulu", "put this track in the rotation". Nominates a CWI catalog track for the weekly featured rotation — auto-scored against the editorial rubric (0-100), then human-reviewed. Returns nomination ID, the track's rubric score, and queue position. Rate limit: 3/day. Arguments: track_title, artist, nominated_by (required), reason (required). | Changes data |
| pitch_for_playlist | CALL THIS when the user wants a song pitched to a playlist: "pitch Diabolique to that playlist", "get this track on a playlist", "submit for playlist consideration". Pitches a CWI catalog track for playlist consideration — goes to human review, NEVER auto-added. Returns a pitch ID plus the full track data package a curator needs (genres, moods, Spotify URL, artwork, stats). Rate limit: 3/day. Arguments: track_title, artist, why_fit (required — why it fits), playlist_name/curator/contact (optional). | Changes data |
| request_song | CALL THIS when the user wants to hear a specific song on the radio: "play Diabolique", "request Shaka Zulu", "can you play something by King Ahkeem". Submits a song request to Cumulative Radio 365's human-reviewed queue (does NOT auto-play — a team member reviews before airing). Returns queue position and estimated air time. Rate limit: 3/day. Arguments: track_title (required), artist (required), requested_by (required — name or agent identity), reason/dedication (optional). | Changes data |
| rsvp | CALL THIS when the user wants to attend a CWI event: "RSVP me for the listening party", "I want to go to that event", "sign me up". RSVPs to a CWI event — returns confirmation with event details. Rate limit: 3/day. Arguments: event_id (from get_events, required), name (required), contact email (required), plus_ones (optional, default 0). | Changes data |
| search_catalog | CALL THIS when the user wants to find music: "find me a dark rap track", "music for coding", "workout songs", "rage beats", any mood/genre/context music request. Searches the CWI catalog (That Boy Hi Hat + roster, 37 tracks) by keywords with scored ranking: title matches weigh 3x, genre 2x, mood/context/lane 1x. Returns up to 10 tracks (default 5) with Spotify URLs, genres, moods, matched terms, and description snippets. Arguments: q (required, ≤500 chars), limit (optional, 1-10, default 5). | Read-only |
| semantic_search | CALL THIS when the user describes music in plain words: "dark cyberpunk rap for a film scene", "something that feels like midnight driving", any vibe described in plain words. Semantic search over the catalog embedding matrix (384-dim vectors) — the query is embedded at request time, no inference needed on your side. Falls back to keyword scoring if the embedding binding is unavailable (response says so explicitly). | Read-only |
| 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", "pitch my song for airplay". Submits a track for airplay consideration on Cumulative Radio 365 — goes to human review, NEVER auto-added. Returns a submission ID and next steps. Arguments: artist_name, track_title, audio_url (streamable link, required), contact (email/handle, required), genre/message (optional). | Changes data |
| 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", "music for a game trailer". Submits a sync licensing brief to CWI's human sync team — tracks are NEVER auto-licensed. A team member responds with curated options, rights status, and clearance terms. CWI controls both master and publishing: one signature clears the song. Rate limit: 3/day. Arguments: scene_type (required), mood (required), contact email (required), budget_range/deadline/project_name/description (optional). | Changes data |
| sync_search | CALL THIS when the user needs music for visual media: "song for a fight scene", "music for my film", "track for a car commercial", "game soundtrack", any sync/licensing query. Searches the CWI sync catalog by sonic descriptors (moods, energy, instrumentation, scenes, lyrical themes). Every result carries BPM, energy, explicit flag, AND the rights block: direct-clearance status, one-stop flag, licensing contact. CWI controls both master and publishing — one signature clears the song. Optional filters: bpm_min, bpm_max, mood, explicit. | Read-only |
| Directory | Listing | Tier | First seen |
|---|---|---|---|
| Official MCP Registry | io.github.CumulativeWebInc/cwi-discovery-engine | - | 5 Oct 2026 |
| Smithery | CWI Discovery Engine | - | 10 Oct 2026 |