Sonilo MCP
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SONILO_API_KEY | Yes | Bearer token. Required. | |
| SONILO_API_URL | No | Public API base URL. | https://api.sonilo.com |
| TIME_OUT_SECONDS | No | Generation timeout, in seconds. Aligned with the backend's read timeout. | 600 |
| SONILO_MCP_BASE_PATH | No | Default output directory and base for relative input paths. Also the confinement boundary. | ~/Desktop |
| SONILO_MCP_ALLOW_ANY_PATH | No | Set to 'true' to let tools read/write files outside SONILO_MCP_BASE_PATH. | false |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| text_to_musicA | Generate music from a text prompt and save the resulting audio file(s) to a local directory. Generated tracks are fully licensed (music licensed via Shutterstock) and cleared for commercial use on social, brand content, and advertising. ⚠️ COST WARNING: This tool makes an API call to Sonilo which may incur charges. Only use when explicitly requested by the user. Args: prompt (str): Description of the music to generate (1–1000 chars). duration (int): Length in seconds (1–360). output_directory (str, optional): Absolute path, or relative to SONILO_MCP_BASE_PATH. Defaults to SONILO_MCP_BASE_PATH (~/Desktop unless overridden). Returns: One TextContent per generated audio stream, each containing the absolute path of the saved .m4a file (AAC in MP4 container). |
| video_to_musicA | Generate an original score for a video: Sonilo analyzes the video's pacing, motion, and emotion, aligns transitions and beat drops to its cut points, and matches the video's duration exactly. Provide either a local video file path or a publicly accessible video URL. Generated tracks are fully licensed (music licensed via Shutterstock) and cleared for commercial use on social, brand content, and advertising. ⚠️ COST WARNING: This tool makes an API call to Sonilo which may incur charges. Only use when explicitly requested by the user. Args: video_path (str, optional): Absolute local path, or relative to SONILO_MCP_BASE_PATH. Supports .mp4/.mov/.avi/.wmv/.webm/.mkv. Subject to the account's max upload size (typically 300 MB). Maximum video duration is 360 seconds (6 minutes). video_url (str, optional): HTTPS URL to a video file. prompt (str, optional): Style hint for the generated music. output_directory (str, optional): Where to save the resulting audio file(s). Defaults to SONILO_MCP_BASE_PATH. Exactly one of video_path and video_url must be provided. Returns: One TextContent per generated audio stream. |
| text_to_sfxA | Generate a sound effect from a text prompt and save the audio file to a local directory. Generation is asynchronous on the backend; this tool waits for completion (typically well under the timeout) and returns the saved file path. ⚠️ COST WARNING: This tool makes an API call to Sonilo which may incur charges. Only use when explicitly requested by the user. Args: prompt (str): Description of the sound effect (1–2000 chars). duration (int): Length in seconds (1–180). audio_format (str, optional): One of wav, mp3, aac, flac. Defaults to aac (.m4a file). output_directory (str, optional): Absolute path, or relative to SONILO_MCP_BASE_PATH. Defaults to SONILO_MCP_BASE_PATH (~/Desktop unless overridden). Returns: TextContent with the absolute path of the saved audio file. If the call times out, the error message includes the task_id — recover the result later with get_sfx_task. |
| video_to_sfxA | Generate sound effects for a video: Sonilo analyzes the video and creates matching SFX. Returns the generated sound-effects audio file. Provide either a local video file path or a publicly accessible video URL. Generation is asynchronous on the backend; this tool waits for completion and returns the saved file paths. ⚠️ COST WARNING: This tool makes an API call to Sonilo which may incur charges. Only use when explicitly requested by the user. Args: video_path (str, optional): Absolute local path, or relative to SONILO_MCP_BASE_PATH. Supports .mp4/.mov/.webm/.m4v/.gif (gif must be animated). Subject to the account's max upload size (typically 300 MB). Maximum video duration is 180 seconds (3 minutes). video_url (str, optional): HTTPS URL to a video file. prompt (str, optional): Overall description of the desired sound effects (max 2000 chars). segments (list, optional): Per-segment SFX descriptions, each {"start": float, "end": float, "prompt": str}. Backend rules: first start must be 0; segments must be contiguous (each end == next start); every end > start; every prompt non-empty (max 200 chars); last end must not exceed the video duration; max 30 segments. Invalid segments are rejected before any charge. audio_format (str, optional): One of wav, mp3, aac, flac. Defaults to aac (.m4a file). output_directory (str, optional): Where to save the resulting files. Defaults to SONILO_MCP_BASE_PATH. Exactly one of video_path and video_url must be provided. Returns: One TextContent: the saved audio file path. If the call times out, the error message includes the task_id — recover with get_sfx_task. |
| get_sfx_taskA | Check a sound-effects or audio-ducking generation task and, if finished, download its result file(s). Use this to recover a result when text_to_sfx, video_to_sfx, or audio_ducking timed out — their error message contains the task_id. Does not poll: a single status check per call. This tool itself never charges. Args: task_id (str): The task id returned in the timeout message. output_directory (str, optional): Where to save result files. Defaults to SONILO_MCP_BASE_PATH. Returns: Still processing -> a status message; try again later. Succeeded -> the saved file path(s): audio, plus video for video_to_sfx tasks; a single .wav or .mp4 for audio_ducking tasks. Failed -> an error including whether the charge was refunded. |
| audio_duckingA | Duck a music bed under a voice track: Sonilo lowers the music wherever the voice is speaking and lifts it back in the gaps, then returns the mixed result. The voice input may be a video — its audio track is used as the voice, and the ducked mix is muxed back into a new video. ⚠️ COST WARNING: This tool makes an API call to Sonilo which may incur charges. Only use when explicitly requested by the user. Args: voice_path (str, optional): Absolute local path, or relative to SONILO_MCP_BASE_PATH. Audio (.wav/.mp3/.m4a/.aac/.ogg/.flac) or video (.mp4/.mov/.avi/.wmv/.webm/.mkv). voice_url (str, optional): HTTPS URL to the voice audio/video. music_path (str, optional): Absolute local path, or relative to SONILO_MCP_BASE_PATH. Audio only. music_url (str, optional): HTTPS URL to the music audio. output_directory (str, optional): Where to save the result. Defaults to SONILO_MCP_BASE_PATH. Exactly one of voice_path/voice_url, and exactly one of music_path/music_url, must be provided. A local file and a URL may be mixed across the two inputs. Each input is capped at 360 seconds (6 minutes) and by the account's upload-size limit (typically 300 MB). Returns: TextContent with the absolute path of the saved file: a .wav, or a .mp4 when the voice input was a video. If the call times out, the error message includes the task_id — recover the result later with get_sfx_task. |
| get_account_servicesA | Get the authenticated account's available Sonilo services, rate limits, concurrency limit, discount factor, and max video upload size. Use this to discover what generation endpoints are available before calling them. |
| get_usageA | Get the authenticated account's usage summary and per-day breakdown. Useful for cost reconciliation and tracking generation history. Args: days (int, optional): Lookback window in days, 1–365. Defaults to 30. |
| play_audioA | Play a local audio file through the system's default output device. Supports WAV, MP3, M4A, AAC, OGG, FLAC. Args: input_file_path (str): Absolute path or relative to SONILO_MCP_BASE_PATH. Returns: Success message including the played path. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sonilo-ai/sonilo-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server