MCP server/other

foo-ai MCP Server

Control your music player with an AI assistant!

★ 2Bobini1/foo_ai ↗by Bobini1updated
1

Add it to Claude Code

claude mcp add foo-ai -- path/to/foo_ai.exe
2

Make 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@latest

Free · 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

Make a new 80s rock playlist and play it.
What's the name of the currently playing track?
Add the current track to my 'Favorites' playlist.
What is the oldest song in my library?
Turn up the volume a bit.
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."

Example - creating a playlist with Kaczmarski's best songs

Installation

  1. Download the latest release from the Releases page.
  2. Double-click the downloaded .fb2k-component file to install the component.
  3. Restart foobar2000 if it's running.
  4. By default, the server will be listening on http://localhost:9910/sse. You can change the host and port in settings (Preferences > Tools > AI).
  5. 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 the list_playlists tool - playlist names, track counts, last modification times, active/playing states, etc.
  • volume://.: Contains the same info as the get_volume tool.

Frequently Asked Questions

What are the key features of foo-ai?

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..

What can I use foo-ai for?

Hands-free music control while working at your computer.. Automated playlist generation based on AI-curated themes.. Quickly organizing large music libraries using natural language commands.. Integrating music playback status into AI-driven desktop dashboards..

How do I install foo-ai?

Install foo-ai by running: Download .fb2k-component from GitHub releases and double-click to install.

What MCP clients work with foo-ai?

foo-ai works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Conare · memory for coding agents

Turn this server into reusable context

Keep foo-ai docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Set up free$npx conare@latest