The ultimate vibe coding tool
An MCP server that generates music based on your coding context. It supports multiple audio generation backends including Stable Audio API and Udio to create short music clips that match what you're working on, with built-in playback and crossfading between tracks.
- Start a vibe session: Begin generating music based on your current coding context
- Generate more music: Request additional music as the previous chunk is almost finished, with smooth crossfading
- Stop a vibe session: End the music generation session
- Server-side playback: Audio is played directly by the MCP server with automatic crossfading between tracks
- Multiple audio generators: Support for Stable Audio API, Udio, and DiffRhythm
- Instrumental and lyrical modes: Generate either instrumental tracks or music with AI-generated lyrics
-
Clone this repository
-
Install dependencies:
npm install
-
Install FFmpeg (required for audio playback):
# macOS brew install ffmpeg # Ubuntu/Debian sudo apt-get install ffmpeg # Windows (using Chocolatey) choco install ffmpeg
-
Build the project:
npm run build
-
Set up your API keys in the
.envfile:STABLE_AUDIO_KEY=your_stable_audio_key_here PIAPI_KEY=your_piapi_key_here- Get your Stable Audio API key from Stability AI
- Get your PiAPI key from PiAPI
Note: You need at least one of these keys to use the MCP server. If you have both, the server will choose the appropriate one based on the generation mode.
To use this as an MCP server with Cline, you need to add it to your MCP settings file:
-
Edit your MCP settings file:
# For VSCode vim ~/Library/Application\ Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json # For Cursor vim ~/Library/Application\ Support/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json # For Claude Desktop vim ~/Library/Application\ Support/Claude/claude_desktop_config.json
-
Add the following configuration:
{ "mcpServers": { "vibe-mcp": { "autoApprove": [ "start_vibe_session", "generate_more_music", "stop_vibe_session" ], "command": "node", "args": ["/path/to/vibe-mcp/build/index.js"], "env": { "STABLE_AUDIO_KEY": "your_stable_audio_key_here", "PIAPI_KEY": "your_piapi_key_here" } } } } -
Optional command-line arguments:
- Add
lyricalto enable lyrical mode by default:["/path/to/vibe-mcp/build/index.js", "lyrical"] - Add
diffrhythmto use the DiffRhythm generator:["/path/to/vibe-mcp/build/index.js", "lyrical diffrhythm"]
- Add
-
Restart Cline or Claude Desktop
The MCP server provides three tools:
Starts a new music generation session based on the current coding context.
Parameters:
code(required): The current coding context from the user's sessiongenre(optional): Music genre to generate (e.g., "lo-fi house", "synthwave", "ambient")mode(optional): The mode to generate music in (e.g., 'instrumental', 'lyrical')language(optional): The programming language of the code (e.g., 'javascript', 'python', 'rust')
Returns:
- Prompt information and starts playing music in the background
Generates more music as the previous chunk is almost finished.
Parameters:
code(required): The current coding context from the user's sessiongenre(optional): Music genre to generate (defaults to the genre used in the session)mode(optional): The mode to generate music in (defaults to the mode used in the session)language(optional): The programming language of the code (defaults to the language used in the session)
Returns:
- Prompt information and continues playing music in the background
Stops the music generation session.
Parameters:
- None
Returns:
- Success message
The MCP server supports multiple audio generators:
Uses the Stability AI API to generate instrumental music. Requires a STABLE_AUDIO_KEY.
Uses the PiAPI Udio service to generate both instrumental and lyrical music. Requires a PIAPI_KEY.
Uses the PiAPI DiffRhythm service for specialized music generation. Requires a PIAPI_KEY and the diffrhythm command-line argument.
The MCP server supports two generation modes:
Generates music without lyrics. This is the default mode and can use either the Stability AI API or PiAPI service.
Generates music with AI-generated lyrics based on your code context. This mode requires the PiAPI Udio service and can be enabled by:
- Passing
mode: "lyrical"in the tool parameters - Adding the
lyricalcommand-line argument when starting the server - Adding
lyrical diffrhythmto the command-line arguments
MIT