🎬 YARR メディアスタック MCP サーバー
大規模言語モデル(LLM)とセルフホスト型メディアテクノロジースタック間のギャップを埋める、包括的なモデルコンテキストプロトコル(MCP)サーバー。このプロジェクトは、従来のプログラムによるアクセスを維持しながら、メディアサービスのインテリジェントな自動化と自然言語による制御を実現します。
🎯 主な機能
🤖 LLM を活用したメディアサービスの自然言語制御
🔌 サービス統合を容易にするモジュール型アーキテクチャ
🔄 従来のアクセスのための統合 API ゲートウェイ
🎮 視覚的な制御のためのWeb UI(計画中)
🔐 LLMミドルウェアなしで直接APIアクセス
🧩 新しいサービスのための拡張可能なプラグインシステム
Related MCP server: OpenAPI MCP Server
📚 ドキュメント
🏗️ プロジェクト構造
このモノレポは、それぞれが特定の目的を果たすモジュール パッケージに編成されています。
📦
packages/server: コア MCP サーバーの実装🌐
packages/web: Web UI インターフェース(計画中)💬
packages/chatbot: LLM チャットインターフェース (計画中)🔀
packages/api-gateway: API ルーティングとサービス調整 (計画中)
🔧 統合サービス
✅ 現在サポートされている
Gotify - 通知管理
Sonarr - テレビ番組管理
Prowlarr - インデクサー管理
Overseer - リクエスト管理
🚧 計画されている統合
Radarr - 映画管理
qBittorrent - トレント管理
SABnzbd - Usenet ダウンロード
Plex - メディアサーバー
Tautulli - サーバー統計
TMDB - メディアデータベース
📖 サービスドキュメント
🟢 現在統合済み
📋 計画された統合
🧪 開発
テストツール
🛠️ SDK リファレンス
🏛️ 建築
このプロジェクトはモジュール型アーキテクチャを採用しており、各サービス パッケージには次のものが含まれます。
🔌 APIクライアント実装
📝 型定義
🛠️ サービスインタラクションのための MCP ツール
🛣️ APIルート
このアーキテクチャは、複数のインタラクション方法をサポートします。
LLM を活用した制御: 直感的なメディア管理のための自然言語処理
従来のAPIアクセス:統合ゲートウェイを介した直接API呼び出し
Webインターフェース:サービス管理用のビジュアルコントロールパネル(計画中)
チャットボットインターフェース:サービス制御用の会話型UI(計画中)
モジュール設計により、次のことが可能になります。
新しいサービスを簡単に追加
独立したサービスの展開
柔軟なインタラクション方法
サービス間で一貫した API パターン
🚀 はじめに
前提条件
# Clone and setup repository
git clone https://github.com/jmagar/yarr
cd yarr
pnpm install構成
テンプレートから
.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 デスクトップを設定します。
重要: 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