svs-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@svs-mcpFlow these lyrics onto the melody: 'hello world'."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
svs-mcp
An MCP (Model Context Protocol) server for Synthesizer V Studio 2 Pro, focused on AI-driven input of lyrics and notes: compose melodies, flow lyrics onto them, and fine-tune pronunciation — all from an AI client such as Claude.
macOS + SV Studio 2 Pro only. Local build only (not published to npm).
Design notes and background live in docs/plan.md.
How it works
SV's scripting API has no network access, so a small Lua script runs inside SV Studio and exchanges JSON files with the MCP server:
AI client (Claude, etc.)
│ MCP (stdio)
▼
svs-mcp server (Node.js)
│ request.json / response.json in ~/.svs-mcp/bridge/
▼
SVSMCPBridge.lua (resident script inside SV Studio, polls every 100ms)Requests carry unique IDs (stale responses are discarded) and all file writes are atomic (temp file + rename).
Related MCP server: voiceroid_daemon-mcp
Setup
Requirements: Node.js 20+, Synthesizer V Studio 2 Pro on macOS.
npm install
npm run build
npm run install-sv # copies the bridge scripts into SV's scripts folderThen, in SV Studio:
Run Scripts > Rescan (or restart SV Studio).
Run Scripts > SVS MCP > "SVS MCP Bridge: Start". A dialog confirms the bridge is running; it keeps running in the background.
Finally, register the server with your MCP client:
{
"mcpServers": {
"svs-mcp": {
"command": "node",
"args": ["/path/to/svs-mcp/dist/index.js"]
}
}
}To verify the setup without an MCP client, run npm run ping — it prints SV's
host info when the bridge answers, or setup guidance when it doesn't (exit 1),
which also makes the whole setup scriptable for an AI agent: only the two
Scripts-menu clicks above need a human.
To stop the bridge, run "SVS MCP Bridge: Stop" from the Scripts menu.
To remove everything, npm run uninstall-sv.
Tools
Tool | Purpose |
| Check the bridge is alive; returns SV host info |
| Project overview: tempo, time signatures, tracks, groups, mixer state |
| List notes (lyrics, pitch, position) of a track/group, filterable by measure |
| Add a track |
| Add a note group to a track |
| Insert notes: lyrics + pitch ( |
| Edit lyrics/pitch/timing of existing notes by index |
| Delete notes by index |
| Flow lyrics (one syllable per note) onto an existing melody |
| Analyze a melody into phrases/sections with repetition (shape) labels |
| Add/update/remove time signature marks (align SV's grid with the music) |
| Browser page for the user to adjust syllable boundaries before applying |
| Fetch the user-edited syllable plan from the editor |
| Inspect the phonemes SV will actually sing |
| Override phonemes per note ( |
| Per-note language override for mixed-language lyrics |
Positions and durations use musical notation (1-based measures/beats, note values
like 1/8 or dotted 1/8.); the server converts to SV's internal blicks.
Japanese lyrics take one kana per note; - extends the previous vowel.
For putting lyrics on an imported MIDI melody, see docs/lyrics-workflow.md.
Important: groups and singers
In SV Studio 2 the singer is attached per note group, and notes placed in a track's main group are not synthesized (they appear in the piano roll but stay silent). Therefore:
insert_notestargets the first non-main group by default and auto-creates a group when the track has none.New tracks/groups inherit SV's default singer. There is no scripting API for singer selection, so if a group has no singer, pick one in the SV UI (select a note of the group, then use the Voice panel).
Troubleshooting
Tool calls time out — the bridge is probably not running. Run "SVS MCP Bridge: Start" in SV Studio. Only one MCP server instance should talk to one SV instance.
Notes appear but don't sound — check that the notes are in a non-main group (
get_project_infoshows the groups) and that the group has a singer assigned in the Voice panel. Also check track/group mute states, whichget_project_inforeports.Wrong pronunciation — inspect with
get_phonemes, then correct withset_phonemesorset_language.
Development
npm test # unit + protocol tests + e2e against the real Lua bridge (needs `lua` on PATH)
npm run build # tsctest/sv-stub.lua emulates the SV host so the actual bridge script can be tested
without SV Studio. After changing sv-scripts/, re-run npm run install-sv and
restart the bridge from SV's Scripts menu.
License
MIT. Bundles rxi/json.lua (MIT) inside the bridge script.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceMCP server for Synthesizer V AI Vocal Studio, which allows LLMs to create/edit vocal tracks e.g. adding lyrics to the melody.Last updated612Apache 2.0
- FlicenseAqualityDmaintenanceAn MCP server that enables text-to-speech generation and phonetic kana conversion using VOICEROID2 via voiceroid_daemon. It supports customizable voice parameters and provides cross-platform audio playback for synthesized speech.Last updated3
- AlicenseBqualityDmaintenanceAn MCP server that enables natural language control of Steinberg Dorico music notation software through Claude Desktop or ChatGPT, offering tools for score creation, note input, notation, harmony analysis, and orchestration.Last updated549MIT
- Alicense-qualityAmaintenanceAn MCP server that enables local AI models to automatically generate lyrics and style prompts, then submit songs to Suno via browser automation.Last updatedMIT
Related MCP Connectors
MCP server for Suno AI music generation, lyrics, and covers
MCP server for Producer/Riffusion AI music generation
An MCP server that integrates with Discord to provide AI-powered features.
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/tatat/svs-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server