🎬 YARR 미디어 스택 MCP 서버
대규모 언어 모델(LLM)과 자체 호스팅 미디어 기술 스택 간의 간극을 메우는 포괄적인 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 프로젝트는 기존의 프로그래밍 방식 접근을 유지하면서 미디어 서비스의 지능형 자동화 및 자연어 제어를 지원합니다.
🎯 주요 특징
🤖 LLM 기반 미디어 서비스 자연어 제어
🔌 쉬운 서비스 통합을 위한 모듈형 아키텍처
🔄 기존 접근 방식을 위한 통합 API 게이트웨이
🎮 시각적 제어를 위한 웹 UI(계획 중)
🔐 LLM 미들웨어 없이 직접 API 액세스
🧩 새로운 서비스를 위한 확장 가능한 플러그인 시스템
Related MCP server: OpenAPI MCP Server
📚 문서
🏗️ 프로젝트 구조
이 모노레포는 각각 특정 목적을 수행하는 모듈형 패키지로 구성됩니다.
📦
packages/server: 핵심 MCP 서버 구현🌐
packages/web: 웹 UI 인터페이스(계획 중)💬
packages/chatbot: LLM 채팅 인터페이스(계획 중)🔀
packages/api-gateway: API 라우팅 및 서비스 조정(계획됨)
🔧 통합 서비스
✅ 현재 지원됨
Gotify - 알림 관리
소나르 - TV 쇼 매니지먼트
Prowlarr - 인덱서 관리
감독자 - 요청 관리
🚧 계획된 통합
레이더 - 영화 관리
qBittorrent - 토런트 관리
SABnzbd - 유즈넷 다운로드
Plex - 미디어 서버
Tautulli - 서버 통계
TMDB - 미디어 데이터베이스
📖 서비스 문서
🟢 현재 통합됨
📋 계획된 통합
🧪 개발
테스트 도구
🛠️ SDK 참조
🏛️ 건축
이 프로젝트는 각 서비스 패키지에 다음이 포함된 모듈형 아키텍처를 따릅니다.
🔌 API 클라이언트 구현
📝 유형 정의
🛠️ 서비스 상호작용을 위한 MCP 도구
🛣️ API 경로
이 아키텍처는 여러 가지 상호 작용 방법을 지원합니다.
LLM 기반 제어 : 직관적인 미디어 관리를 위한 자연어 처리
기존 API 액세스 : 통합 게이트웨이를 통한 직접 API 호출
웹 인터페이스 : 서비스 관리를 위한 시각적 제어판(계획)
챗봇 인터페이스 : 서비스 제어를 위한 대화형 UI (계획 중)
모듈식 설계로 다음과 같은 이점이 있습니다.
새로운 서비스를 쉽게 추가할 수 있습니다
독립적인 서비스 배포
유연한 상호작용 방식
서비스 전반에 걸쳐 일관된 API 패턴
🚀 시작하기
필수 조건
지엑스피1
구성
템플릿에서
.env파일을 만듭니다.
cp .env.template .env그런 다음 서비스 API 키를 추가합니다.
# 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 messagesClaude Desktop 구성:
중요 : Claude Desktop이 실행 파일과 프로젝트 디렉터리를 찾을 수 있도록 구성에서 전체 경로를 사용하세요.
{
"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"
}
}
}
}참고:
C:\\path\\to\\yarr실제 프로젝트 디렉토리 경로로 바꾸세요.
사용 가능한 도구
소나르
// 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프로울라르
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감독관
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: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