Add it to Claude Code
claude mcp add foo-ai -- path/to/foo_ai.exeMake your agent remember this setup
foo-ai's config, env vars, and the gotchas you hit — recalled in every future Claude Code, Cursor, and Codex session.
npx conare@latestFree · one command · indexes the sessions already on disk. Set up in the browser instead →
What it does
- Full playback control including play, pause, and volume adjustment.
- Comprehensive playlist management (create, rename, delete, and reorder).
- Library querying to find specific tracks or artists.
- Real-time resource subscriptions for track and volume updates.
- Compatible with foobar2000 v2.0+ on x86 and x64 architectures.
Tools 19
list_libraryList all tracks in the library, optionally filtered by a query string.list_playlistsList all available playlists.list_playlistList tracks in a specific playlist, optionally filtered by a query string.list_current_trackGet information about the currently playing track.add_tracksAdd tracks to a playlist.remove_tracksRemove tracks from a playlist.remove_all_tracksRemove all tracks from a playlist.move_tracksMove tracks within a playlist.set_active_playlistSet the active playlist shown in the UI.set_playing_playlistSet the playlist that foobar2000 picks tracks from.set_playback_statePlay or pause music.play_at_indexPlay a track at a specific index in the active playlist.set_focusSet the focus to a specific track in the active playlist without playing it.create_playlistCreate a new playlist.rename_playlistRename a playlist.delete_playlistDelete a playlist.set_volumeSet the volume level.toggle_muteToggle the mute state.get_volumeGet current volume and mute state.Try it
Original README from Bobini1/foo_ai
foo_ai
AI MCP control for foobar2000. Control your music player with an AI assistant!
Overview
This component starts a local Model Context Protocol server. You can connect to it with any MCP client that supports SSE (tested with GitHub Copilot and Cursor).
The AI assistant can send requests to get information from the running music player or invoke actions like play, create playlists, change volume, etc.
Compatible with foobar v2.0+, x86 and x64.
Example tasks
- "Make a new 80s rock playlist and play it."
- "What's the name of the currently playing track?"
- "Add this track to my 'Favorites' playlist."
- "What's the oldest song in my library?"
- "Turn up the volume a bit."

Installation
- Download the latest release from the Releases page.
- Double-click the downloaded
.fb2k-componentfile to install the component. - Restart foobar2000 if it's running.
- By default, the server will be listening on
http://localhost:9910/sse. You can change the host and port in settings (Preferences > Tools > AI). - Add the URL from the previous step to your MCP client and voilà!
Available features
Tools
The server provides the following tools:
list_library: List all tracks in the library. Can specify a query string.list_playlists: List all playlists.list_playlist: List tracks in a specific playlist. Can specify a query string.list_current_track: Get information about the currently playing track.add_tracks: Add tracks to a playlist.remove_tracks: Remove tracks from a playlist.remove_all_tracks: Remove all tracks from a playlist.move_tracks: Move tracks within a playlist.set_active_playlist: Set the active playlist (the one shown in the UI).set_playing_playlist: Set the playing playlist (the one the fb2k picks tracks from).set_playback_state: Play or pause music.play_at_index: Play a track at a specific index in the active playlist.set_focus: Set the focus to a specific track in the active playlist (without playing it).create_playlist: Create a new playlist.rename_playlist: Rename a playlist.delete_playlist: Delete a playlist.set_volume: Set volume.toggle_mute: Toggle mute state.get_volume: Get current volume and mute state.
Resources
The server provides a few resources. They are provided to support subscriptions. When a client subscribes to a resource, it will receive updates whenever it is updated in the player.
This isn't a crucial feature as clients can always call the tools to get the latest info, but it can be useful for real-time updates, if your MCP client supports it.
The following resources are available:
current_track://.: Contains info about the current track: when it was last changed and it's playing/paused state.playlists://.: Contains the same info as thelist_playliststool - playlist names, track counts, last modification times, active/playing states, etc.volume://.: Contains the same info as theget_volumetool.