# Sonilo Music & Sound Effects

Scores licensed music and sound effects tailored to the pacing of your video clips. Useful when you need ready-to-use audio without manual synchronization.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 52
- Author: sonilo-ai
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/sonilo-ai/sonilo-mcp
- Updated: 2026-10-20
- HTML: https://affpapa.org/en/nevibecode/mcp/sonilo-music-sound-effects

## What it does

This server connects AI assistants to the Sonilo media API via MCP. Its primary tool, `video_to_music`, inspects your cut to compose background tracks that mirror scene edits and visual pacing. The output duration aligns with the source video. For Foley and ambience, `video_to_sfx` builds sound effects pegged to on-screen events or specific timestamps.

Running the server requires `uvx` and an active `SONILO_API_KEY` token. If you intend to preview generated audio through `play_audio`, PortAudio must be present on your OS. Without that system library, local playback fails. Other tools continue to work.

Every asset carries Shutterstock licensing cleared for commercial distribution. You can also separate finished scores into drum, bass, and vocal stems via `stems=true`. Multiple creative variations are supported in one call.

## Requirements
- Needs: Python and uv (commands run via uvx)
- Environment variables: `SONILO_API_KEY`, `SONILO_API_URL`, `SONILO_MCP_BASE_PATH`, `TIME_OUT_SECONDS` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env SONILO_API_KEY=<SONILO_API_KEY> --env SONILO_API_URL=<SONILO_API_URL> --env SONILO_MCP_BASE_PATH=<SONILO_MCP_BASE_PATH> --env TIME_OUT_SECONDS=<TIME_OUT_SECONDS> --transport stdio sonilo-music-sound-effects -- uvx sonilo-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from sonilo-mcp <command>

### Codex

**Platform CLI**
```bash
codex mcp add sonilo-music-sound-effects --env SONILO_API_KEY=<SONILO_API_KEY> --env SONILO_API_URL=<SONILO_API_URL> --env SONILO_MCP_BASE_PATH=<SONILO_MCP_BASE_PATH> --env TIME_OUT_SECONDS=<TIME_OUT_SECONDS> -- uvx sonilo-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from sonilo-mcp <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "sonilo-music-sound-effects": {
            "command": "uvx",
            "args": [
                "sonilo-mcp"
            ],
            "env": {
                "SONILO_API_KEY": "<SONILO_API_KEY>",
                "SONILO_API_URL": "<SONILO_API_URL>",
                "SONILO_MCP_BASE_PATH": "<SONILO_MCP_BASE_PATH>",
                "TIME_OUT_SECONDS": "<TIME_OUT_SECONDS>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from sonilo-mcp <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "sonilo-music-sound-effects": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "sonilo-mcp"
            ],
            "env": {
                "SONILO_API_KEY": "<SONILO_API_KEY>",
                "SONILO_API_URL": "<SONILO_API_URL>",
                "SONILO_MCP_BASE_PATH": "<SONILO_MCP_BASE_PATH>",
                "TIME_OUT_SECONDS": "<TIME_OUT_SECONDS>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from sonilo-mcp <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e SONILO_API_KEY=<SONILO_API_KEY> -e SONILO_API_URL=<SONILO_API_URL> -e SONILO_MCP_BASE_PATH=<SONILO_MCP_BASE_PATH> -e TIME_OUT_SECONDS=<TIME_OUT_SECONDS> sonilo-music-sound-effects uvx sonilo-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from sonilo-mcp <command>

## When to use it
- score custom background music matching video cuts and pacing
- generate contextual sound effects aligned with visual actions
- create standalone sound effects from text descriptions
- isolate drums, bass, and vocal stems from generated tracks

## Example prompts
- Compose background music matching the cuts in `promo.mp4`
- Generate realistic sound effects for the action in `trailer.mp4`
- Create a 20-second synth track with separated stems

## Similar
- [MCP Toolbox for Databases](https://affpapa.org/en/nevibecode/mcp/googleapis-mcp-toolbox-for-databases.md) — MCP server · ★ 16717
- [labelhead-artist-momentum](https://affpapa.org/en/nevibecode/mcp/labelhead-artist-momentum.md) — MCP server · ★ 107423
- [Agent Skills Search Server](https://affpapa.org/en/nevibecode/mcp/agent-skills-search-server.md) — MCP server · ★ 26559
- [Skyvern](https://affpapa.org/en/nevibecode/mcp/skyvern.md) — MCP server · ★ 23263
- [Nhost](https://affpapa.org/en/nevibecode/mcp/nhost.md) — MCP server · ★ 9366
- [PraisonAI](https://affpapa.org/en/nevibecode/mcp/praisonai.md) — MCP server · ★ 9289

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
