Media Automation Hub (YARR)
About
Integrates with popular media automation services including Sonarr, Radarr, and Plex to provide a unified interface for searching, monitoring, and managing media collections without switching between multiple web interfaces.
Details
- Author
- jmagar
- Repository
- dinglebear-ai/yarr
- GitHub stars
- 2
- License
- GNU Affero General Public License v3.0
- Categories
- Productivity, Developer Tools, Design, Media, Search, Infrastructure, API, Frontend
- Tags
- #web
Jump to
yarr wraps a configured media automation fleet through one action-dispatched
service layer. The same implementation backs MCP and CLI calls, so behavior
does not drift between "agent used the tool" and "operator ran the command."
Primary capabilities:
- Fleet status checks across the configured services.
- Credentialed upstream API passthrough for known service kinds.
- Table-driven OpenAPI operation metadata for Sonarr, Radarr, Prowlarr,
Overseerr, Jellyfin, and Plex. The executor preserves the declared parameter,
request-media, and successful-response transport contract; unsupported rows
are excluded and listed in the generated
capability matrix.
- Curated commands for SABnzbd, qBittorrent, Tautulli, Bazarr, and Tracearr,
whose upstreams do not ship usable machine-readable specs.
- Code Mode over MCP for multi-step media automation scripts.
- Snippet storage and execution for repeatable Code Mode workflows.
- Skills-only direct-HTTP plugin fallbacks for each individual service.
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Media Automation Hub (YARR)Command (node, npx, python, etc.)yarrArguments-
Argument 1
mcp
Environment-
YARR_SERVICES
sonarr -
YARR_SONARR_URL
http://127.0.0.1:8989 -
YARR_SONARR_API_KEY
$${YARR_SONARR_API_KEY}
Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
service_status
Fetch an upstream service status endpoint.
api_get
Proxy a credentialed GET request.
api_post
Proxy a POST request.
api_put
Proxy a PUT request.
api_delete
Proxy a DELETE request.
help
Return action reference.
codemode
Run a JS arrow function over the fleet.
op
Dispatch a generated OpenAPI operation.
snippet_list
List saved snippets.
snippet_save
Save a reusable snippet.
snippet_run
Run a saved snippet.
snippet_delete
Delete a saved snippet.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"media automation hub (yarr)": {
"env": {
"YARR_SERVICES": "sonarr",
"YARR_SONARR_URL": "http://127.0.0.1:8989",
"YARR_SONARR_API_KEY": "$${YARR_SONARR_API_KEY}"
},
"args": [
"mcp"
],
"command": "yarr"
}
}
}
Linux
{
"env": {
"YARR_SERVICES": "sonarr",
"YARR_SONARR_URL": "http://127.0.0.1:8989",
"YARR_SONARR_API_KEY": "$${YARR_SONARR_API_KEY}"
},
"args": [
"mcp"
],
"command": "yarr"
}
Macos
{
"env": {
"YARR_SERVICES": "sonarr",
"YARR_SONARR_URL": "http://127.0.0.1:8989",
"YARR_SONARR_API_KEY": "$${YARR_SONARR_API_KEY}"
},
"args": [
"mcp"
],
"command": "yarr"
}
Windows
{
"env": {
"YARR_SERVICES": "sonarr",
"YARR_SONARR_URL": "http://127.0.0.1:8989",
"YARR_SONARR_API_KEY": "$${YARR_SONARR_API_KEY}"
},
"args": [
"/c",
"yarr",
"mcp"
],
"command": "cmd"
}
yarr
Self-hosted media fleet operations across Sonarr, Radarr, Plex, and related apps over MCP and CLI.
If you run Claude Code, Codex, or Gemini CLI against a self-hosted media stack,
yarr gives an agent one consistent way to query and control all of it instead
of eleven different ad hoc integrations. It is an upstream-client MCP server:
it does not replace those applications or mirror every REST endpoint as a web
UI. Its job is to provide one consistent tool surface for agents and one
equivalent CLI surface for operators.
Not for: a general-purpose REST gateway to arbitrary services, or a
scheduler/automation engine in its own right. yarr only talks to the service
kinds it knows about, and only does what you or your agent ask it to do.
Contents
- Naming
- Capabilities And Boundaries
- Install
- Unraid Plugin
- Quickstart
- Client Configuration
- Runtime Surfaces
- MCP Tool Reference
- CLI Reference
- Configuration
- Authentication
- Safety And Trust Model
- Architecture
- Distribution Contract
- Development
- Verification
- Deployment
- Troubleshooting
- Related Servers
- Documentation
- License
Naming
This repository is published at github.com/dinglebear-ai/yarr.
The Rust package and installed binary are both yarr. The npm launcher package
is yarr-mcp because the shorter yarr name is occupied on npm; installing the
launcher still gives you a yarr command. The MCP registry name is
ai.dinglebear/yarr, and Docker images use ghcr.io/dinglebear-ai/yarr.
Production Compose deployments select that image by immutable manifest digest.
Plugin naming is intentionally split:
- yarr is the full MCP server plugin. It launches the repository-coupled
@dinglebear/yarr npm package over stdio and includes every per-service fallback
skill; it does not commit a platform-specific binary.
- sonarr, radarr, prowlarr, overseerr, sabnzbd, qbittorrent, plex,
jellyfin, tautulli, tracearr, and bazarr are skills-only plugins with
no MCP server and no bundled binary.
Capabilities And Boundaries
yarr wraps a configured media automation fleet through one action-dispatched
service layer. The same implementation backs MCP and CLI calls, so behavior
does not drift between "agent used the tool" and "operator ran the command."
Primary capabilities:
- Fleet status checks across the configured services.
- Credentialed upstream API passthrough for known service kinds.
- Table-driven OpenAPI operation metadata for Sonarr, Radarr, Prowlarr,
Overseerr, Jellyfin, and Plex. The executor preserves the declared parameter,
request-media, and successful-response transport contract; unsupported rows
are excluded and listed in the generated
capability matrix.
- Curated commands for SABnzbd, qBittorrent, Tautulli, Bazarr, and Tracearr,
whose upstreams do not ship usable machine-readable specs.
- Code Mode over MCP for multi-step media automation scripts.
- Snippet storage and execution for repeatable Code Mode workflows.
- Skills-only direct-HTTP plugin fallbacks for each individual service.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





