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.
https://seerrsense.mctl.ai/mcp
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.
| Tool | What it does | Scope |
|---|---|---|
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.
- “Is Arrival on my server?” —
search_media, then the availability from your Seerr. - “Find the Danish political drama with the female prime minister.” —
resolve_mediaturns the description into Borgen and says how sure it is. - “Request season 3 of that.” —
request_media, after your assistant confirms with you; refused if the season is already there or pending. - “What is the status of Dune Part Two?” —
get_mediareads the canonical record, including whether a request is waiting for approval.
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.
- 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 exampleclaude mcp add --transport http seerrsense https://seerrsense.mctl.ai/mcp. - 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.
- 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.