Radarr MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| RADARR_URL | No | Base URL of your instance, e.g. http://radarr.local:7878. A reverse-proxy path such as https://media.example.com/radarr works; /api/v3 is stripped if you include it. | |
| RADARR_SERVER | No | Alias for RADARR_URL. Used if RADARR_URL is unset. | |
| RADARR_API_KEY | Yes | Radarr API key. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_moviesA | List movies in the library as a compact summary (id, title, year, tmdbId, monitored, hasFile, status, quality, path, tags). Use get_movie for the full record. Filters are applied client-side because Radarr returns the whole library in one response. |
| get_movieA | Get the full record for one movie in the library: file details, ratings, images, availability, statistics and add options. |
| lookup_movieA | Search TMDB for movies by free-text term, IMDB id or TMDB id. Returns candidates with their tmdbId, which is what add_movie needs. Results already in the library carry a Radarr |
| add_movieA | Add a movie to the library by TMDB id. Looks the movie up first, then posts it with the given root folder and quality profile. Use list_root_folders and list_quality_profiles to pick valid values, and lookup_movie to find the tmdbId. |
| update_movieA | Update one movie's settings. Reads the current record, merges the given fields and puts it back, so unspecified fields are preserved. Set move_files when changing path or root folder to have Radarr relocate the existing files. |
| delete_movieA | Remove a movie from the library. Files are kept unless delete_files is set. Set add_import_exclusion to stop import lists from re-adding it. |
| edit_moviesA | Bulk-edit movies: monitoring, quality profile, minimum availability, root folder and tags in one call. Only the given fields change. apply_tags controls whether the tag ids are added, removed or replace the existing ones. |
| delete_moviesA | Remove several movies from the library in one call. Files are kept unless delete_files is set. |
| list_movie_filesA | List the media files of one or more movies with quality, size, languages and media info. Pass movie ids, file ids, or neither for every file in the library. |
| delete_movie_filesA | Delete movie files from disk. The movies stay in the library and, if monitored, become wanted again. |
| get_rename_previewA | Preview how files would be renamed under the current naming configuration. Returns only files whose name would change; run the RenameFiles command to apply. |
| list_manual_import_candidatesA | List files Radarr found for a manual import, with the movie it matched each one to, the parsed quality and any rejections. Use it to diagnose downloads stuck in the queue with an import warning. |
| get_queueB | List the download queue as a compact summary: what is downloading, how much is left, and any import warnings or errors. Stalled or failed imports show up in trackedDownloadStatus/statusMessages. |
| get_queue_statusA | Get queue counters: total, errors, warnings, unknown items and whether anything needs manual import. Cheap health check before pulling the full queue. |
| remove_queue_itemsA | Remove one or more items from the queue. By default the download is also removed from the download client; set blocklist to stop the same release being grabbed again, and skip_redownload to not search for a replacement. |
| grab_queue_itemsA | Force Radarr to import queue items that are waiting in the 'pending' state (for example releases held by a delay profile). |
| search_releasesA | Run an interactive indexer search for a movie and return the releases found, with their rejections and custom format scores. This queries every enabled indexer and can take a while. Grab one with grab_release. |
| grab_releaseA | Send a release from search_releases to the download client. Radarr grabs it even if it was rejected, so check the rejections first. |
| parse_release_titleA | Ask Radarr to parse a release title: which movie, quality, languages, edition, release group and custom formats it maps to. Useful for diagnosing why a release is rejected or misidentified. |
| get_calendarA | List movies with a release date in a window: cinema, digital and physical release dates plus whether the file is already on disk. Defaults to the next 30 days. |
| get_historyA | Page through the global history: grabs, imports, failures, deletions and renames, newest first by default. Filter by event type, movie or download id to trace what happened to a specific download. |
| get_movie_historyA | Get the full, unpaged history for one movie: every grab, import, rename and failure. Use this to explain why a movie has the file it has. |
| mark_history_failedA | Mark a grabbed history record as failed. Radarr blocklists the release and, if the movie is still monitored, searches for a replacement. |
| get_wantedA | List wanted movies: 'missing' are monitored movies with no file, 'cutoff' are movies whose file is below the quality profile cutoff. |
| get_blocklistA | List blocklisted releases: what was blocked, when, from which indexer and why. Releases land here after a failed download or an explicit blocklist. |
| remove_blocklist_itemsA | Remove entries from the blocklist so those releases can be grabbed again. |
| run_commandA | Queue a Radarr command. Commands run asynchronously — the response carries an id to poll with get_command. Allowed: MoviesSearch, MissingMoviesSearch, CutoffUnmetMoviesSearch, RefreshMovie, RefreshCollections, RescanMovie, RenameMovie, RenameFiles, DownloadedMoviesScan, ImportListSync, RssSync, RefreshMonitoredDownloads, CheckHealth, Housekeeping, ApplicationUpdateCheck, ClearBlocklist, Backup. 'MoviesSearch', 'RefreshMovie', 'RescanMovie', 'RenameMovie' and 'RenameFiles' take movie_ids; the rest take none. |
| list_commandsA | List queued, started and recently finished commands with their status and result. Use it to check whether a search or refresh has completed. |
| get_commandA | Get the status of one command by id, including its result and any exception. |
| list_quality_profilesA | List quality profiles with their cutoff and allowed qualities. add_movie and update_movie need one of these ids. |
| get_quality_profileA | Get one quality profile in full, including every quality item and custom format score. |
| list_root_foldersA | List root folders with free space and whether Radarr can reach them. add_movie needs one of these paths. |
| list_tagsA | List tags. With details, each tag also carries the ids of the movies, indexers, import lists, notifications and profiles using it. |
| create_tagA | Create a tag. Tags drive delay profiles, release profiles, import list and notification targeting. |
| update_tagA | Rename an existing tag. Everything tagged with it keeps the association. |
| delete_tagA | Delete a tag and remove it from everything using it. Check list_tags with details first. |
| list_custom_formatsA | List custom formats with their specifications. Their scores per quality profile decide which releases Radarr prefers. |
| list_quality_definitionsA | List quality definitions with their size limits in MB/minute. These are what reject a release as too small or too large. |
| list_languagesA | List the languages Radarr knows, with the ids used in profiles and release filters. |
| get_configA | Read a Radarr settings section. Sections: naming, mediamanagement, ui, host, downloadclient, indexer, importlist, metadata. 'naming' is the file/folder naming format, 'mediamanagement' covers import behaviour, permissions and root folder handling. |
| get_naming_examplesA | Render example file and folder names for the current naming configuration. Use it to sanity-check a naming format before adopting it. |
| list_indexersA | List configured indexers: protocol, priority, which search modes are enabled and their settings. API keys and passwords are redacted. |
| test_indexersA | Test indexer connectivity. Without an id every indexer is tested. Run this when searches return nothing. |
| list_download_clientsA | List configured download clients with their category, priority and removal settings. Credentials are redacted. |
| test_download_clientsA | Test download client connectivity. Without an id every client is tested. Run this when grabs never reach the queue. |
| list_import_listsA | List import lists with their monitor mode, root folder, quality profile and sync settings. Credentials are redacted. |
| test_import_listsA | Test import list connectivity. Without an id every list is tested. |
| discover_moviesA | List movies suggested by the import lists plus, optionally, Radarr's recommended, trending and popular feeds. Returns candidates with tmdbIds for add_movie. |
| list_notificationsA | List notification connections and which events each one fires on. Credentials are redacted. |
| list_remote_path_mappingsA | List remote path mappings (download client path -> Radarr path). Wrong mappings are the usual cause of 'file not found' import failures. |
| list_collectionsA | List TMDB collections Radarr knows about, with how many of their movies are still missing from the library. |
| update_collectionsB | Update collections in bulk: monitoring, whether new collection movies are added and searched, and the profile and root folder they are added with. |
| list_exclusionsB | List import list exclusions — movies import lists are not allowed to add back. |
| add_exclusionB | Exclude a movie from import lists by TMDB id so lists stop re-adding it. Deleting a movie with add_import_exclusion does the same thing. |
| remove_exclusionsA | Remove import list exclusions so lists may add those movies again. |
| get_system_statusA | Get version, branch, runtime, database, install path and package details. Also serves as a connectivity and API key check. |
| get_healthA | List active health check warnings and errors with the wiki link explaining each one. Empty means Radarr considers itself healthy. |
| get_disk_spaceA | List free and total space for every drive Radarr can see, including the root folders. |
| list_tasksA | List scheduled tasks with their interval, last execution and next run. Shows whether RSS sync, refresh and housekeeping are actually running. |
| get_updatesA | List available Radarr updates with their version, release date and changelog. |
| get_logsA | Page through Radarr's log entries, newest first. Filter by level to find the error behind a failed grab or import. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/OrellBuehler/radarr-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server