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
Related MCP server: OpenAPI MCP Server
📚 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:
Control impulsado por LLM : procesamiento del lenguaje natural para una gestión intuitiva de los medios
Acceso a API tradicional : llamadas API directas a través de la puerta de enlace unificada
Interfaz web : Panel de control visual para la gestión de servicios (planificado)
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 installConfiguración
Crear un archivo
.enva partir de una plantilla:
cp .env.template .envA 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 messagesConfigurar 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\\yarrcon 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 queueMerodeador
prowlarr:search - Search across all indexers
prowlarr:list-indexers - List configured indexers
prowlarr:indexer-stats - Get indexer performance stats
prowlarr:check-config - Validate Prowlarr connectionSupervisor
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