Licensed soundtracks and sound effects matched to your video. Commercial use OK.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
An MCP (Model Context Protocol) server that exposes Sonilo's licensed music and sound-effects API to MCP-compatible clients (Claude Code, Claude Desktop, Codex).
The flagship tool is video_to_music: hand it your finished video and it composes an original soundtrack matched to the cut β the music follows the pacing, emotion, and edits because the model saw them. Length matches the video automatically. Every track is licensed and safe for commercial use (terms apply). text_to_music is also available for fixed-length tracks with no video to match.
For sound design, video_to_sfx watches your video and generates matching sound effects, returned as a standalone audio file. text_to_sfx generates a standalone effect from a description.
βΆ Example result β an AI-generated trailer with its soundtrack composed by video_to_music from the assembled cut. For recipes covering any AI-video pipeline (stitch β grade β add music β mux), see the Sonilo video-to-music cookbook.
Sign in once with the CLI, then add the server with no secret in the config:
Or hold an API key yourself β get one from the Sonilo dashboard:
Then start a session and ask, e.g. "Make background music that matches this video: ~/Desktop/promo.mp4."
segments let you script effects to specific time ranges ([{start, end, prompt}]).wav, mp3, aac, or flac.text_to_music, video_to_music, video_to_video_music, video_to_sound, and video_to_video_sound accept variants_num (1β10, default 1): generate several distinct creative directions in one request instead of re-rolling one at a time. Cost scales linearly with N, and N > 1 is never covered by the free trial.text_to_music and video_to_music accept stems=true: get the generated track additionally split into drums, bass, vocals and other, at no extra charge. Separation adds a few minutes; on video_to_music it splits the generated music, never the video's own audio.dubbing, no card required: 2 each on text-to-music, text-to-sfx and audio-ducking, and 1 each on video-to-music, video-to-sfx, video-to-video-music, video-to-video-sfx, video-to-sound and video-to-video-sound. After that, calls bill at the normal rate. dubbing has zero free runs and is billed from the first call β it charges video duration Γ number of languages, so a free run on it would be worth far more than on any other endpoint.The play_audio tool requires PortAudio at runtime (for sounddevice). On macOS/Linux, install via:
brew install portaudiosudo apt-get install libportaudio2uvx sonilo-mcp and pip install will pull the Python bindings, but the system PortAudio library must be installed separately. The other tools (text_to_music, video_to_music, text_to_sfx, video_to_sfx, audio_ducking, get_sfx_task, get_account_services, get_usage) work without PortAudio.
Authenticate, either way round:
npm install -g sonilo-cli && sonilo login β and leave "env": {} below. Nothing secret goes in the config file."env".Install the uv package manager (provides uvx):
See the uv repo for other install methods.
Go to Claude > Settings > Developer > Edit Config > claude_desktop_config.json to include the following:
That is the whole config when you have signed in with sonilo login. To
hold a key instead, or to change the defaults:
Restart Claude Desktop. You should see the Sonilo tools available in the tool menu.
Signed in with the CLI (npm install -g sonilo-cli && sonilo login), the whole
setup is one command:
Or, holding a key yourself:
To configure it by hand instead:
Get your API key from the Sonilo dashboard β or skip this step if you signed in with sonilo login.
Install the uv package manager (provides uvx):
**Go to Codex > Settings > MCP servers to fill out the following:

Or you can add the server** to ~/.codex/config.toml:
/mcp to confirm sonilo is connected and its tools are listed.Once the server is connected, just ask your assistant in natural language. For example:
~/Desktop/promo.mp4."https://example.com/clip.mp4 with a calm, ambient style."~/Desktop/trailer.mp4 β add a soundtrack that matches the cut."The assistant will call the matching tool (text_to_music, video_to_music, text_to_sfx, video_to_sfx, audio_ducking, get_sfx_task, get_account_services, get_usage, or play_audio) and save generated audio to your configured output directory.
The server takes its key from SONILO_API_KEY if that is set, and otherwise
from the credential written by sonilo login
(~/.config/sonilo/credentials.json, or $XDG_CONFIG_HOME/sonilo/). The
environment variable wins on purpose, so any config that already sets it keeps
resolving to the same account after an upgrade.
The credential is looked up by the server's own SONILO_API_URL, so a staging
server never picks up a production sign-in. This server only ever reads the
file: run sonilo login again to renew it (keys from a sign-in expire after 90
days) and sonilo logout to revoke it.
| Variable | Default | Description |
|---|---|---|
SONILO_API_KEY | (from sonilo login) | Bearer token. Required only if you have not signed in with the CLI. |
SONILO_API_URL | https://api.sonilo.com | Public API base URL. |
SONILO_MCP_BASE_PATH | ~/Desktop | Default output directory and base for relative input paths. Also the confinement boundary (see below). |
SONILO_MCP_ALLOW_ANY_PATH | false | Set to true to let tools read/write files outside SONILO_MCP_BASE_PATH. |
TIME_OUT_SECONDS | 600 | Generation timeout, in seconds. Aligned with the backend's read timeout. |
By default, the file tools (video_to_music input, play_audio, and any
output_directory) are confined to SONILO_MCP_BASE_PATH. Paths that
resolve outside it (after symlink resolution) are rejected. This limits the
blast radius if a client is tricked into reading or exfiltrating arbitrary
files. To opt out β e.g. to read a video from elsewhere on disk β set
SONILO_MCP_ALLOW_ANY_PATH=true.
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/sonilo-music-sound-effects)<a href="https://allmcps.com/mcp/sonilo-music-sound-effects"><img src="https://allmcps.com/api/badge/sonilo-music-sound-effects?style=directory" alt="Sonilo Music & Sound Effects on AllMCPs" /></a>