Help us improve
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
By jmagar
Overseerr media requests via MCP tools with HTTP fallback. Search movies and TV shows, submit requests, and monitor failed requests.
npx claudepluginhub jmagar/claude-homelab --plugin overseerr-mcpCredential setup and diagnostics for the overseerr-mcp media stack. Automatically extracts API keys from service config files (local or via SSH) and writes them to the plugin credential store. Use when the user asks to 'setup credentials', 'configure plex', 'add my API key', 'setup media stack', 'authentication failed', 'API key not working', '401 error', '403 forbidden', 'why isn't X working', 'check my credentials', 'did my keys get extracted', or mentions any of the 8 bundled services (Plex, Overseerr, Radarr, Sonarr, Prowlarr, Tautulli, SABnzbd, qBittorrent) in a setup or authentication context.
This skill should be used when the user says "request movie", "request TV show", "get something on Plex", "search Overseerr", "request media", "submit media request", "check request status", "has my request been approved", "is X available yet", "list failed requests", "approve this request", "decline this request", "what's trending on Plex", "what movies are coming out", "recommend something similar to X", "show me my Plex watchlist", "what's my request quota", "check playback data", "there's an issue with this show", "report a problem with this movie", or mentions Overseerr, TMDB IDs, Radarr/Sonarr request management, or managing a Plex media library. Also appropriate when the user discovers a movie or show during research and wants to request it, or needs to manage, approve, troubleshoot, browse, delete, or update media requests.
Control Plex Media Server - browse libraries, search media, check what's playing, view recently added. Use when the user asks to "check Plex", "search Plex", "what's on Plex", "recently added", "what did I add to Plex recently", "continue watching", "on deck", "what was I watching", "who's watching", "Plex sessions", "Plex library", "browse movies", "browse TV shows", "is Plex working", "my Plex collection", "refresh library", "scan Plex for new media", "Plex playlists", or mentions Plex media server.
Search indexers and manage Prowlarr. Use when the user asks to "search for a torrent", "search indexers", "find a release", "find releases for X", "search for a movie", "find TV show episodes", "search by IMDB ID", "search by TVDB ID", "what indexers do I have", "indexer not working", "check indexer status", "list indexers", "prowlarr search", "sync indexers", or mentions Prowlarr, indexer management, or NZB/torrent searching.
Manage torrents with qBittorrent. Use when the user asks to "list torrents", "what's seeding", "torrent stuck", "torrent stalled", "reannounce torrent", "tracker not responding", "unstick torrent", "clear completed torrents", "add torrent", "pause torrent", "resume torrent", "delete torrent", "check download status", "torrent speed", "qBittorrent stats", or mentions qBittorrent/qbit torrent management.
Admin access level
Server config contains admin-level keywords
Requires secrets
Needs API keys or credentials to function
Share bugs, ideas, or general feedback.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
This plugin requires configuration values that are prompted when the plugin is enabled. Sensitive values are stored in your system keychain.
plex_urlBase URL of your Plex server, e.g. http://plex:32400. No trailing slash.
${user_config.plex_url}radarr_urlBase URL of your Radarr server, e.g. http://radarr:7878. No trailing slash.
${user_config.radarr_url}sonarr_urlBase URL of your Sonarr server, e.g. http://sonarr:8989. No trailing slash.
${user_config.sonarr_url}sabnzbd_urlBase URL of your SABnzbd server, e.g. http://sabnzbd:8080. No trailing slash.
${user_config.sabnzbd_url}appdata_pathPath to your service appdata directory. Local: /mnt/cache/appdata — Remote (SSH): myserver:/mnt/cache/appdata. Host must be configured in ~/.ssh/config with key auth.
${user_config.appdata_path}prowlarr_urlBase URL of your Prowlarr server, e.g. http://prowlarr:9696. No trailing slash.
${user_config.prowlarr_url}tautulli_urlBase URL of your Tautulli server, e.g. http://tautulli:8181. No trailing slash.
${user_config.tautulli_url}overseerr_urlBase URL of your Overseerr server, e.g. https://overseerr.example.com. No trailing slash.
${user_config.overseerr_url}qbittorrent_urlBase URL of your qBittorrent WebUI, e.g. http://qbittorrent:8080. No trailing slash.
${user_config.qbittorrent_url}Search X (Twitter) tweets, users, and replies via Felo API
Platform-specific access strategies for AI agents — auto-bypasses blocked sites (X/Twitter, Reddit, Stack Overflow, Naver, Coupang, LinkedIn) without API keys. Phase 0→3 adaptive scheduler with curl_cffi TLS impersonation and auto dependency install.
Travel search powered by Fliggy — search flights, hotels, attractions, concerts, and more with natural language
Core skills library for Claude Code: TDD, debugging, collaboration patterns, and proven techniques
Reliable automation, in-depth debugging, and performance analysis in Chrome using Chrome DevTools and Puppeteer
v9.39.0 — Codex marketplace icon, session provider controls, and OpenCode catalog/logging maintenance. Run /octo:setup.
Query, monitor, and manage Unraid servers via GraphQL API through MCP tools. Supports system info, Docker, VMs, array/parity, notifications, plugins, rclone, and live telemetry.
Core homelab agents, commands, and setup/health skills for self-hosted service management. Includes interactive credential setup wizard and unified service health dashboard.
UniFi network management via MCP tools. Monitor devices, clients, network health, firewall rules, and perform management operations.
Gotify push notifications and management via MCP tools with HTTP fallback. Sends alerts for long-running tasks, plan completions, and blocked states.
Agents, commands, skills, and scripts for scaffolding, reviewing, aligning, and deploying homelab MCP server plugins. Includes canonical Python, TypeScript, and Rust server templates.
Share bugs, ideas, or general feedback.
MCP server for searching Overseerr media, retrieving TMDB-backed details, and submitting movie or TV requests from Claude, Codex, or any MCP client.
The server talks to an existing Overseerr instance via its REST API and exposes MCP tools over stdio (default) or HTTP transports. All Overseerr API authentication is handled server-side — clients only need a Bearer token for the MCP endpoint itself when using HTTP transport.
overseerr_mcp/: FastMCP server and Overseerr HTTP client.claude-plugin/, .codex-plugin/, gemini-extension.json: client manifestsskills/: Claude-facing skill docs for Overseerr and bundled media servicesbin/: plugin executables (load-env, sync-urls, extract-keys, etc.)docker-compose.yml, Dockerfile, entrypoint.sh: container deploymentdocs/: ENV variable reference and upstream API spec| Tool | Purpose |
|---|---|
search_media | Search movies or TV shows by title |
get_movie_details | Fetch full movie details by TMDB ID |
get_tv_show_details | Fetch full TV show details (including seasons) by TMDB ID |
request_movie | Submit a movie request |
request_tv_show | Submit a TV request, optionally scoped to specific seasons |
list_failed_requests | List failed requests with pagination |
overseerr_help | Return built-in markdown help for all tools |
The server also exposes GET /health (unauthenticated) for liveness checks.
Search for movies or TV shows by title.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
query | string | yes | — | Title or keyword to search |
media_type | string | no | null | "movie" or "tv" — searches both if omitted |
Response schema — each item in the returned list:
| Field | Type | Description |
|---|---|---|
tmdbId | int | TMDB integer ID (use this for all subsequent tool calls) |
mediaType | string | "movie" or "tv" |
title | string | Display title (falls back to name or originalName for TV) |
year | string | Release or first-air year (e.g. "2021"), null if unknown |
overview | string | Plot summary |
posterPath | string | TMDB poster path (relative, e.g. /abc123.jpg) |
Examples:
search_media(query="Dune")
search_media(query="Breaking Bad", media_type="tv")
search_media(query="Inception", media_type="movie")
Returns an error string if no results match or if the Overseerr API fails.
Fetch detailed information for a movie from Overseerr. Returns the full Overseerr/TMDB movie object including cast, genres, runtime, status, and current request state.
| Parameter | Type | Required | Description |
|---|---|---|---|
tmdb_id | int | yes | TMDB integer ID from search_media results |
Key response fields:
| Field | Type | Description |
|---|---|---|
id | int | TMDB ID |
title | string | Movie title |
releaseDate | string | ISO date ("2021-10-22") |
runtime | int | Runtime in minutes |
overview | string | Plot summary |
genres | list | Genre objects with id and name |
status | string | TMDB release status (e.g. "Released") |
mediaInfo | object | Overseerr request/availability state (see below) |
credits | object | cast and crew arrays |
posterPath | string | TMDB poster path |
mediaInfo fields:
| Field | Type | Description |
|---|---|---|
status | int | Overseerr media status code (see Request Status) |
requests | list | Existing request objects for this media |
downloadStatus | list | Radarr/Sonarr download state |
Example:
get_movie_details(tmdb_id=438631)
Fetch detailed information for a TV show from Overseerr. Includes season list — use the season numbers here to scope a request_tv_show call.
| Parameter | Type | Required | Description |
|---|---|---|---|
tmdb_id | int | yes | TMDB integer ID from search_media results |
Key response fields: