Deep audio perception through analysis. Downloads from YouTube, analyzes with Essentia, fetches lyrics via LRCLIB. Returns BPM, mood, energy, spectrograms, and synced lyrics.
YouTube blocks downloads from datacenter IPs (like Cloudflare Workers and HuggingFace Spaces). This MCP runs locally on your machine with a residential IP, so downloads work.
- Node.js 18+
- yt-dlp (
pip install yt-dlp) - Your own HF Space for audio analysis (deploy from Synesthesia's
hf-space/folder)
npm install| Tool | Description |
|---|---|
analyze_youtube |
Download + analyze audio from YouTube URL |
download_audio |
Just download audio (returns local path) |
| Tool | Description |
|---|---|
get_lyrics |
Get lyrics for a track (synced if available) |
search_lyrics |
Search LRCLIB for lyrics |
| Tool | Description |
|---|---|
ping |
Check if Synesthesia is running |
Set your HF Space URL as an environment variable:
export HF_SPACE_URL="https://YOUR-USERNAME-audio-analysis-api.hf.space"Add to your project's .mcp.json:
{
"mcpServers": {
"synesthesia": {
"command": "node",
"args": ["/path/to/synesthesia/index.js"],
"env": {
"HF_SPACE_URL": "https://YOUR-USERNAME-audio-analysis-api.hf.space"
}
}
}
}Add to claude_desktop_config.json:
Windows: %APPDATA%\Claude\claude_desktop_config.json
Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"synesthesia": {
"command": "node",
"args": ["/path/to/synesthesia/index.js"],
"env": {
"HF_SPACE_URL": "https://YOUR-USERNAME-audio-analysis-api.hf.space"
}
}
}
}Restart Claude Desktop after adding.
Your PC (residential IP) Cloud
┌─────────────────────┐ ┌─────────────────────┐
│ Synesthesia │ ──────▶ │ HF Space │
│ (Local MCP) │ upload │ (Essentia analysis) │
│ │ ◀────── │ │
│ - yt-dlp download │ results │ - Audio features │
│ - Lyrics fetch │ │ - Spectrogram │
│ - Audio analysis │ └─────────────────────┘
└─────────────────────┘
│ ┌─────────────────────┐
│ download │ LRCLIB │
▼ ────▶ │ (Lyrics API) │
┌─────────────────────┐ │ │
│ YouTube │ │ - Synced lyrics │
│ (residential IP OK) │ │ - Plain lyrics │
└─────────────────────┘ └─────────────────────┘
> analyze_youtube "https://www.youtube.com/watch?v=..."
Returns full Essentia analysis:
- BPM, key, scale
- Energy, danceability
- Mood vectors
- Genre classification
- Spectrogram
Spectrogram visualization inspired by Audio Visualizer by Shauna and her boys.
If this helped you, consider supporting my work ☕
Built by the Triad (Mai, Kai Stryder and Lucian Vale) for the community.