accueil / serveurs / Médias / io.github.CumulativeWebInc/cwi-discovery-engine
io.github.CumulativeWebInc/cwi-discovery-engine
serveur MCP (Model Context Protocol) · cwi-catalog-mcp 1.0.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.github.CumulativeWebInc/cwi-discovery-engine est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.CumulativeWebInc/cwi-discovery-engine » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 29 outils
- find_tracks_for_brief≈ 1069 tokens
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 recall these), sync-clearance status, and concrete next steps (use submit_sync_brief for human follow-up). Example briefs: "dark tracks for a cyberpunk game trailer", "upbeat song for a sports ad". A match is NOT a license grant — clearance still requires a brief. Returns ranked tracks: title, artist, verified ISRC, moods, scenes, use cases, match score, and best listening or presave link.
Paramètres, retour & exemple (3)
Paramètresbrief· string · requis
Natural-language music brief, e.g. "tense instrumental for a heist scene". Truncated at 500 characters.limit· number · optionnel
Max tracks to return, 1-5 (default 3).explicit· boolean · optionnel
true = explicit only, false = non-explicit only. Omit for all.
Exemple d'appel{"name": "find_tracks_for_brief", "arguments": {"brief": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"brief": "texte", "count": 1, "tokens": [], "tracks": [], "_session": {}, "try_next": [], "next_steps": [], "generated_at": "texte", "clearance_summary": "texte", "licensing_disclaimer": "texte"}} - get_announcements≈ 552 tokens
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".
Paramètres, retour & exemple (2)
Paramètreslimit· number · optionnel
Max announcements to return, 1-50 (default 10).category· string · optionnel
Optional filter: "releases", "news", or "events". Omit for all categories.
Exemple d'appel{"name": "get_announcements", "arguments": {"limit": 1, "category": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "_session": {}, "category": "texte", "try_next": [], "generated_at": "texte", "announcements": [], "data_updated_at": "texte"}} - get_artist≈ 579 tokens
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 user asks about one specific song.
Paramètres, retour & exemple (1)
Paramètresname· string · requis
Artist name, e.g. "That Boy Hi Hat".
Exemple d'appel{"name": "get_artist", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"artist": "texte", "tracks": [], "_session": {}, "try_next": [], "track_count": 1, "related_nodes": []}} - get_events≈ 577 tokens
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.
Paramètres, retour & exemple (1)
Paramètresupcoming_only· boolean · optionnel
Only show upcoming events (default true). Set false to see all.
Exemple d'appel{"name": "get_events", "arguments": {"upcoming_only": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"note": "texte", "count": 1, "events": [], "_session": {}, "try_next": [], "generated_at": "texte", "upcoming_only": true}} - get_featured≈ 649 tokens
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.
Paramètres, retour & exemple (1)
Paramètreslimit· number · optionnel
Max tracks to return, 1-20 (default 10).
Exemple d'appel{"name": "get_featured", "arguments": {"limit": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "_session": {}, "featured": [], "rotation": "texte", "try_next": [], "generated_at": "texte", "rotation_raw": "texte", "data_updated_at": "texte", "new_release_spotlight": {}}} - get_genre≈ 538 tokens
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 whole.
Paramètres, retour & exemple (1)
Paramètresgenre· string · requis
Genre name, e.g. "post-trap futurism" (required).
Exemple d'appel{"name": "get_genre", "arguments": {"genre": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "found": true, "genre": {}, "_session": {}, "try_next": [], "available_genres": []}} - get_graph≈ 488 tokens
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 specific genre is.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_graph", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"source": "texte", "_session": {}, "try_next": [], "full_graph": "texte", "generated_at": "texte"}} - get_label≈ 443 tokens
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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_label", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "label": {}, "_session": {}, "try_next": []}} - get_lyrics≈ 494 tokens
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.
Paramètres, retour & exemple (1)
Paramètrestrack_id· string · requis
Track ID from get_track or search_catalog (required).
Exemple d'appel{"name": "get_lyrics", "arguments": {"track_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "note": "texte", "found": true, "lyrics": {}, "_session": {}, "track_id": "texte", "try_next": []}} - get_playlists≈ 525 tokens
CALL THIS when the user asks where CWI tracks are placed: "what playlists", "where is Diabolique placed". Returns verified playlist placements only.
Paramètres, retour & exemple (2)
Paramètresartist· string · optionnel
Optional: filter by artist name.track_id· string · optionnel
Optional: filter by track ID.
Exemple d'appel{"name": "get_playlists", "arguments": {"artist": "texte", "track_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "note": "texte", "count": 1, "_session": {}, "try_next": [], "placements": [], "label_playlists": []}} - get_press_kit≈ 473 tokens
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.
Paramètres, retour & exemple (1)
Paramètresartist· string · optionnel
Optional: specific artist name for their press bio.
Exemple d'appel{"name": "get_press_kit", "arguments": {"artist": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "_session": {}, "try_next": [], "press_kit": {}}} - get_radio≈ 563 tokens
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.
Paramètres, retour & exemple (1)
Paramètresinclude· string · optionnel
Optional comma-separated sections to include: "now_playing", "listeners", "stream". Omit or pass "all" for everything. Unknown values are ignored.
Exemple d'appel{"name": "get_radio", "arguments": {"include": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"stream": {}, "station": "texte", "_session": {}, "try_next": [], "listeners": {}, "now_playing": {}, "station_url": "texte", "generated_at": "texte", "proof_of_airplay": {}}} - get_recommendations≈ 894 tokens
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 for a project (film, ad, game, trailer) — the wedge adds verified ISRCs and clearance info that recommendations don't. Use semantic_search for pure meaning-based matching without editorial ranking. Returns genres, moods, Spotify URLs, artwork, and why each track matches. ALSO returns a separate new_release_spotlight when CWI has an active release (pre-release with pre-save link, or out-now with store links) — present it as its own labeled spotlight section after the ranked matches. Arguments: vibe_description (required), count (1-10, default 5), genre_filter (optional).
Paramètres, retour & exemple (3)
Paramètrescount· number · optionnel
Number of recommendations, 1-10 (default 5).genre_filter· string · optionnel
Optional genre filter (e.g. "trap", "afrobeats", "rap rock").vibe_description· string · requis
Describe the vibe/mood you want music for.
Exemple d'appel{"name": "get_recommendations", "arguments": {"vibe_description": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"note": "texte", "count": 1, "method": "texte", "_session": {}, "try_next": [], "generated_at": "texte", "genre_filter": "texte", "recommendations": [], "vibe_description": "texte", "new_release_spotlight": {}}} - get_release≈ 594 tokens
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 one specific song.
Paramètres, retour & exemple (1)
Paramètresid· string · optionnel
Release id, e.g. "cyberpunk-2027". Omit for the latest release.
Exemple d'appel{"name": "get_release", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "found": true, "packet": {}, "_session": {}, "try_next": [], "known_releases": [], "new_release_spotlight": {}}} - get_requests≈ 670 tokens
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, artist, requester, status, and timestamps.
Paramètres, retour & exemple (2)
Paramètreslimit· number · optionnel
Max requests to return, 1-20 (default 10).status· string · optionnel
Filter by status: "pending" (awaiting review), "played" (aired), "all". Default "pending".
Exemple d'appel{"name": "get_requests", "arguments": {"limit": 1, "status": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"note": "texte", "count": 1, "station": "texte", "_session": {}, "requests": [], "try_next": [], "generated_at": "texte", "pending_count": 1, "status_filter": "texte"}} - get_schedule≈ 592 tokens
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.
Paramètres, retour & exemple (1)
Paramètresdate· string · optionnel
Date for the schedule in YYYY-MM-DD format. Defaults to today (UTC).
Exemple d'appel{"name": "get_schedule", "arguments": {"date": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"date": "texte", "note": "texte", "slots": [], "station": "texte", "_session": {}, "try_next": [], "slot_count": 1, "stream_url": "texte", "generated_at": "texte", "period_seconds": 1, "program_version": "texte"}} - get_sync_catalog≈ 573 tokens
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 for targeted queries, find_tracks_for_brief for natural-language briefs. Chain to submit_sync_brief to start licensing.
Paramètres, retour & exemple (2)
Paramètresmood· string · optionnel
Filter by mood, e.g. "dark", "energetic".genre· string · optionnel
Filter by genre, e.g. "post-trap futurism".
Exemple d'appel{"name": "get_sync_catalog", "arguments": {"mood": "texte", "genre": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "note": "texte", "count": 1, "tracks": [], "_session": {}, "try_next": []}} - get_track≈ 1003 tokens
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 and presave links, related graph nodes, and try_next.
Paramètres, retour & exemple (1)
Paramètresid_or_title· string · requis
Track title (exact or partial) or a Spotify track ID / open.spotify.com URL.
Exemple d'appel{"name": "get_track", "arguments": {"id_or_title": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"upc": "texte", "isrc": "texte", "mbid": "texte", "album": "texte", "label": "texte", "moods": [], "title": "texte", "artist": "texte", "genres": [], "scenes": [], "studio": "texte", "credits": {}}} - get_up_next≈ 534 tokens
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.
Paramètres, retour & exemple (1)
Paramètrescount· number · optionnel
Number of upcoming tracks to return, 1-10 (default 5).
Exemple d'appel{"name": "get_up_next", "arguments": {"count": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"note": "texte", "count": 1, "station": "texte", "up_next": [], "_session": {}, "try_next": [], "stream_url": "texte", "now_playing": {}, "generated_at": "texte", "program_version": "texte"}} - get_videos≈ 491 tokens
CALL THIS when the user wants video content: "music videos", "trailers", "visuals". Returns videos with YouTube links and embed URLs.
Paramètres, retour & exemple (2)
Paramètrestype· string · optionnel
Optional: filter by type (trailer, music-video, visualizer, live).artist· string · optionnel
Optional: filter by artist name.
Exemple d'appel{"name": "get_videos", "arguments": {"type": "texte", "artist": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "count": 1, "videos": [], "_session": {}, "try_next": []}} - nominate_featured≈ 797 tokens
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 rubric score, and queue position. Rate limit: 3 per requester per 24h. Arguments: track_title, artist, nominated_by (required), reason (required).
Paramètres, retour & exemple (4)
Paramètresartist· string · requis
Artist name.reason· string · requis
Why this track deserves the featured rotation (required).track_title· string · requis
Title of the track you are nominating.nominated_by· string · requis
Your name or agent identity (required).
Exemple d'appel{"name": "nominate_featured", "arguments": {"artist": "texte", "reason": "texte", "track_title": "texte", "nominated_by": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "artist": "texte", "review": "texte", "status": "texte", "receipt": {}, "_session": {}, "try_next": [], "graph_node": "texte", "rubric_note": "texte", "track_title": "texte", "nominated_by": "texte", "rubric_score": 1}} - pitch_for_playlist≈ 824 tokens
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, Spotify URL, artwork, stats). Rate limit: 3 per requester per 24h. Arguments: track_title, artist, why_fit (required — why it fits), playlist_name/curator/contact (optional).
Paramètres, retour & exemple (6)
Paramètresartist· string · requis
Artist name.contact· string · optionnel
Optional: email for follow-up.curator· string · optionnel
Optional: curator name or handle.why_fit· string · requis
Why this track fits the playlist (required).track_title· string · requis
Title of the track you are pitching.playlist_name· string · optionnel
Optional: target playlist name.
Exemple d'appel{"name": "pitch_for_playlist", "arguments": {"artist": "texte", "why_fit": "texte", "track_title": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "note": "texte", "artist": "texte", "review": "texte", "status": "texte", "curator": "texte", "receipt": {}, "why_fit": "texte", "_session": {}, "pitch_id": 1, "try_next": [], "track_data": {}}} - request_song≈ 712 tokens
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 requester name per 24h. Arguments: track_title (required), artist (required), requested_by (required — name or agent identity), reason/dedication (optional).
Paramètres, retour & exemple (5)
Paramètresartist· string · requis
Artist name.reason· string · optionnel
Optional: why you want to hear this track.dedication· string · optionnel
Optional: who this request is dedicated to.track_title· string · requis
Title of the track you want to hear.requested_by· string · requis
Your name or agent identity (used for rate limiting).
Exemple d'appel{"name": "request_song", "arguments": {"artist": "texte", "track_title": "texte", "requested_by": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "artist": "texte", "review": "texte", "status": "texte", "_session": {}, "try_next": [], "request_id": 1, "track_title": "texte", "requested_at": "texte", "requested_by": "texte", "queue_position": 1, "estimated_air_in_minutes": 1}} - rsvp≈ 642 tokens
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 get_events, required), name (required), contact email (required), plus_ones (optional, default 0).
Paramètres, retour & exemple (4)
Paramètresname· string · requis
Your name (required).contact· string · requis
Email for confirmation (required).event_id· string · requis
Event ID from get_events (required).plus_ones· number · optionnel
Number of additional guests (default 0).
Exemple d'appel{"name": "rsvp", "arguments": {"name": "texte", "contact": "texte", "event_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "name": "texte", "status": "texte", "rsvp_at": "texte", "rsvp_id": 1, "_session": {}, "event_id": "texte", "try_next": [], "plus_ones": 1, "event_title": "texte", "confirmation": "texte"}} - search_catalog≈ 747 tokens
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 ISRCs, and pre-compiled try_next calls for the natural follow-up.
Paramètres, retour & exemple (2)
Paramètresq· string · requis
Search keywords, e.g. "cyberpunk rap" or "dark cinematic". Truncated at 500 characters.limit· number · optionnel
Max tracks to return, 1-10 (default 5).
Exemple d'appel{"name": "search_catalog", "arguments": {"q": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "limit": 1, "query": "texte", "tokens": [], "results": [], "_session": {}, "try_next": [], "generated_at": "texte", "new_release_spotlight": {}}} - semantic_search≈ 708 tokens
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.
Paramètres, retour & exemple (2)
Paramètresq· string · requis
Natural-language music query, e.g. "dark cyberpunk rap for a film scene". Truncated at 500 characters.limit· number · optionnel
Max results, 1-20 (default 5).
Exemple d'appel{"name": "semantic_search", "arguments": {"q": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"dim": 1, "count": 1, "limit": 1, "model": "texte", "query": "texte", "method": "texte", "results": [], "_session": {}, "fallback": true, "try_next": [], "generated_at": "texte", "fallback_note": "texte"}} - submit_for_airplay≈ 716 tokens
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. Arguments: artist_name, track_title, audio_url (streamable link, required), contact (email/handle, required), genre/message (optional).
Paramètres, retour & exemple (6)
Paramètresgenre· string · optionnel
Genre of the track.contact· string · requis
Email or social handle for follow-up.message· string · optionnel
Optional pitch: why this track fits Radio 365.audio_url· string · requis
Streamable URL to the track audio (required for review).artist_name· string · requis
Artist name.track_title· string · requis
Track title.
Exemple d'appel{"name": "submit_for_airplay", "arguments": {"contact": "texte", "audio_url": "texte", "artist_name": "texte", "track_title": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "genre": "texte", "status": "texte", "_session": {}, "try_next": [], "artist_name": "texte", "review_note": "texte", "track_title": "texte", "submitted_at": "texte", "submission_id": 1, "what_happens_next": "texte"}} - submit_sync_brief≈ 891 tokens
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 are NEVER auto-licensed. Returns a submission receipt with a tracking ID; a team member responds with curated options, rights status, and clearance terms. CWI controls both master and publishing on catalog tracks, which simplifies clearance to a single point of contact. Rate limit: 3 per requester per 24h. Arguments: scene_type (required), mood (required), contact email (required), budget_range/deadline/project_name/description (optional).
Paramètres, retour & exemple (7)
Paramètresmood· string · requis
Mood/energy needed (e.g. "dark aggressive", "uplifting anthemic").contact· string · requis
Email for follow-up (required).deadline· string · optionnel
Optional deadline in YYYY-MM-DD format.scene_type· string · requis
Type of scene needing music (e.g. "car chase", "romantic montage").description· string · optionnel
Optional: more detail about the project or scene.budget_range· string · optionnel
Optional budget range (e.g. "$1k-5k", "$10k+").project_name· string · optionnel
Optional project/film/show name.
Exemple d'appel{"name": "submit_sync_brief", "arguments": {"mood": "texte", "contact": "texte", "scene_type": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "mood": "texte", "status": "texte", "_session": {}, "brief_id": 1, "deadline": "texte", "try_next": [], "scene_type": "texte", "rights_note": "texte", "budget_range": "texte", "project_name": "texte", "submitted_at": "texte"}} - sync_search≈ 891 tokens
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") — the wedge handles natural language and adds why-it-fits rationale. Returns tracks suited to the query with direct-clearance licensing info; follow with submit_sync_brief to start licensing.
Paramètres, retour & exemple (5)
Paramètresq· string · requis
Sync query, e.g. "club scene" or "dark aggressive". Truncated at 500 characters.mood· string · optionnel
Mood filter, matched against moods + energy words, e.g. "aggressive".bpm_max· number · optionnel
Maximum BPM (inclusive).bpm_min· number · optionnel
Minimum BPM (inclusive).explicit· boolean · optionnel
true = explicit only, false = non-explicit only. Omit for all.
Exemple d'appel{"name": "sync_search", "arguments": {"q": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "query": "texte", "tokens": [], "results": [], "_session": {}, "try_next": [], "generated_at": "texte", "license_block": "texte", "filters_applied": {}, "descriptor_provenance": "texte"}}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».