Sandbox
@Dark-Kernel/tuisic

Terminal music player with MCP server support

TUISIC is a terminal app for searching and playing online songs with vim motions, playlists, downloads, favourites, and lyrics. It also includes optional MPRIS, Cava visualizer, Discord Rich Presence, and an MCP server mode for AI client integration.

71 stars6 forksC++Updated 2mo ago
Who it's for

Builders who want a keyboard-driven music player in the terminal, plus optional MCP integration.

What it delivers

You can listen to online music from the terminal and expose the app through MCP when you want AI client access.

What it does

Vim-style controls

Uses keyboard motions and shortcuts like `q`, `w`, `>`, `<`, and `space` for playback control.

Online song search and playback

Fetches music from JioSaavn, SoundCloud, LastFM, ForestFM, and YouTube.

Downloads, playlists, and favourites

Supports downloading songs, managing playlists, and saving favourites.

MCP server mode

Can run with `--mcp-server` so an AI client can connect to it.

Optional integrations

Includes support for MPRIS via DBus, a Cava visualizer, Discord Rich Presence, and lyrics in beta.

How to get it

  1. 1Using AUR package
    yay -S tuisic-git
  2. 2Update the desktop/tuisic.desktop file.
    Exec=alacritty -e tuisic # Change terminal accordingly
  3. 3Install 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
  4. 4If you want to use MPRIS then install sdbus-cpp
    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
  5. 5Build
    cmake .. -DCMAKE_BUILD_TYPE=Release
    cmake --build . --config Release -j$(nproc 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null || echo 2)
  6. 6Install dependencies
    sudo pacman -S curl mpv fmt yt-dlp fftw sdbus-cpp rapidjson

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)

Shortcuts

KeyAction
qquit
wtoggle daemon mode
>next song
<previous song
<space>play/pause
Alt+lcopy url
ddownload song
aadd to favourites
.seek forward
,seek backward
mmute
LToggle lyrics

Sources

It fetches songs from some platforms:

  • JioSaavn
  • SoundCloud
  • LastFM
  • ForestFM
  • YouTube
  • YouTube Music (on the way)

Installation:

  1. Check releases

  2. Using AUR package

yay -S tuisic-git

Building from source

Build Options

CMake FlagDescriptionDefault
-DWITH_MPRISEnable MPRIS (sdbus-c++) supportON
-DWITH_CAVAEnable Cavacore-based visualizerOFF
-DWITH_DISCORDEnable Discord Rich PresenceOFF

Before Installation

Update the desktop/tuisic.desktop file.

Exec=alacritty -e tuisic # Change terminal accordingly

Debian

  1. 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
  1. If you want to use MPRIS then install sdbus-cpp
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
  1. 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

  1. Install dependencies
sudo pacman -S curl mpv fmt yt-dlp fftw sdbus-cpp rapidjson
  1. 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

  1. Install dependencies
brew install cmake pkg-config fftw mpv curl fmt rapidjson
  1. 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
  1. 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

  1. Screenshots: here scroll way down.
1762971302 2025-09-17_21-34-11
  1. Visualizer:

https://github.com/user-attachments/assets/1f512307-7c70-466d-9cd0-529e195871d0

  1. MCP Server:

https://github.com/user-attachments/assets/7601312a-9bca-4970-90a3-4a917fbe2fda

  1. Discord Rich Presence:
1763375799

Thanks to all.

Contribution

It's open for contribution, read CONTRIBUTING.md for more information.

Files in the repo

Repository payload17 top-level entries
  • .github
  • desktop
  • docs
  • example
  • src
  • .gitignore
  • .gitmodules
  • cava
  • CMakeLists.txt
  • CODE_OF_CONDUCT.md
  • CONTRIBUTING.md
  • discord-rpc
  • install.sh
  • LICENSE
  • README.md
  • TODO.md
  • tuisic.pc.in

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More other

tinyhumansai/
openhuman

OpenHuman is an open source personal AI for Mac, Windows and Linux — local-first memory, agent orchestration, and deep research.

40k

AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs

52k

Capture first. Organize later. A local-first Markdown app that turns scattered records into clear notes with AI.

13k

Tu asistente personal, directamente en tu ordenador. Habla contigo por voz, gestiona WhatsApp, atiende llamadas, consulta la web y recuerda lo importante. Una inteligencia artificial diseñada para trabajar de forma local, privada y autónoma, sin depender de la nube.

73

Personal AI desktop agent for Windows, macOS, Linux, Android & iOS. Set a goal, it works on its own. Teams (pair two desktops, agents + humans), Agent2Agent, Workflows, Codework, multi-agent orgs, desktop + browser automation. 15+ AI providers, BYOK. No Docker, no terminal. Agent Skills (SKILL.md). Migration importer. Recurring autonomous tasks.

1.9k
sosoj92/
jarvis-assistant-vocal

Assistant vocal local en francais : Claude ou Ollama (offline), domotique Hue, OBS, agenda, navigateur, appels Twilio, serveur MCP. Python.

250