# seerr-mcp-server [Health: Active]

**Category:** 🛠️ Other Tools and Integrations  
**Repository:** https://github.com/cyanheads/seerr-mcp-server  
**GitHub Stars:** 3  
**npm Downloads (last month):** 835  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/seerr-mcp-server

## Description
Search Jellyseerr/Overseerr, check availability, and create guarded media requests.

## Tools
Capabilities this server exposes over MCP:

- **seerr_search_media** — Search movies and TV by title; returns ranked matches with TMDB ID, year, overview, and decoded availability when Jellyseerr already tracks the title. The required first step before requesting.
- **seerr_get_media** — Fetch exact movie/show details by TMDB ID + media type to confirm the title before a write; for TV, a per-season summary or one season's episode list.
- **seerr_list_requests** — List recent requests with status/type/requester filters; echoes the applied filters and decodes every numeric status. Titles are opt-in via `includeTitles`.
- **seerr_request_media** — Guarded write.** Previews the request payload by default (`mode: preview`); creates the request only on `mode: request`, and only after an accepted confirmation.
- **seerr_request_status** — Fetch one request by ID — title, decoded request + media availability (incl. 4K), requester, routing summary, and a state-tuned next-step hint.
- **seerr_service_options** — Summarize configured Radarr/Sonarr services, default quality profiles, and instance capability flags (4K, partial requests, specials, media server). Filesystem paths redacted unless `includePaths`.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `bunx` (confidence: high):

```json
"mcpServers": {
  "seerr-mcp-server": {
    "command": "bunx",
    "args": ["@cyanheads/seerr-mcp-server@latest"],
    "env": {
      "SEERR_BASE_URL": "",
      "SEERR_API_KEY": ""
    }
  }
}
```

**Requires environment variables:** `SEERR_BASE_URL`, `SEERR_API_KEY` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What seerr-mcp-server does

The seerr-mcp-server MCP server exposes Jellyseerr and Overseerr media-request workflows through six MCP tools and one request resource. It searches TMDB-backed movie and TV records, retrieves exact media details, reports availability, inspects existing requests, and submits new requests only through an explicit confirmation flow.

Search is intended to precede a request. Results include ranked matches, TMDB identifiers, year, overview, and decoded availability when Jellyseerr already tracks a title. Exact media lookup can confirm a movie or show before a write. For TV, the lookup can return a season summary or the episodes in one selected season.

Request information includes decoded lifecycle and media statuses, requester identity reduced to an ID and display name, routing details, and a status-dependent next-step hint. The `seerr://request/{requestId}` resource provides a read-once view equivalent to the request-status tool.

## How it works

The server communicates with a configured Jellyseerr or Overseerr instance. Jellyseerr remains responsible for permissions, quotas, routing, and request state; the MCP server does not call Radarr or Sonarr directly.

`seerr_request_media` is a guarded write. Its default preview mode resolves the title and returns the POST payload that would be sent without changing server state. Request mode requires an accepted confirmation in a live session. Declining, cancelling, or providing an invalid response cancels the operation. Before submission, the server checks cached instance capabilities, including 4K support, valid seasons, and partial-request settings.

TV requests can target all seasons or an explicit list. Optional routing values can select a server, quality profile, root folder, or language profile, while omitted values use Jellyseerr defaults. Existing requests and duplicate-request responses are surfaced rather than silently creating another request.

## Setup and configuration

The published installation examples configure the server with `npx -y @cyanheads/seerr-mcp-server`. Set `SEERR_BASE_URL` to the Jellyseerr or Overseerr address and `SEERR_API_KEY` to an API key accepted by that instance.

The server supports STDIO and Streamable HTTP deployments. The guarded request flow is stateful because confirmation must remain associated with a live session. An HTTP deployment configured with `MCP_SESSION_MODE=stateless` fails at startup instead of exposing a request tool that cannot complete its confirmation step.

## Tools and capabilities

- `seerr_search_media` searches by title, filters movie or TV results, paginates results, and can apply a language override.
- `seerr_get_media` confirms a TMDB ID and media type, including season or episode details for TV.
- `seerr_list_requests` filters and sorts requests, paginates results, and optionally joins titles.
- `seerr_request_media` previews or submits validated movie and TV requests.
- `seerr_request_status` returns request, media, requester, and routing details.
- `seerr_service_options` reports configured services, quality profiles, and capability flags. Filesystem paths remain hidden unless explicitly requested.

## Limitations and notes

Availability details are returned only when Jellyseerr already tracks the searched title. Request titles are opt-in when listing requests, while request-status lookups join the title automatically when possible. Filesystem paths are redacted by default. A failed Radarr or Sonarr service lookup is reported as a notice where possible rather than invalidating the entire service-options response. Missing media or request IDs are surfaced as typed errors with recovery guidance.

_Full upstream README: https://allmcps.com/mcp/seerr-mcp-server/readme_

