YARR Media Stack MCP Server

by jmagar
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • 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.

Servidor MCP de pila de medios YARR

Un servidor integral de Protocolo de Contexto de Modelo (MCP) que conecta los Modelos de Lenguaje Grandes (LLM) con su pila de tecnología multimedia autoalojada. Este proyecto permite la automatización inteligente y el control del lenguaje natural de sus servicios multimedia, manteniendo al mismo tiempo el acceso programático tradicional.

🎯 Características principales

  • Control de lenguaje natural de servicios multimedia impulsado por LLM
  • 🔌 Arquitectura modular para una fácil integración de servicios
  • Puerta de enlace API unificada para acceso tradicional
  • 🎮 Interfaz web para control visual (planificado)
  • Acceso directo a la API sin middleware LLM
  • 🧩 Sistema de plugins extensible para nuevos servicios

📚 Documentación

🏗️ Estructura del proyecto

Este monorepositorio está organizado en paquetes modulares, cada uno de los cuales cumple una finalidad específica:

  • 📦 packages/server : Implementación del servidor MCP principal
  • 🌐 packages/web : Interfaz de usuario web (planificada)
  • 💬 packages/chatbot : Interfaz de chat LLM (planificada)
  • 🔀 packages/api-gateway : enrutamiento de API y coordinación de servicios (planificado)

🔧 Servicios Integrados

✅ Actualmente compatible

  • Gotify - Gestión de notificaciones
  • Sonarr - Gestión de programas de televisión
  • Prowlarr - Gestión de indexadores
  • Overseerr - Gestión de solicitudes

🚧 Integraciones planificadas

  • Radarr - Gestión de películas
  • qBittorrent - Gestión de torrents
  • SABnzbd - Descargas de Usenet
  • Plex - Servidor multimedia
  • Tautulli - Estadísticas del servidor
  • TMDB - Base de datos de medios

📖 Documentación del servicio

🟢 Actualmente Integrado

Integración planificada

🧪 Desarrollo

Herramientas de prueba

Referencias del SDK

🏛️ Arquitectura

El proyecto sigue una arquitectura modular donde cada paquete de servicios contiene:

  • 🔌 Implementación del cliente API
  • 📝 Definiciones de tipos
  • 🛠️ Herramientas MCP para la interacción con el servicio
  • 🛣️ Rutas API

Esta arquitectura admite múltiples métodos de interacción:

  1. Control impulsado por LLM : procesamiento del lenguaje natural para una gestión intuitiva de los medios
  2. Acceso a API tradicional : llamadas API directas a través de la puerta de enlace unificada
  3. Interfaz web : Panel de control visual para la gestión de servicios (planificado)
  4. Interfaz de chatbot : interfaz de usuario conversacional para el control del servicio (planificado)

El diseño modular permite:

  • Fácil incorporación de nuevos servicios
  • Despliegue de servicios independientes
  • Métodos de interacción flexibles
  • Patrones de API consistentes en todos los servicios

🚀 Primeros pasos

Prerrequisitos

# Clone and setup repository git clone https://github.com/jmagar/yarr cd yarr pnpm install

Configuración

  1. Crear un archivo .env a partir de una plantilla:
cp .env.template .env

A continuación, agregue sus claves API de servicio:

# 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 messages
  1. Configurar Claude Desktop:

Importante : utilice rutas completas en su configuración para garantizar que Claude Desktop pueda encontrar los ejecutables y el directorio del proyecto.

{ "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" } } } }

Nota: reemplace C:\\path\\to\\yarr con la ruta del directorio de su proyecto actual.

Herramientas disponibles

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 queue

Merodeador

prowlarr:search - Search across all indexers prowlarr:list-indexers - List configured indexers prowlarr:indexer-stats - Get indexer performance stats prowlarr:check-config - Validate Prowlarr connection

Supervisor

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 status

Gotify

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
-
security - not tested
F
license - not found
-
quality - not tested

Un servidor de protocolo de contexto de modelo integral que conecta los LLM con los servicios de medios autohospedados, lo que permite el control del lenguaje natural de programas de TV, películas, descargas y notificaciones mientras mantiene el acceso API tradicional.

  1. 🎯 Key Features
    1. 📚 Documentation
      1. 🏗️ Project Structure
        1. 🔧 Integrated Services
      2. 📖 Service Documentation
        1. 🟢 Currently Integrated
        2. 📋 Planned Integration
      3. 🧪 Development
        1. Testing Tools
        2. 🛠️ SDK References
      4. 🏛️ Architecture
        1. 🚀 Getting Started
          1. Prerequisites
          2. Configuration
          3. Available Tools
        ID: 8jbxkdiwqx