TUI Online Music Streaming application with MCP support
tuisic3.mp4
First app of its kind, It let's you search and play online songs from cli hassle free. Now it supports AI integration through MCP (BETA). Checkout Demo's below
- Vim motions
- No browser, No Ads
- Easy downloads
- Multiple song sources
- Playlist support
- Easy Sharing
- Favourites List
- Configuration file
- Daemon mode (BETA, press 'w' to toggle)
- MPRIS DBUS support ( via
playerctl) - Cava Visualizer (BETA)
- Support for AI Integration via MCP (BETA)
- Support for Discord Rich Presence
- Lyrics support (BETA)
| Key | Action |
|---|---|
q |
quit |
w |
toggle daemon mode |
> |
next song |
< |
previous song |
<space> |
play/pause |
Alt+l |
copy url |
d |
download song |
a |
add to favourites |
. |
seek forward |
, |
seek backward |
m |
mute |
L |
Toggle lyrics |
It fetches songs from some platforms:
- JioSaavn
- SoundCloud
- LastFM
- ForestFM
- YouTube
- YouTube Music (on the way)
yay -S tuisic-git| CMake Flag | Description | Default |
|---|---|---|
-DWITH_MPRIS |
Enable MPRIS (sdbus-c++) support | ON |
-DWITH_CAVA |
Enable Cavacore-based visualizer | OFF |
-DWITH_DISCORD |
Enable Discord Rich Presence | OFF |
Update the desktop/tuisic.desktop file.
Exec=alacritty -e tuisic # Change terminal accordingly
- Install dependencies
sudo apt-get update
sudo apt-get install -y build-essential cmake pkg-config libfftw3-dev libmpv-dev libcurl4-openssl-dev libfmt-dev libsystemd-dev rapidjson-dev libpulse-dev
git clone --depth 1 https://github.com/Kistler-Group/sdbus-cpp.git
cd sdbus-cpp
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build .
sudo cmake --build . --target install
- Build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release -j$(nproc 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null || echo 2)
- Install dependencies
sudo pacman -S curl mpv fmt yt-dlp fftw sdbus-cpp rapidjson- Build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release -j$(nproc 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null || echo 2)
- Install dependencies
brew install cmake pkg-config fftw mpv curl fmt rapidjson
- Set environment variables for Homebrew paths
# Detect Homebrew prefix (Apple Silicon uses /opt/homebrew, Intel uses /usr/local)
BREW_PREFIX=$(brew --prefix)
export HOMEBREW_PREFIX=${BREW_PREFIX}
export PKG_CONFIG_PATH=${BREW_PREFIX}/lib/pkgconfig:${BREW_PREFIX}/opt/curl/lib/pkgconfig:${BREW_PREFIX}/opt/fmt/lib/pkgconfig
export CMAKE_PREFIX_PATH=${BREW_PREFIX}
export LDFLAGS=-L${BREW_PREFIX}/lib
export CPPFLAGS=-I${BREW_PREFIX}/include
- Build
cmake .. \
-DWITH_MPRIS=OFF \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_PREFIX_PATH="${HOMEBREW_PREFIX}"
cmake --build . --config Release -j$(nproc 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null || echo 2)
mkdir build && cd build
cmake .. # -DWITH_MPRIS=OFF -DWITH_CAVA=ON
make
sudo make installUse tuisic --mcp-server command in your ai client config.
Example in .config/opencode/opencode.json:
"tuisic":{
"type": "local",
"command": ["/path/to/tuisic/build/tuisic", "--mcp-server"],
"enabled": true
}- Screenshots: here scroll way down.
- Visualizer:
tuisic-visualizer-demo.mp4
- MCP Server:
tuisic-mcp-server-demo.mp4
- Discord Rich Presence:
It's open for contribution, read CONTRIBUTING.md for more information.