Music MCP Server
Enables music library management and Chromecast playback control via LM Studio, with 21 tools for search, playback, navigation, and queue management.
README
šµ Music MCP Server
A Model Context Protocol (MCP) Server for music library management and Chromecast playbook control, optimized for LM Studio integration.
⨠Key Features
- šÆ 21 Music Tools - Complete control over music playback and library
- š” Chromecast Integration - Native Google Cast queue support
- ā” Ultra-Fast Responses - No timeout issues with LM Studio (~20ms)
- š Persistent Operation - Background server survives disconnections
- š Large Library Support - Tested with 13,294+ tracks
š Quick Start
1. Installation
git clone <repository>
cd music-mcp-server
npm install
2. Configure LM Studio
Add to your LM Studio MCP configuration:
{
"mcpServers": {
"music": {
"command": "C:\\Program Files\\nodejs\\node.exe",
"args": ["lm-studio.js"],
"cwd": "D:/mcp-server/music-mcp-server",
"env": {
"NODE_ENV": "production",
"LOG_LEVEL": "error"
},
"timeout": 30000
}
}
}
3. Start Using
- Start server:
start_music_server() - Find devices:
list_chromecasts() - Search music:
search_music({"query": "artist name"}) - Play tracks:
play_multiple_tracks({"tracks": [1,2,3], "device_name": "device"})
š Alternative: NPM Scripts
You can also run the interface using npm scripts:
# Start LM Studio interface
npm run lm-studio
# Start persistent server
npm run server
# Start server in background
npm run server:background
# Development mode
npm run dev
š ļø Available Tools
Server Management (3)
start_music_server- Start background serverstop_music_server- Stop background serverserver_status- Check server health
Chromecast Control (3)
list_chromecasts- Discover devicesconnect_chromecast- Connect to deviceget_chromecast_status- Get connection status
Music Library (2)
search_music- Search tracks (supports fuzzy, exact matching)get_library_stats- Library statistics
Playback (6)
play_track- Play single trackplay_multiple_tracks- Play queue with native Cast supportpause_playback/resume_playbook/stop_playbook- Playbook controlget_playlist_status- Current playbook info
Navigation (4)
skip_to_next/skip_to_previous- Skip tracksskip_to_track- Jump to specific track numberseek_to_position- Seek within track
Queue & Volume (3)
manage_queue- Add/remove/shuffle/repeat queueset_volume- Volume control (0.0-1.0)manage_playlist- Create/manage playlists
š Project Structure
music-mcp-server/
āāā lm-studio.js # Main LM Studio interface (renamed)
āāā persistent-music-server.js # Background music server
āāā lm_studio_config_node.json # LM Studio configuration
āāā src/ # Core application code
ā āāā controllers/ # Music & Chromecast controllers
ā āāā services/ # Database & Chromecast services
ā āāā utils/ # Utilities & validation
āāā data/ # Database & state files
āāā docs/ # API documentation
āāā scripts/ # Utility scripts
š§ Architecture
Two-Component Design
- lm-studio.js - Ultra-fast MCP interface for LM Studio (renamed for simplicity)
- persistent-music-server.js - Background server for music operations
Why This Works
- No Timeouts: Protocol methods respond instantly
- Persistent State: Music server runs independently
- Automatic Management: Server starts/stops as needed
- Error Recovery: Robust error handling and reconnection
šµ Supported Audio Formats
- MP3, FLAC, WAV, AAC, M4A, OGG, WMA
- Full ID3 metadata support
- Automatic content-type detection
š Performance
- Library Size: 13,294+ tracks tested
- Response Time: ~20ms for protocol methods
- Memory Usage: Optimized for large libraries
- Network: Efficient Chromecast streaming
š Troubleshooting
Common Issues
- Tools not loading: Restart LM Studio after config changes
- Server not starting: Check port 8765 availability
- Chromecast not found: Ensure devices on same network
- Playback stops: Check Chromecast connection stability
Logs
- Server logs:
data/music-server.log - Check server status:
server_status()tool
š License
MIT License - See LICENSE file for details
Ready for production use with LM Studio! šµ
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.