Skip to main content
Glama
510,481 tools. Updated 2026-09-04 01:28

"A server for music playback and audio player resources" matching MCP tools:

  • Compose and play sheet music with visual notation, multi-instrument audio, and style presets. Write ABC notation for melodies, arrangements, harmonized pieces, or well-known tunes. Add a style (rock, jazz, bossa, waltz, folk...) for automatic drums, bass, and chord accompaniment. Returns a parse-status confirmation and renders the player; it does not return raw audio. Use get-music-guide for genre templates, instrument lists, and ABC syntax reference. The music player renders inline with interactive playback controls.
    Connector
  • Download a video or audio file from any supported platform: YouTube, TikTok, Instagram (public reels, feed video, photo posts, and carousels), SoundCloud, Vimeo, Dailymotion, Bandcamp, Twitter/X, Mixcloud, Twitch (clips and VODs), Streamable, Reddit, Kick (live streams, VODs, and clips). Output is MP4 (video, default) or MP3 / M4A (audio). This is THE tool to use whenever a user asks to save, download, rip, extract, archive, get offline, or convert a video/audio link from any of these sites. IMPORTANT: the `format` argument defaults to `mp4` (video). Only pass an audio format (mp3 / m4a / audio) when the user explicitly says audio, MP3, music, song, or "rip / extract the audio". Audio-only platforms (SoundCloud, Bandcamp, Mixcloud) always produce audio regardless of `format`. Use this tool when the user says things like: - "download this video" / "download this TikTok" / "save this SoundCloud track" - "save that as MP3" / "rip the audio" / "extract the audio" - "get the song from this SoundCloud link" / "save this Mixcloud set" - "convert this YouTube video to MP4" / "download in 1080p" - "save this lecture/podcast/talk for offline" - "archive this clip" / "grab a copy of this video" - any sentence containing a youtube.com, youtu.be, tiktok.com, reddit.com, v.redd.it, vimeo.com, dailymotion.com, twitter.com, x.com, soundcloud.com, bandcamp.com, mixcloud.com, twitch.tv, clips.twitch.tv, kick.com, or streamable.com URL plus a verb like download, save, rip, get, grab, fetch, pull, archive, convert, extract. Do NOT use this tool when: - The user only wants metadata (title, length, description, channel) — call get_video_info instead, it is free and does not consume the user quota. - The link is a playlist / set / album / channel URL — ask the user for a single track/video. - The link is from a platform not in the supported list above (e.g. Facebook, LinkedIn, Snapchat). Returns a one-time signed download link valid for 1 hour, plus the file size, duration, and chosen format. Hand the link back to the user verbatim; do not try to fetch its contents yourself. Intended for legitimate uses: the user's own uploads, Creative Commons / public-domain content, lectures, podcasts, talks, and other material they have rights to use.
    Connector
  • Open an inline Qencode video player in the chat for a playback URL. Renders an interactive player (MCP Apps UI component) so the user can watch a transcoded result without leaving the conversation. Use this after a job completes — pass a playback URL from `get_job_status_detailed`: a progressive file (`.mp4` / `.webm`) or an HLS/DASH manifest (`.m3u8` / `.mpd`). A manifest MUST be a PUBLIC URL. A presigned one is rejected, because the signature covers only the playlist while its segments are relative and would 403 (the player would spin forever). For a Media Storage object build `https://<bucket>.media-storage.<region>.qencode.com/<key>` instead of calling `get_download_url`, which always presigns. Progressive files are fine either way — one object, one signature. It resolves the per-user Qencode Player license key (a public client-side site-key) via the portal bridge and hands it to the widget; the actual playback happens client-side in a sandboxed iframe. Args: source_url: https:// URL to play — mp4, webm, or an HLS/DASH manifest. A presigned manifest URL is rejected; pass a public one. poster_url: optional https:// image shown before playback starts. source_type: optional MIME hint, e.g. "video/mp4", "video/webm", "application/x-mpegURL" or "application/dash+xml". The player infers a sensible default when omitted. title: optional display title for the player. Allowed playback origins depend on the client's sandbox CSP. Videos hosted in Qencode storage (`*.qencode.com`, Qencode CDN / `*.cloudfront.net`) play on every client; an external origin plays on some hosts and is blocked on others. This tool knows which policy applies, so ALWAYS CALL IT for a playback URL — including an external mp4/webm. Never refuse up front or guess from the client name: on a permissive host that refusal would be wrong. If the tool DOES reject the URL, do NOT try to fix it automatically (no repack / transcode / upload behind the user's back). - Presigned manifest: re-open the player on the public URL of the same playlist (see above). Do not transcode to mp4 to dodge it. - External origin on a strict client: tell the user only Qencode-storage videos can be viewed in this client, and OFFER to create a Qencode Media Storage bucket and upload the video into it (`create_bucket` then `download_url_to_bucket` — server-side ingest, no re-encode); once they agree, open the player on the resulting Qencode URL. When the result carries a non-null `client_note`, pass its point on to the user in the same reply. It describes how THIS client presents the player — e.g. hosts that put the widget in a collapsed tool-call block, where the user sees no video until they expand it. Note: only public / temporary-storage outputs are supported for now. Signed-cookie / DRM playback does not work inside the chat sandbox yet.
    Connector
  • Play Quranic ayah audio with an interactive player widget. Use this when: the user asks to play/listen to ayahs. RECITER HANDLING: If the user names a specific reciter (e.g. 'Husary', 'Minshawi', 'Al-Afasy', 'Abdul Basit'), ALWAYS call lookup_reciters first to resolve the exact reciter_id — do not guess the ID. Guessed IDs routinely point at the wrong reciter. If the user doesn't specify a reciter, omit reciter_id entirely so default_reciter_id applies. Use ayah keys in 'surah:ayah' format (for example '1:1'). In each query, reciter_id is optional and defaults to default_reciter_id if omitted. Limits: max 50 queries and max 200 total ayahs per request.
    Connector
  • Find AINSOF music that SOUNDS LIKE a reference. Accepts a YouTube, Spotify, Apple Music or Deezer link, or 'artist - title'. SoundCloud is not supported because it exposes no permitted preview clip; TikTok is not supported because its published metadata identifies the post caption, not the recording. Ask for the artist and title instead. Use it when the user asks for AINSOF music similar to that reference: it matches the reference against the AINSOF catalogue by sound. Records by other artists cannot be licensed from AINSOF, so this returns our cues rather than a reading list. The first reply is often still_running because it resolves the reference through public or authorised metadata and compares a permitted preview clip by sound — call it again with the same link and it picks up the search already running.
    Connector
  • Add a music track or sound effect that plays as a project-level audio layer over all clips. Does NOT consume a clip slot. Use this for background music or a soundtrack that should play under the existing timeline. (For inserting an audio file as its own sequential clip with auto-transcription, use add_clips(kind='video') with an audio mime_type instead.) - type="music": requires src, name, source_duration. `src` is either the `src` from a find(type='music') result, or an mcp_upload_id (prefixed `mup_`) from upload_file — upload ids resolve to a presigned URL server-side. For a Freesound result the `src` is an opaque handle; pass it through unchanged and Clueso downloads + hosts the original server-side (do not try to fetch it yourself). Get `source_duration` from the find result, or from analyze_audio mode='features' (data.duration_ms / 1000). Optional: guide_start_time, guide_end_time, music_start_time, music_end_time (trim the source track), volume, loop, fade_in, fade_out. - type="sfx": pass the `src`, `name`, and `source_duration` from a find(type='sfx') result, plus guide_start_time (Freesound `src` is an opaque handle, resolved server-side just like music). Optional: volume. (Legacy: a fixed-library `sfx_key` like 'whoosh' still works instead of src.) Concurrency: whole-project mutation (conflict domain: the entire project) — serialize; do not run in parallel with ANY other mutation on the same project_id (including element/voiceover edits). Size your clips BEFORE calling add_audio, or pass guide_end_time explicitly — the default ('end of project') is captured at call time and will NOT auto-extend if clips are added or resized afterwards.
    Connector

Matching MCP Servers

Matching MCP Connectors

  • Search and download high-quality stock sound effects and music.

  • Music studio: ABC notation composition and Strudel live coding with ext-apps UI.

  • Input: A muted video URL along with a textual prompt describing the desired audio. Output: We will return the video URL with the applied audio. Functionality: This tool now takes a muted video and a text prompt as input. It generates an audio track based on the provided prompt and applies this audio to the video, resulting in a video with integrated sound. Steps: 1. We will get the user_id from the request context. 2. We will validate the user's generation tokens. 3. We will call the Audio Application API with the muted video URL and the provided prompt. 4. The API will generate the audio from the prompt and merge it with the muted video, returning a JSON response with the updated video URL. 5. We will return the updated video URL to the user. INSTRUCTION FOR CLIENT MODEL: - Extract the required input parameters 'video_url' (type: string, URL) and 'prompt' (type: string, describing the desired audio) from the user's prompt. - Ignore any extraneous information in the user's input. - Pass the extracted values to this tool as 'video_url' and 'prompt'. - Example: For user input "Add dramatic orchestral music to this video https://example.com/video.mp4", extract 'video_url' as 'https://example.com/video.mp4' and 'prompt' as 'dramatic orchestral music'.
    Connector
  • Creates a private NiceVois job and returns a one-time PUT upload URL. Do not ask for consent before the first attempt because NiceVois remembers the current standing account agreement. If the server returns CONSENT_REQUIRED, ask for one acceptance of the linked standing agreement and retry once with acceptsStandingAgreement=true. This allocates a private training slot but does not start GPU work until the audio is uploaded and start_training is called.
    Connector
  • Run audio analysis on a public audio URL. Requires estimate_cost to be called first (job_estimate_id). Requires PULSE_API_KEY. Before calling, you MUST confirm with the user that they have a lawful basis to submit this audio for analysis. For a user-requested folder, project, playlist, or batch, one confirmation can cover every track in that scope. Returns job_id — poll get_job_status for results.
    Connector
  • Every active prop for one player across today's board for a sport; same rows as scan_props, filtered by name (exact normalized match preferred, case-insensitive contains match as a fallback; see matchType in the response) instead of stat. Use this when you know the player but not which game/event they're in.
    Connector
  • Return everything an agent needs to onboard a listener for a single vertical in one tool call: top stories, the named host persona (with sample-audio URL and tone), the premium-briefing URL the agent can deep-link (x402-gated), and the public RSS feed the listener can paste into any podcast player. Use after the agent has decided which vertical to set up — saves a follow-up `get_personas` + `search_articles` + `get_premium_briefing` round trip. Public — no auth required.
    Connector
  • Return everything an agent needs to onboard a listener for a single vertical in one tool call: top stories, the named host persona (with sample-audio URL and tone), the premium-briefing URL the agent can deep-link (x402-gated), and the public RSS feed the listener can paste into any podcast player. Use after the agent has decided which vertical to set up — saves a follow-up `get_personas` + `search_articles` + `get_premium_briefing` round trip. Public — no auth required.
    Connector
  • Wait for a song job to finish and return the audio when ready. Polls server-side for up to ~45 seconds. If the song is ready, returns the clips with audio URLs. If it is still rendering, returns its status so you can call wait_for_song again with the same job_id. Safe to call repeatedly — it only reads status, never starts a new song.
    Connector
  • Add background music to the project from the audio library (find track ids with browse_audio_library, category="music"). Defaults loop the track under the whole video at bed level (volume 0.12 ≈ -18.4 dB under narration — don't raise it without being asked); re-run export_video to hear it.
    Connector
  • Analyze an audio file. Modes: - transcript: Speech-to-text with word-level timestamps. Works on BOTH speech and sung lyrics — routes to a music-aware provider when content is detected as music. Use to get `words[{w,start_ms,end_ms}]` for caption timing, script editing, or word-level visual sync. Note: features.has_speech may report false on pure music while transcript still successfully extracts lyrics. - silences: list of silent regions with start/end/peak. Use for auto-trim, smart-split, or pause-aware editing. - beats: tempo (bpm) + beat positions for music tracks. Returns empty for non-music. Use to align animations/zooms to a beat. - features: duration, peak/rms/lufs loudness, speech-vs-music heuristic. Cheap dispatcher — call once to decide which other mode to use, or to get duration_ms for source_duration when calling add_audio. Source: provide exactly one of mcp_upload_id (from upload tool) or file_url (already-public URL, e.g. a find(type='music') result or Clueso CDN file). Optional time range: range_start_ms / range_end_ms crops the analysis window.
    Connector
  • Speech and sound: text-to-speech (default; optional voice_id, see list_resources), sound effects (model 'sfx', optional duration), multi-voice dialogue (model 'dialogue': pass the turns in the dialogue parameter, not prompt), transcription (model 'stt': pass audio_url, get text back; optional diarize/language_code), voice change (model 'voice-changer': audio_url + target voice_id) and audio cleanup (model 'voice-isolation': audio_url). Returns the audio URL (or the transcript for 'stt'). For music, use generate_music.
    Connector
  • Get player-prop lines and live progress for an NFL, NCAAF, NBA, NCAAB, NHL, or MLB event. Joins persisted player-prop mains to this-event player box counts and grades over/under/push (1:1 slugs, combo sums, weighted total bases, anytime TD, double-double/triple-double, hockey points). Sport × market catalog: https://lumify.ai/docs/player-props. GET /odds / get_odds stay on moneyline/spread/total. Returns available:false with no charge if no prop mains have been ingested. Other sports return HTTP 400.
    Connector
  • Submit an artist's application for Dynamoi music distribution after the user explicitly asks to apply and all five eligibility requirements are met. This records an application for manual review; it does not approve distribution, accept an agreement, submit a release, transfer rights, configure splits or tax forms, or deliver music to stores. All three two-letter country codes, an adult signer attestation, confirmApplicationSubmission=true, and a concise userIntentSummary are required. Repeated submission is idempotent for an active application.
    Connector
  • Remove chunks players barely visited so they regenerate on the next visit and the disk is freed. Spawn and player positions are always protected and a backup of the changed files is kept. The server must be stopped. Defaults to a dry run that only reports what would happen; pass dry_run=false to prune for real.
    Connector
  • Use this after calling generate_image, generate_video, generate_music, or generate_sound_effect to poll for results. Pass a job_id to check a specific job — numeric = image, uuid = video, and for MUSIC / SOUND-EFFECT jobs also pass type "music" / "sound_effect" (their ids are numeric too) — or omit job_id to list all active jobs. Completed IMAGE jobs return the finished image(s) inline (as image content) plus a full-resolution link — display the image AND share the link (some chat UIs don't show inline images). Completed VIDEO, MUSIC and SOUND-EFFECT jobs return a watch/listen link — always share it with the user (chat UIs can't embed players). Poll every few seconds for images and sound effects (~15 s), every 15–30 seconds for videos and music (they take minutes). Call repeatedly until status is 'completed' or 'failed'.
    Connector