Planned integration for media server management according to the README.
Planned integration for torrent download management according to the README.
Planned integration for movie management according to the README.
Provides tools for TV show management, including searching, listing, adding series, monitoring seasons, managing download queue, and viewing upcoming episodes.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@YARR Media Stack MCP Serverwhat new TV shows are available to request?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
๐ฌ YARR Media Stack MCP Server
A comprehensive Model Context Protocol (MCP) server that bridges the gap between Large Language Models (LLMs) and your self-hosted media technology stack. This project enables intelligent automation and natural language control of your media services while maintaining traditional programmatic access.
๐ฏ Key Features
๐ค LLM-powered natural language control of media services
๐ Modular architecture for easy service integration
๐ Unified API gateway for traditional access
๐ฎ Web UI for visual control (planned)
๐ Direct API access without LLM middleware
๐งฉ Extensible plugin system for new services
Related MCP server: OpenAPI MCP Server
๐ Documentation
๐๏ธ Project Structure
This monorepo is organized into modular packages, each serving a specific purpose:
๐ฆ
packages/server: Core MCP server implementation๐
packages/web: Web UI interface (planned)๐ฌ
packages/chatbot: LLM chat interface (planned)๐
packages/api-gateway: API routing and service coordination (planned)
๐ง Integrated Services
โ Currently Supported
Gotify - Notification Management
Sonarr - TV Show Management
Prowlarr - Indexer Management
Overseerr - Request Management
๐ง Planned Integrations
Radarr - Movie Management
qBittorrent - Torrent Management
SABnzbd - Usenet Downloads
Plex - Media Server
Tautulli - Server Statistics
TMDB - Media Database
๐ Service Documentation
๐ข Currently Integrated
๐ Planned Integration
๐งช Development
Testing Tools
๐ ๏ธ SDK References
๐๏ธ Architecture
The project follows a modular architecture where each service package contains:
๐ API client implementation
๐ Type definitions
๐ ๏ธ MCP tools for service interaction
๐ฃ๏ธ API routes
This architecture supports multiple interaction methods:
LLM-Powered Control: Natural language processing for intuitive media management
Traditional API Access: Direct API calls through the unified gateway
Web Interface: Visual control panel for service management (planned)
Chatbot Interface: Conversational UI for service control (planned)
The modular design allows for:
Easy addition of new services
Independent service deployment
Flexible interaction methods
Consistent API patterns across services
๐ Getting Started
Prerequisites
# Clone and setup repository
git clone https://github.com/jmagar/yarr
cd yarr
pnpm installConfiguration
Create
.envfile from template:
cp .env.template .envThen add your service API keys:
# Sonarr Configuration
SONARR_URL=http://localhost:8989
SONARR_API_KEY=your_sonarr_api_key
# Prowlarr Configuration
PROWLARR_URL=http://localhost:9696
PROWLARR_API_KEY=your_prowlarr_api_key
# Overseerr Configuration
OVERSEERR_URL=http://localhost:5055
OVERSEERR_API_KEY=your_overseerr_api_key
# Gotify Configuration
GOTIFY_URL=http://localhost:8080
GOTIFY_APP_TOKEN=your_gotify_app_token
GOTIFY_CLIENT_TOKEN=your_gotify_client_token # Optional, for receiving messagesConfigure Claude Desktop:
Important: Use full paths in your configuration to ensure Claude Desktop can find the executables and project directory.
{
"mcpServers": {
"yarr": {
"command": "C:\\Program Files\\nodejs\\node.exe",
"args": ["C:\\path\\to\\yarr\\packages\\server\\dist\\index.js"],
"cwd": "C:\\path\\to\\yarr",
"transport": {
"type": "stdio"
},
"env": {
"NODE_ENV": "production",
"PROWLARR_URL": "http://localhost:9696",
"PROWLARR_API_KEY": "your_prowlarr_api_key",
"SONARR_URL": "http://localhost:8989",
"SONARR_API_KEY": "your_sonarr_api_key",
"OVERSEERR_URL": "http://localhost:5055",
"OVERSEERR_API_KEY": "your_overseerr_api_key",
"GOTIFY_URL": "http://localhost:8080",
"GOTIFY_APP_TOKEN": "your_gotify_app_token",
"GOTIFY_CLIENT_TOKEN": "your_gotify_client_token"
}
}
}
}Note: Replace
C:\\path\\to\\yarrwith your actual project directory path.
Available Tools
Sonarr
// Series Management
sonarr:search - Search for TV shows
sonarr:list-series - List all monitored TV series
sonarr:series-details - Get detailed information about a series
sonarr:add-series - Add a new series to monitor
sonarr:monitor-season - Monitor or unmonitor a season
sonarr:list-profiles - List quality and language profiles
sonarr:upcoming - Get upcoming episodes
sonarr:queue - Get current download queue
sonarr:remove-from-queue - Remove item from download queueProwlarr
prowlarr:search - Search across all indexers
prowlarr:list-indexers - List configured indexers
prowlarr:indexer-stats - Get indexer performance stats
prowlarr:check-config - Validate Prowlarr connectionOverseerr
overseerr:search - Search for movies and TV shows
overseerr:request - Request a movie or TV show
overseerr:list-requests - List media requests
overseerr:update-request - Update request status
overseerr:trending - Get trending media with recommendations
overseerr:available - Get popular available media
overseerr:status - Get system statusGotify
gotify:messages:list - List messages with pagination
gotify:messages:send - Send a new message
gotify:messages:delete - Delete a message by ID
gotify:messages:cleanup - Delete old messages
gotify:apps:list - List all applications
gotify:apps:create - Create a new application
gotify:clients:list - List all clients
gotify:clients:create - Create a new client
gotify:health - Check Gotify server health
gotify:stats - Get Gotify statistics