MCP Hub
Back to servers

radiomcp

Internet radio streaming MCP server — search, play, and manage radio stations worldwide

Registry
Updated
Mar 16, 2026

Airtune

Search and play 55,000+ internet radio stations from 200+ countries.

Powered by Airtune API | korean

Components

ComponentDescription
radiomcpMCP Server + HTTP API + CLI - integrates with Claude Desktop, Codex, GPT
radioTUI App - interactive terminal player

radiomcp (MCP Server)

Installation

pip install radiomcp

Player Installation (Optional)

Install one of the following for better playback quality. Falls back to browser if none installed.

PlayermacOSLinuxWindows
mpv (recommended)brew install mpvapt install mpvwinget install mpv
VLCbrew install vlcapt install vlcvlc.io
ffplaybrew install ffmpegapt install ffmpegffmpeg.org

Auto-detection priority: mpv > vlc > ffplay > browser

Claude Desktop Configuration

claude_desktop_config.json:

{
  "mcpServers": {
    "radio": {
      "command": "python3",
      "args": ["-m", "radiomcp"]
    }
  }
}

CLI Mode

radiomcp search jazz
radiomcp search "korean news"
radiomcp play <url> "Station Name"
radiomcp stop
radiomcp now
radiomcp recommend focus
radiomcp update              # Update station DB from Airtune API
radiomcp serve --port 8100   # Start HTTP API server

Usage with Claude

Ask Claude in natural language:

  • "Play some jazz radio"
  • "Find Korean news stations"
  • "What's playing now?"
  • "Stop the radio"

Player Backends

BackendDescription
mpvBest quality, auto-reconnect, ICY metadata
vlcWidely installed, stable
ffplayIncluded with ffmpeg, lightweight
browserNo installation needed, auto fallback

See radiomcp/README.md for details.


radio (TUI)

Interactive terminal player for internet radio. Installed with pip install radiomcp.

Installation

# Required
brew install mpv

# Optional (for song recognition)
brew install ffmpeg
pip install openai-whisper

Run

radio

Usage

Search

> jazz              # keyword search
> korea news        # combined search
> relaxing music    # mood search
> japan classical   # multilingual
KeyFunction
gGenre selection
cCountry selection
pPopular stations
hHigh quality (256k+)
/Search mode
!Toggle search mode (DB only/DB+API)

Search Modes

ModeSpeedDescription
DB only0.1sLocal SQLite (default, instant)
DB+API1s+Includes RadioGraph API

Toggle with ! key

AI Recommendations

KeyFunction
aPersonalized recommendations
tView taste analysis
wTime-based mood recommendations

Song Info

KeyFunction
nCurrent song
iSong recognition (Shazam-like)
ilRecognized songs list

Song History (Auto)

Songs are automatically saved when track changes.

KeyFunction
slView song history
stToggle song history on/off
scClear song history

Favorites

KeyFunction
fView favorites
+Add to favorites
-Remove from favorites
<Previous favorite
>Next favorite
lPlaylists
pl name typeCreate playlist

Playlist types: favorites, history, mood, ai, tag:jazz, country:KR

Playback

KeyFunction
numberPlay station
rResume last station
sStop
qQuit

Auto-fetches latest URL on play (handles token expiration)

Volume Control

KeyFunction
vShow volume
v+Volume up
v-Volume down
v50Set volume to 50%

DJ Mode

RADIOCLI_DJ=1 radio
KeyFunction
dToggle DJ mode

Supports 10 languages: English, Korean, Japanese, French, German, Spanish, Chinese, Portuguese, Russian, Italian

DB Management

radio --db-stats         # DB statistics
radio --cleanup          # Clean dead stations
radiomcp update          # Sync latest stations from RadioGraph API

Multilingual Search

Supports 50+ languages including:

LanguageExampleConverts to
Englishjazz, classical, newsjazz, classical, news
Koreanjazz, classical, newsjazz, classical, news
Japaneseジャズ, クラシックjazz, classical
Chinese爵士乐, 古典音乐jazz, classical
Russianджаз, классикаjazz, classical
Arabicموسيقى, أخبارmusic, news
Hindiसंगीत, समाचारmusic, news

Quality Filters

Include in search:

KeywordFilter
HQ, high quality192k+
HD256k+
LQ, low quality96k or less

Example: jazz HQ

Environment Variables

VariableDescriptionDefault
RADIOCLI_LLMLLM providernone
RADIOCLI_DJDJ mode0
RADIOCLI_LANGUI languageauto
RADIOCLI_VOICETTS voiceen-US-JennyNeural
OLLAMA_MODELOllama modelllama3.2
OLLAMA_URLOllama serverhttp://localhost:11434
ANTHROPIC_API_KEYClaude API key-
OPENAI_API_KEYOpenAI API key-

TTS Voices

VoiceLanguage
en-US-JennyNeuralEnglish (Female)
ko-KR-SunHiNeuralKorean (Female)
ja-JP-NanamiNeuralJapanese (Female)
fr-FR-DeniseNeuralFrench (Female)
de-DE-KatjaNeuralGerman (Female)
zh-CN-XiaoxiaoNeuralChinese (Female)

Data Storage

~/.radiocli/
├── favorites.json        # Favorites
├── history.json          # Listening history (stations)
├── songs.json            # Song history (auto)
├── recognized_songs.json # Recognized songs
├── playlists.json        # Playlists
└── mpv.sock              # mpv socket

Station DB (radio_stations.db, 24k+ stations) is bundled with the package and stored in ~/.radiocli/ after first run. Use radiomcp update to sync latest stations.

Dependencies

  • Python 3.9+
  • mpv (required for CLI)
  • ffmpeg (for song recording)
  • openai-whisper (for DJ speech recognition, optional)
  • edge-tts (for DJ mode)
  • ollama (for LLM, optional)

Architecture

See docs/ARCHITECTURE.md for system architecture.

Data Pipeline (g3 server):

  • Daily URL validation & new station sync
  • Korean broadcaster URL resolvers (KBS, MBC, YTN)
  • 40,000+ stations from Radio Browser + Icecast

License

Reviews

No reviews yet

Sign in to write a review