Tubist MCP Server
Allows playing YouTube videos through the Tubist macOS app, enabling AI assistants to search for and play YouTube audio in the background.
Click on "Deploy 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., "@Tubist MCP Server play the Billie Eilish Tiny Desk concert"
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.
Tubist MCP Server
Remember the last time when you closed a tab or quit your browser and YouTube audio abruptly stopped...? Bet you were angry.
Tubist exists for that not to happen. It's a lightweight macOS menu bar player that keeps YouTube going independently of your browser.
Tubist is available for free on the Mac App Store.
This MCP server lets Claude and other AI assistans control Tubist when asked to do so from the assistant's macOS app.
Just ask naturally:
play the Billie Eilish Tiny Desk concert
find me some jazz on YouTube for focus and play it in Tubist
look for an orchestral rendering of Super Mario music on YouTube and play it in Tubist
Features
🎬 Play any YouTube video with a simple request... (unless it longer exists 😞)
🎵 Ideal for background audio (concerts, podcasts, music)
🤖 Control via natural language through AI assistants
⚡ Instant playback - just ask and it plays without any UI interruptions
Related MCP server: YouTube MCP
Prerequisites / minimum requirements
macOS 13 (Ventura) and above
Tubist v1.3 installed (Tubist is available for free on the Mac App Store.)
Node.js 18.0.0 or higher
Claude Desktop or another MCP-compatible client
Installation
Clone this repository:
git clone https://github.com/dkasaj/tubist-mcp-server.git cd tubist-mcp-serverInstall dependencies:
npm installConfigure Claude Desktop:
Edit your Claude Desktop config file:
# On macOS nano ~/Library/Application\ Support/Claude/claude_desktop_config.jsonAdd the Tubist MCP server, use the path where you installed it:
{ "mcpServers": { "Tubist - menu bar player for YouTube": { "command": "/opt/homebrew/bin/node", "args": ["/path/to/tubist-mcp-server/index.js"] } } }Important: Replace
/path/to/tubist-mcp/index.jswith the actual path where you cloned this repo.Find your Node.js path:
which nodeUse this path instead of
/opt/homebrew/bin/nodeif different.Restart Claude Desktop completely (quit and reopen, don't just close the window)
Usage
Once configured, you can ask Claude to play YouTube videos naturally:
Examples:
"Play the Billie Eilish Tiny Desk concert"
"Find me some jazz on YouTube for focus and play it in Tubist"
"Look for an orchestral rendering of Super Mario music on YouTube and play it in Tubist"
How It Works
You make a request to Claude
Claude uses the MCP protocol to call this server
The server opens the YouTube video in Tubist using the
tubist://play?URL schemeVideo starts playing automatically
Troubleshooting
"MCP server disconnected" error
Check that the path in
claude_desktop_config.jsonis correctVerify Node.js path with
which nodeMake sure you restarted Claude Desktop completely
Video doesn't play
Ensure Tubist is installed and can be launched
Try opening Tubist manually first to verify it works
Check that the YouTube URL is valid. Claude for instance sometimes uses a link to a video that no longer exists.
Tool doesn't appear in Claude
Confirm the config file is valid JSON (use a JSON validator)
Check for log Claude Desktop logs:
~/Library/Logs/Claude/Make sure you saved the config file and restarted Claude
Technical Details
This MCP server uses the Server class with setRequestHandler pattern (rather than McpServer.tool()) due to a known bug in MCP SDK 1.25.x where arguments aren't passed correctly to tool handlers.
Tool definition:
Name:
playParameter:
url(YouTube video URL)Action: Opens video in Tubist via
tubist://play?[url]URL scheme
Contributing
Contributions welcome! Please feel free to submit a Pull Request.
License
MIT © Daniel Kašaj
Links
Made with ❤️ for background YouTube listening
Available Tools
1 toolplayA
Play a YouTube video in Tubist
Inputs: url (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 1 tool
With only one tool, there is no possibility for confusion. The tool 'play' clearly has a distinct purpose.
The single tool name 'play' is a verb that describes its action well, but with only one tool, consistency cannot be fully assessed; it is reasonable.
A single tool for a YouTube video server is too limited. Typical functionality would include search, listing, or details, making this feel incomplete.
The server only offers a 'play' action, lacking any way to discover or manage videos, which leaves obvious gaps for any practical use.
Maintenance
Related MCP Connectors
Fetch YouTube transcripts, monitor channels and track keyword matches from your AI assistant.
Search YouTube videos, read transcripts and get public video information in your AI assistant.
YouTube transcripts, search, channel/playlist listings and upload tracking for AI agents.
YouTube for AI agents: transcripts, comments, video stats, channel monitor, Shorts captions.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to search YouTube Music, manage playlists, and create smart recommendations using natural language.15MIT
- AlicenseAqualityCmaintenanceConnect AI assistants to YouTube: search, transcripts, metadata, and more.19518 npm6MIT
- AlicenseAqualityDmaintenanceEnables AI tools to access YouTube content, including transcript extraction, video/channel info, and search.435 npmMIT
- AlicenseAqualityDmaintenanceEnables AI assistants to search YouTube, fetch transcripts, and get AI summaries of videos without API keys.37 npmMIT