Jellyseerr

An MCP server for jellyseerr
  • python

5

GitHub Stars

python

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "aserper-jellyseerr-mcp": {
      "command": "python",
      "args": [
        "-m",
        "jellyseerr_mcp"
      ],
      "env": {
        "JELLYSEERR_URL": "https://your-jellyseerr.example.com",
        "JELLYSEERR_API_KEY": "your_api_key_here",
        "JELLYSEERR_TIMEOUT": "15"
      }
    }
  }
}

This MCP server for Jellyseerr exposes key Jellyseerr API functionality as modular tools you can use from any MCP client. You’ll gain programmatic access to search media, place requests, check request status, and perform liveness checks, all through a stable, non-blocking stdio interface that works well in multi-MCP environments.

How to use

You run the Jellyseerr MCP server as a local, stdio-based MCP endpoint. Your MCP client communicates via standard input and output, enabling seamless integration with other MCP configurations. The server exposes a set of tools you can call to search media, request media, retrieve request details, and perform a simple health check.

To start using it, ensure your environment is configured with the Jellyseerr URL and API key, then launch the server. The server will log colorful, emoji-enhanced status messages as it starts and awaits commands from your MCP client.

How to install

Prerequisites you need before installation:

  • Python 3.10+
  • pip (Python package installer)
  • A Jellyseerr instance with an API key

Step-by-step installation:

  • Create and activate a Python virtual environment.
  • Install required Python packages from the requirements file.
  • Copy the example environment file to a working .env file and set your values.

Exact commands to run:

python -m venv .venv
.venv/bin/activate  # On Windows use .venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env
# Edit .env to set your Jellyseerr URL and API key, and optional timeout
k

Running the MCP server and Docker notes

Start the MCP server from your project root with Python. The server uses stdin and stdout for communication, making it compatible with Claude Desktop and other MCP clients.

Running with Docker You can run the server in Docker by pulling a pre-built image or building it locally, then setting the necessary environment variables for Jellyseerr.

# If you pulled from GHCR:
docker pull ghcr.io/aserper/jellyseerr-mcp:latest

# Run with environment variables (example values shown):
docker run --rm -it \
  -e JELLYSEERR_URL="https://your-jellyseerr.example.com" \
  -e JELLYSEERR_API_KEY="your_api_key_here" \
  -e JELLYSEERR_TIMEOUT=15 \
  ghcr.io/aserper/jellyseerr-mcp:latest

# If you built locally:
docker run --rm -it \
  -e JELLYSEERR_URL="https://your-jellyseerr.example.com" \
  -e JELLYSEERR_API_KEY="your_api_key_here" \
  -e JELLYSEERR_TIMEOUT=15 \
  jellyseerr-mcp

Multi-MCP configuration

The server supports integration in multi-MCP setups. You can specify how to launch the local Jellyseerr MCP alongside other MCP endpoints in a shared configuration.

{
  "mcpServers": {
    "jellyseerr": {
      "command": "/path/to/.venv/bin/python",
      "args": ["-m", "jellyseerr_mcp"],
      "env": {
        "JELLYSEERR_URL": "https://your-jellyseerr.example.com",
        "JELLYSEERR_API_KEY": "your_api_key_here"
      }
    }
  }
}

Exposed tools (initial set)

The server provides the following tools to interact with Jellyseerr via MCP clients:

  • search_media(query: str) — Search Jellyseerr for media by query.
  • request_media(media_id: int, media_type: str) — Create a media request.
  • get_request(request_id: int) — Fetch a request’s details/status.
  • ping() — Liveness check with server/transport info.

Available tools

search_media

Search Jellyseerr for media by a query string and return matching results.

request_media

Create a media request in Jellyseerr using a media identifier and type.

get_request

Retrieve details and status for a specific Jellyseerr request by its ID.

ping

Perform a liveness check and return server/transport information.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational