SeerrSense

MCP server

Ask for a film in plain language.
Your Seerr does the rest.

SeerrSense sits in front of Overseerr or Jellyseerr and speaks the Model Context Protocol, so Claude, ChatGPT or any MCP client can search your catalogue, work out which title you actually meant, and file the request on your own server.

Endpoint https://seerrsense.mctl.ai/mcp
View on GitHub

MCP tools

Four tools, one of which writes. The scope column is what the consent screen asks you for: seerr:read covers the three lookups, seerr:request is the only one that changes anything.

ToolWhat it doesScope
search_media Title search straight through your Seerr, films and series only. Read-only. seerr:read
resolve_media Turns a description into verified candidates: native search, normalised retry, then language-model intent checked back against Seerr. seerr:read
get_media The canonical record for one TMDB id, including availability. seerr:read
request_media Files the request in your own Seerr, optionally for named seasons. Refuses when the title is already available, pending or blocklisted. The one write, and your assistant confirms it with you first. seerr:request

Things to ask

Once connected, talk to your assistant the way you would to a person who knows your library.

Set it up

Three steps, in order. The full setup guide adds a read-only check, how to verify a candidate before requesting it, troubleshooting and how to disconnect.

  1. Add the connector. Paste this endpoint into your assistant: https://seerrsense.mctl.ai/mcp
    In claude.ai: Customize → Connectors → + Add → Add custom connector, paste the URL, then Add.
    In ChatGPT: Plugins, the plus button, Add custom MCP server, then paste the URL. Availability depends on your plan and workspace.
    In Claude Code or another MCP client, point it at the same URL over HTTP, for example claude mcp add --transport http seerrsense https://seerrsense.mctl.ai/mcp.
  2. Sign in with Google. Happens automatically on the first Connect. On this server, any Google account with a verified e-mail address can sign in. One consent screen names the client and what it is being granted. There is nothing to copy anywhere.
  3. Attach your Seerr. Open /account and enter your Overseerr or Jellyseerr address and its API key (Settings, then General, then API Key). If that Seerr sits behind Cloudflare Access, enter its service token in the CF-Access-Client-Id and CF-Access-Client-Secret fields. The page tests the credentials against your instance before saving them. Skipping this step is fine for now: the tools will say so and point you back at /account.

Questions

Does it replace Overseerr or Jellyseerr?

No. It is a layer in front of one. Every request is filed through your Seerr, which keeps owning quotas, approvals, notifications and the request history.

Can an assistant request things on its own?

Requesting is a separate scope from reading, and the request tool is declared as the one write action, which is what makes Claude and ChatGPT confirm with you before calling it. The server also re-reads the canonical record and refuses to file a request for something already available or pending.

Does a language model see my library?

Only the phrase you typed is sent, and only when the ordinary search paths fail. It goes to Nebius, the model provider this server is configured with, running an open-weights Qwen model. The model proposes titles, people and years; it never returns provider ids, and every candidate is verified against Seerr before you see it.