About Tuisic
Tuisic is an MCP server published by Dark-Kernel in the Data category: first of its kind, A simple TUI online music streaming application written in c++ with easy vim motions, now with support for Model Context Protocol (MCP).
The repository has 77 stars and 6 forks, with the last commit a month ago. Recent commit activity is the strongest signal that reported issues will get attention.
Install
git clone https://github.com/Dark-Kernel/tuisicThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Tuisic
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 5 hours ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- ✓License declaredUsable under a stated license.
- !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
- !Dependencies pinnedNo lockfile. Installs can pull different code over time.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
1 check has not been run yet.
Releases
README
TUISIC
TUI Online Music Streaming application with MCP support
https://github.com/user-attachments/assets/ef349a06-0d7e-488b-aa3d-de928d9b0eef
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
Features
- 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)
- Local music library playback
When Local Music is selected from the playlist menu, Tuisic scans the path
configured under local_music.path recursively. The default is ~/Music,
which includes the requested ~/Music/mp4s/mp3s layout. Local files are played
directly through mpv, so online search and local playback can be switched
between at any time. For example:
"local_music": {
"path": "/home/user/Music"
}
Shortcuts
| 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 |
Sources
It fetches songs from some platforms:
- JioSaavn
- SoundCloud
- LastFM
- ForestFM
- YouTube
- YouTube Music (on the way)
Installation:
yay -S tuisic-git
Building from source
Build Options
| 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 |
Before Installation
Update the desktop/tuisic.desktop file.
Exec=alacritty -e tuisic # Change terminal accordingly
Debian
- 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)
Arch Linux
- 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)
MacOS
- 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)
MISC Build, Compile & Install
mkdir build && cd build
cmake .. # -DWITH_MPRIS=OFF -DWITH_CAVA=ON
make
sudo make install
Configure MCP
Use 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
}
DEMOS
- Screenshots: here scroll way down.
- Visualizer:
https://github.com/user-attachments/assets/1f512307-7c70-466d-9cd0-529e195871d0
- MCP Server:
https://github.com/user-attachments/assets/7601312a-9bca-4970-90a3-4a917fbe2fda
- Discord Rich Presence:
Thanks to all.
Contribution
It's open for contribution, read CONTRIBUTING.md for more information.
README fetched from the repository 5 hours ago. The original is authoritative.