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
Install
Works with Claude Desktop. Read the repository before you give any tool access to your data.
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.
About
Use cases: audio-video
Reviews
Write a reviewNo 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_batchanalyze_video_musicget_trackpreview_mixrecommend_bgmsearch_musicstatussuggest_cuts
Write 4 · Create, change, send or run things.
export_mix_specgenerate_bedingest_videosave_brand_kit
Network hosts it talks to 5
api.jamendo.com· found in codefreesound.org· found in codegithub.com· found in install command, codei.ytimg.com· found in codesonic.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_batchAnalyze up to 20 clips, cluster moods, return one consistent mini-playlist for the series.
analyze_video_musicProduce 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_specExport 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_bedGenerate 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_trackReturn one track's metadata, license string, attribution text, and URLs.
ingest_videoIngest 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_mixMix 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_bgmRank 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_kitSave a brand kit (BPM lock + no vocals + mood whitelist). Pass brand_kit=name to recommend_bgm.
search_musicFree-text search over seed + optional Jamendo / Freesound / user library.
statusShow ffmpeg/yt-dlp availability and which music adapters have keys.
suggest_cutsSnap 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
- Packages
- mcpb https://github.com/js713-lab/sonic-match-mcp/releases/download/v0.2.0/sonicmatch-mcp-0.2.0.mcpb
- License
- MIT
- Repository
- github.com/js713-lab/sonic-match-mcp
- 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)