An MCP server for discovering public radio stations and stream URLs through Radio Browser
Project description
Oremi Rediyo
Oremi Rediyo is an MCP server for internet radio streaming. It provides AI assistants and autonomous agents with a unified interface to discover, search, and play radio stations from around the world through the Model Context Protocol (MCP).
Built to run in Docker, Oremi Rediyo offers reliable access to thousands of internet radio stations, allowing agents to browse stations by name, country, language, genre, or popularity, and control playback using a standardized MCP interface.
The name Oremi Rediyo comes from the Yoruba language. Oremi means "my friend", reflecting the project's goal of building a helpful and trustworthy AI ecosystem. Rediyo is the Yoruba word for "radio", representing the service's responsibility for discovering and streaming internet radio stations through a unified MCP interface.
Core Capabilities
- Search by station name, UUID, codec, country, country code, state, language, or tag
- Return complete station metadata, including the preferred
url_resolvedstream URL - Browse countries, languages, and tags with station counts
- Inspect Radio Browser service statistics
- Register a Radio Browser click when playback starts
- Configure timeouts, result limits, broken-station filtering, HTTP binding, API prefix, and logging through environment variables
- Serve MCP over Streamable HTTP
- Run as a lightweight Docker container with simple deployment.
- Integrate seamlessly with the Oremi ecosystem and other MCP-compatible clients.
MCP tools
| Tool | Purpose |
|---|---|
search_radio_stations |
Discover stations and their stream URLs |
get_radio_station |
Retrieve current metadata for one station UUID |
list_radio_countries |
Browse countries and station counts |
list_radio_languages |
Browse languages and station counts |
list_radio_tags |
Browse genres/tags and station counts |
get_radio_browser_stats |
Inspect directory status and totals |
register_radio_playback |
Register a click after playback actually starts |
Search results expose both url and url_resolved. Prefer url_resolved for
playback because Radio Browser has already followed playlist/redirect URLs.
Documentation
All project documentation—including architecture details, configuration reference, and the Home Assistant integration guide—can be found at: https://demsking.gitlab.io/oremi-rediyo/
Development
Oremi Device is built with Python and uses uv for dependency management. The
project follows standard Python development practices with type hints, linting,
and automated testing.
For detailed information on setting up your development environment, running tests, code style guidelines, and the pull request process, please refer to CONTRIBUTING.md.
Versioning
This project adheres to Semantic Versioning (SemVer).
Version numbers follow the MAJOR.MINOR.PATCH format:
- MAJOR version increments for incompatible API changes
- MINOR version increments for backward-compatible new functionality
- PATCH version increments for backward-compatible bug fixes
License
Copyright 2026 Sébastien Demanou. All Rights Reserved.
Licensed under the Apache License, Version 2.0. See the LICENSE for the complete license text.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file oremi_rediyo-1.0.0b1-py3-none-any.whl.
File metadata
- Download URL: oremi_rediyo-1.0.0b1-py3-none-any.whl
- Upload date:
- Size: 23.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b2c4a8c59940d72bad6335637b1e8e0641fe3d2e91544ba145a202f2ad82266
|
|
| MD5 |
7d07b214fd56170fc8d8c03aeda07ce5
|
|
| BLAKE2b-256 |
181a59a2a40fc78bd29c08b3c4db1395c836010f36ab5fd9ad90c5ce25381728
|