Skip to content
Agentmart
Submit a tool

Sonicmatch

Analyze video mood and pace, then recommend license-safe BGM with a mix spec.

Connector by js713-lab · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 153
Write a review

Install

Works with Claude Desktop. Read the repository before you give any tool access to your data.

Download the bundle

MCP bundle (.mcpb): open it with Claude Desktop.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Analyze video mood and pace, then recommend license-safe BGM with a mix spec.

Use cases: audio-video

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Tools
8 read · 4 write · 0 delete
Secrets
None asked for
Install scripts
None found
Runs as
Downloaded binary

Tools by what they do 12

Read from the source code; the running server may list different tools.

Read 8 · Look things up without changing anything.

  • analyze_batch
  • analyze_video_music
  • get_track
  • preview_mix
  • recommend_bgm
  • search_music
  • status
  • suggest_cuts

Write 4 · Create, change, send or run things.

  • export_mix_spec
  • generate_bed
  • ingest_video
  • save_brand_kit

Network hosts it talks to 5

  • api.jamendo.com · found in code
  • freesound.org · found in code
  • github.com · found in install command, code
  • i.ytimg.com · found in code
  • sonic.codecrafter.dev · found in code

Files it touches

  • Your home directory (~)
  • Any path the agent passes to its tools

Tools (12)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • analyze_batch

    Analyze up to 20 clips, cluster moods, return one consistent mini-playlist for the series.

  • analyze_video_music

    Produce a structured VideoSonic profile for BGM matching. platform_hint: instagram_story | instagram_reel | tiktok | youtube_short | youtube_long | generic. Uses Gemini video understanding when GEMINI_API_KEY is set; otherwise local ffmpeg/audio heuristics (and optional faster-whisper / PySceneDetect if installed). Always fills search_queries even if analysis is weak. extra_notes: optional caption/script the user already has — used as a hint, not as a replacement for watching the video.

  • export_mix_spec

    Export the mix spec + ffmpeg recipe + attribution without requiring a render. This is the editor companion output (CapCut / Premiere / DaVinci / agent). Set render=true to also write preview files (same as preview_mix).

  • generate_bed

    Generate a bed when the catalog misses. Always marked source=generated. Refuses unless i_understand_not_commercially_cleared=true. Local fallback is a sine-tremolo demo. NOT cleared for ads. Check Suno/Stable Audio/Lyria terms before swapping in a real generator. Generated tracks are excluded from recommend_bgm auto catalogs.

  • get_track

    Return one track's metadata, license string, attribution text, and URLs.

  • ingest_video

    Ingest a local video path or public http(s) URL. Accepts a filesystem path or an HTTPS video URL. YouTube/TikTok/Instagram via yt-dlp is OFF unless SONICMATCH_ALLOW_YTDLP=1 (ToS + extractor risk). Rejects file://, http, loopback, and private IPs (SSRF). Size-capped. Extracts duration/fps/aspect with ffprobe, a 16 kHz mono wav, up to 12 scene keyframes, and a 360p proxy. Returns an asset_id. Never returns video bytes. Call this first. Then call analyze_video_music with the asset_id.

  • preview_mix

    Mix BGM under the video: hook trim, loop if needed, optional speech ducking. Returns preview mp3 + low-res mp4 paths, the ffmpeg command, and a mix_spec JSON an editor (CapCut / Premiere / DaVinci / your agent) can re-apply. Ducking uses ffmpeg sidechaincompress when the video has speech. Seed tracks without audio files get a synthesized CC0 demo bed so the pipeline still runs offline.

  • recommend_bgm

    Rank license-safe BGM. Pass asset_id and/or a VideoSonic profile. Defaults instrumental_only=True when speech_coverage > 0.25. catalog: auto | seed | jamendo | freesound | library auto = seed always, plus Jamendo/Freesound/user-library when configured. Each recommendation includes score, reason, suggested song in/out (12–20s high-energy slice), ducking hint, and license_ok_for_platform. max_results is clamped to 3–7. brand_kit: name previously saved with save_brand_kit.

  • save_brand_kit

    Save a brand kit (BPM lock + no vocals + mood whitelist). Pass brand_kit=name to recommend_bgm.

  • search_music

    Free-text search over seed + optional Jamendo / Freesound / user library.

  • status

    Show ffmpeg/yt-dlp availability and which music adapters have keys.

  • suggest_cuts

    Snap detected scene cuts onto a beat grid. Returns EDL-ish spans and intro/peak/outro acts. bpm defaults to the VideoSonic suggested_bpm midpoint, or the track BPM if track_id is set.

Signals

Stars
153
Forks
0
Open issues
7
Contributors
5
Last commit
Oct 21, 2026 (8 days ago)
Last release
Oct 21, 2026 (8 days ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
io.github.js713-lab/sonicmatch-mcp
Version
0.2.0
Auth
API key
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from js713-lab

Cite this page

Sonicmatch MCP server. Agent Mart. https://agentmart.dev/connectors/js713-lab-sonicmatch-mcp (last updated 2026-10-24)