Seerr MCP Server

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

Remote serverstreamable-http

What is the Seerr MCP server?

Seerr MCP server exists for a simple reason — assistants are far more useful when they can act on Seerr directly instead of describing what you should do. Search Jellyseerr/Overseerr, check availability, and create guarded media requests.

What you get

  • Declarative tool and resource definitions — single file per primitive, framework handles registration and validation
  • Unified error handling — handlers throw, framework catches, classifies, and formats
  • Pluggable auth: none, jwt, oauth
  • Swappable storage backends: in-memory, filesystem, Supabase, Cloudflare KV/R2/D1
  • Structured logging with optional OpenTelemetry tracing
  • STDIO and Streamable HTTP transports

What the assistant can call

Once Seerr is connected, these are the calls the assistant has available:

  • 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
  • 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
  • seerr_request_mediaGuarded write. Previews the request payload by default (mode: preview); creates the request only on mode: request with an elicited 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)
  • Prerequisites — The Prerequisites tool exposed by this server
  • Installation — The Installation tool exposed by this server

Setting it up

Being a remote server, there is no local install. You register the endpoint with your client, authorise it once, and the tools appear.

Configuration and credentials

You will need 4 environment variables: MCP_TRANSPORT_TYPE, MCP_LOG_LEVEL, SEERR_BASE_URL, SEERR_API_KEY. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.

  • Bun v1.3.2 or higher (or Node.js v24+). - A running Jellyseerr or Overseerr instance, and its API key (Settings → General → API Key).

Choosing this one

This sits in the file and storage access group, where several servers overlap in what they claim to do but differ sharply once you actually set them up. Seerr's toolset — seerr_search_media, seerr_get_media, seerr_list_requests and 5 more — is a fair guide to whether it matches your workflow. It is maintained by cyanheads; worth a glance at recent repository activity before you build anything load-bearing on it.

This entry was verified against Seerr's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.

Before you rely on it

  • Your data travels to the provider's service, so the usual questions apply about what you send and what they retain.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the seerr mcp server does with a few real requests.

Available tools

ToolWhat it does
seerr_search_mediaSearch 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_mediaFetch 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_requestsList 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 with an elicited confirmation.
seerr_request_statusFetch one request by ID — title, decoded request + media availability (incl. 4K), requester, routing summary, and a state-tuned next-step hint.
seerr_service_optionsSummarize configured Radarr/Sonarr services, default quality profiles, and instance capability flags (4K, partial requests, specials, media server). Filesystem paths redacted unless includePaths.
PrerequisitesThe Prerequisites tool exposed by this server.
InstallationThe Installation tool exposed by this server.

How to install the Seerr MCP server

{
  "mcpServers": {
    "seerr-mcp-server": {
      "type": "stdio",
      "command": "bunx",
      "args": ["@cyanheads/seerr-mcp-server@latest"],
      "env": {
        "MCP_TRANSPORT_TYPE": "stdio",
        "MCP_LOG_LEVEL": "info",
        "SEERR_BASE_URL": "http://localhost:5055",
        "SEERR_API_KEY": "your-api-key"
      }
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

  • Bun v1.3.2 or higher (or Node.js v24+). - A running Jellyseerr or Overseerr instance, and its API key (Settings → General → API Key).
VariableDescriptionRequired
MCP_TRANSPORT_TYPEConfiguration value read at startup.Optional
MCP_LOG_LEVELConfiguration value read at startup.Optional
SEERR_BASE_URLEndpoint or connection string the server talks to.Yes
SEERR_API_KEYCredential the server authenticates with.Yes

Example prompts to try

  • Use Seerr to seerr search media.
  • Use Seerr to seerr get media.
  • Use Seerr to seerr list requests.

Frequently asked questions

It connects Seerr to MCP-compatible AI assistants such as Claude and Cursor, exposing 8 tools (seerr_search_media, seerr_get_media, seerr_list_requests, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Seerr directly.