rvc-sing-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SING_DIR | No | Working directory for venv, models, scripts, and intermediate work files. | sing |
| SING_MODEL | No | Voice model filename relative to sing/model/, or an absolute path. | xiaoxiao.pth |
| SING_YTDLP | No | yt-dlp executable path. Auto-detected from the venv or PATH by default. | |
| SING_CONFIG | No | Path to an alternative config.json file. By default the server uses config.json in the repository root. | |
| SING_DEVICE | No | Demucs device to use: cuda or cpu. | cuda |
| SING_FFMPEG | No | ffmpeg executable path. Auto-detected from PATH by default. | |
| SING_PYTHON | No | Python executable path. Auto-detected by default. | |
| SING_F0_ENGINE | No | Pitch-estimation engine: auto, rmvpe, or pyin. | auto |
| SING_FEMALE_F0 | No | Fundamental-frequency threshold above which the source is treated as female range and not pitch-shifted upward. | 200 |
| SING_KEEP_WORK | No | Number of recent task directories to keep under sing/work/. Set 0 to disable cleanup. | 3 |
| SING_MAX_PITCH | No | Maximum automatic pitch shift in semitones. | 12 |
| SING_TARGET_F0 | No | Target median fundamental frequency in Hz used for automatic pitch selection. | 250 |
| SING_OUTPUT_DIR | No | Directory where finished audio files are written. | output |
| SING_VOICE_TOOL | No | Tool name used only in returned next-step hints for sending the generated voice file. | send_voice |
| SING_KEEP_OUTPUT | No | Number of recent sing-*.mp3 outputs to keep. Set 0 to disable cleanup. | 20 |
| SING_MAX_SECONDS | No | Maximum clip length in seconds for a single request. | 60 |
| SING_START_OFFSETS | No | Start-offset rule file path, relative to singDir or absolute. | start-offsets.json |
| SING_F0_MAX_SECONDS | No | Maximum seconds of vocal audio used for pitch estimation. | 40 |
| SING_MAX_CONCURRENT | No | Number of sing_cover jobs allowed to run at once. Keep at 1 to avoid GPU memory exhaustion. | 1 |
| SING_DEFAULT_SECONDS | No | Default clip length in seconds when seconds is not provided. | 30 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| sing_probeA | 检查唱歌链路是否就绪:yt-dlp / ffmpeg / torch(CUDA) / demucs / RVC 工程 / 音色模型 / contentvec / 输出目录可写。返回里 aiReady 表示能不能真翻唱,aiMissing 是还缺什么,originalReady 表示能不能出原唱片段。要确认「现在能不能唱」时先调这个。 |
| sing_searchA | 在线搜歌(B站优先,YouTube 兜底),返回候选的标题/时长/播放量/链接(含上传者)。挑版本时优先选播放量高、时长 1.5~8 分钟的整曲;标着「切片/片段/翻唱/live」的往往是几十秒的短视频,拿去翻唱会直接踩到副歌中间。不确定是哪一版时,先用它挑一首再调 sing_cover。 |
| sing_coverA | 唱一段歌:联网找歌 → 下载音源 → 截最多 60 秒 → 输出到产物目录,返回文件名(之后用机器人框架的发语音工具发出去)。mode=original 是原唱片段;mode=ai 是用目标音色翻唱(需要本地 RVC 与音色模型就绪,没就绪会明确报缺什么,不会偷偷退回原唱)。mode=ai 时不要自己猜 pitch:留空即可,脚本会按原唱音域自动定调,返回里的 pitchNote 会说明它做了什么。 |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 3 tools
Each tool maps to a distinct stage of the pipeline: readiness check (sing_probe), online candidate discovery (sing_search), and audio rendering (sing_cover). The only blur is that sing_cover also performs an internal search+download, so an agent may be unsure whether searching first is optional, but the descriptions explicitly prescribe search-then-cover when unsure.
All three tools use the same 'sing_' prefix plus a short verb/noun (probe, search, cover), all lowercase snake_case. The pattern is immediately recognizable and predictable.
Three tools is lean for the domain but each earns its place as a step in a single workflow (diagnose, select, render). It sits at the low edge of the comfortable range, with no filler tools.
The core lifecycle is covered: check readiness, find a song, produce a 60s clip in original or AI-voice mode, with explicit failure reporting. Minor gaps exist — no way to list/manage previously generated artifacts or to render a specific candidate from search results by handle — but agents can work around them with another search query.