Skip to main content
Glama
jmagar

YARR Media Stack MCP Server

🎬 YARR 媒体堆栈 MCP 服务器

一个全面的模型上下文协议 (MCP) 服务器,它弥合了大型语言模型 (LLM) 和您自托管的媒体技术栈之间的差距。该项目支持媒体服务的智能自动化和自然语言控制,同时保留传统的编程访问方式。

🎯 主要特点

  • 🤖 由 LLM 提供支持的媒体服务自然语言控制

  • 🔌模块化架构,方便服务集成

  • 🔄 传统访问的统一 API 网关

  • 🎮 用于可视化控制的 Web UI(计划中)

  • 🔐 无需 LLM 中间件即可直接访问 API

  • 🧩 可扩展的新服务插件系统

Related MCP server: OpenAPI MCP Server

📚 文档

🏗️ 项目结构

这个 monorepo 被组织成模块化包,每个包都有特定的用途:

  • 📦 packages/server :核心 MCP 服务器实现

  • 🌐 packages/web :Web UI 界面(计划中)

  • 💬 packages/chatbot :LLM 聊天界面(计划中)

  • 🔀 packages/api-gateway :API 路由和服务协调(计划中)

🔧 综合服务

✅ 目前支持

  • Gotify - 通知管理

  • Sonarr - 电视节目管理

  • Prowlarr - 索引器管理

  • Overseerr - 请求管理

🚧 计划中的集成

  • Radarr - 电影管理

  • qBittorrent - Torrent 管理

  • SABnzbd - Usenet 下载

  • Plex - 媒体服务器

  • Tautulli - 服务器统计

  • TMDB——媒体数据库

📖 服务文档

🟢 目前已集成

📋 计划整合

🧪 开发

测试工具

🛠️ SDK 参考

🏛️ 建筑

该项目采用模块化架构,其中每个服务包包含:

  • 🔌 API 客户端实现

  • 📝 类型定义

  • 🛠️ 用于服务交互的 MCP 工具

  • 🛣️ API 路由

该架构支持多种交互方式:

  1. LLM-Powered Control :用于直观媒体管理的自然语言处理

  2. 传统 API 访问:通过统一网关直接调用 API

  3. Web 界面:用于服务管理的可视化控制面板(计划中)

  4. 聊天机器人界面:用于服务控制的对话式 UI(计划中)

模块化设计允许:

  • 轻松添加新服务

  • 独立服务部署

  • 灵活的交互方式

  • 跨服务的一致 API 模式

🚀 入门

先决条件

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

配置

  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 messages
  1. 配置Claude桌面:

重要提示:在配置中使用完整路径以确保 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

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jmagar/yarr'

If you have feedback or need assistance with the MCP directory API, please join our Discord server