Prowlarr MCP server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PROWLARR_URL | Yes | The base URL of the Prowlarr instance, e.g. http://127.0.0.1:9696 | |
| PROWLARR_API_KEY | Yes | The Prowlarr API key, found under Settings, General, Security |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_result_pageA | Read more of a result that was too large to return in one piece. Any tool whose answer is too large returns its first page with a
Args:
result_id: From the |
| create_applicationsC | Create Application. POST /api/v1/applications Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. force_save: Query parameter. |
| create_applications_action_by_nameC | Create Application. POST /api/v1/applications/action/{name} Args: name: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. |
| create_applications_testC | Create Application. POST /api/v1/applications/test Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. force_test: Query parameter. |
| create_applications_testallD | Create Application. POST /api/v1/applications/testall |
| create_appprofileA | Create AppProfile. POST /api/v1/appprofile Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. |
| create_commandB | Create Command. POST /api/v1/command Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. |
| create_customfilterA | Create CustomFilter. POST /api/v1/customfilter Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. |
| create_downloadclientC | Create DownloadClient. POST /api/v1/downloadclient Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. force_save: Query parameter. |
| create_downloadclient_action_by_nameC | Create DownloadClient. POST /api/v1/downloadclient/action/{name} Args: name: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. |
| create_downloadclient_testC | Create DownloadClient. POST /api/v1/downloadclient/test Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. force_test: Query parameter. |
| create_downloadclient_testallC | Create DownloadClient. POST /api/v1/downloadclient/testall |
| create_indexerB | Create Indexer. POST /api/v1/indexer Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. force_save: Query parameter. |
| create_indexer_action_by_nameA | Create Indexer. POST /api/v1/indexer/action/{name} Args: name: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. |
| create_indexer_testC | Create Indexer. POST /api/v1/indexer/test Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. force_test: Query parameter. |
| create_indexer_testallD | Create Indexer. POST /api/v1/indexer/testall |
| create_indexerproxyA | Create IndexerProxy. POST /api/v1/indexerproxy Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. force_save: Query parameter. |
| create_indexerproxy_action_by_nameC | Create IndexerProxy. POST /api/v1/indexerproxy/action/{name} Args: name: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. |
| create_indexerproxy_testC | Create IndexerProxy. POST /api/v1/indexerproxy/test Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. force_test: Query parameter. |
| create_indexerproxy_testallC | Create IndexerProxy. POST /api/v1/indexerproxy/testall |
| create_loginC | Create Authentication. POST /login Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. return_url: Query parameter. |
| create_notificationB | Create Notification. POST /api/v1/notification Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. force_save: Query parameter. |
| create_notification_action_by_nameC | Create Notification. POST /api/v1/notification/action/{name} Args: name: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. |
| create_notification_testC | Create Notification. POST /api/v1/notification/test Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. force_test: Query parameter. |
| create_notification_testallC | Create Notification. POST /api/v1/notification/testall |
| create_searchA | Create Search. POST /api/v1/search Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. |
| create_search_bulkC | Create Search. POST /api/v1/search/bulk Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. |
| create_system_backup_restore_by_idC | Create Backup. POST /api/v1/system/backup/restore/{id} Args: id: Path parameter. |
| create_system_backup_restore_uploadC | Create Backup. POST /api/v1/system/backup/restore/upload |
| create_system_restartC | Create System. POST /api/v1/system/restart |
| create_system_shutdownC | Create System. POST /api/v1/system/shutdown |
| create_tagA | Create Tag. POST /api/v1/tag Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. |
| delete_applications_bulkC | Delete Application. DELETE /api/v1/applications/bulk Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. |
| delete_applications_by_idC | Delete Application. DELETE /api/v1/applications/{id} Args: id: Path parameter. |
| delete_appprofile_by_idB | Delete AppProfile. DELETE /api/v1/appprofile/{id} Args: id: Path parameter. |
| delete_command_by_idC | Delete Command. DELETE /api/v1/command/{id} Args: id: Path parameter. |
| delete_customfilter_by_idB | Delete CustomFilter. DELETE /api/v1/customfilter/{id} Args: id: Path parameter. |
| delete_downloadclient_bulkB | Delete DownloadClient. DELETE /api/v1/downloadclient/bulk Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. |
| delete_downloadclient_by_idB | Delete DownloadClient. DELETE /api/v1/downloadclient/{id} Args: id: Path parameter. |
| delete_indexer_bulkC | Delete Indexer. DELETE /api/v1/indexer/bulk Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. |
| delete_indexer_by_idB | Delete Indexer. DELETE /api/v1/indexer/{id} Args: id: Path parameter. |
| delete_indexerproxy_by_idA | Delete IndexerProxy. DELETE /api/v1/indexerproxy/{id} Args: id: Path parameter. |
| delete_notification_by_idB | Delete Notification. DELETE /api/v1/notification/{id} Args: id: Path parameter. |
| delete_system_backup_by_idC | Delete Backup. DELETE /api/v1/system/backup/{id} Args: id: Path parameter. |
| delete_tag_by_idC | Delete Tag. DELETE /api/v1/tag/{id} Args: id: Path parameter. |
| get_applications_by_idA | Read Application. GET /api/v1/applications/{id} Args: id: Path parameter. |
| get_appprofile_by_idA | Read AppProfile. GET /api/v1/appprofile/{id} Args: id: Path parameter. |
| get_by_id_apiC | Read Newznab. GET /{id}/api Args: id: Path parameter. t: Query parameter. q: Query parameter. cat: Query parameter. imdbid: Query parameter. tmdbid: Query parameter. extended: Query parameter. limit: Query parameter. offset: Query parameter. minage: Query parameter. maxage: Query parameter. minsize: Query parameter. maxsize: Query parameter. rid: Query parameter. tvmazeid: Query parameter. traktid: Query parameter. tvdbid: Query parameter. doubanid: Query parameter. season: Query parameter. ep: Query parameter. album: Query parameter. artist: Query parameter. label: Query parameter. track: Query parameter. year: Query parameter. genre: Query parameter. author: Query parameter. title: Query parameter. publisher: Query parameter. configured: Query parameter. source: Query parameter. host: Query parameter. server: Query parameter. |
| get_by_id_downloadD | Read Newznab. GET /{id}/download Args: id: Path parameter. link: Query parameter. file: Query parameter. |
| get_by_pathC | Read StaticResource. GET /{path} Args: path: Path parameter. |
| get_command_by_idC | Read Command. GET /api/v1/command/{id} Args: id: Path parameter. |
| get_config_development_by_idA | Read DevelopmentConfig. GET /api/v1/config/development/{id} Args: id: Path parameter. |
| get_config_downloadclient_by_idB | Read DownloadClientConfig. GET /api/v1/config/downloadclient/{id} Args: id: Path parameter. |
| get_config_host_by_idC | Read HostConfig. GET /api/v1/config/host/{id} Args: id: Path parameter. |
| get_config_ui_by_idB | Read UiConfig. GET /api/v1/config/ui/{id} Args: id: Path parameter. |
| get_content_by_pathC | Read StaticResource. GET /content/{path} Args: path: Path parameter. |
| get_customfilter_by_idB | Read CustomFilter. GET /api/v1/customfilter/{id} Args: id: Path parameter. |
| get_downloadclient_by_idA | Read DownloadClient. GET /api/v1/downloadclient/{id} Args: id: Path parameter. |
| get_indexer_by_idB | Read Indexer. GET /api/v1/indexer/{id} Args: id: Path parameter. |
| get_indexer_by_id_downloadC | Read Newznab. GET /api/v1/indexer/{id}/download Args: id: Path parameter. link: Query parameter. file: Query parameter. |
| get_indexer_by_id_newznabC | Read Newznab. GET /api/v1/indexer/{id}/newznab Args: id: Path parameter. t: Query parameter. q: Query parameter. cat: Query parameter. imdbid: Query parameter. tmdbid: Query parameter. extended: Query parameter. limit: Query parameter. offset: Query parameter. minage: Query parameter. maxage: Query parameter. minsize: Query parameter. maxsize: Query parameter. rid: Query parameter. tvmazeid: Query parameter. traktid: Query parameter. tvdbid: Query parameter. doubanid: Query parameter. season: Query parameter. ep: Query parameter. album: Query parameter. artist: Query parameter. label: Query parameter. track: Query parameter. year: Query parameter. genre: Query parameter. author: Query parameter. title: Query parameter. publisher: Query parameter. configured: Query parameter. source: Query parameter. host: Query parameter. server: Query parameter. |
| get_indexerproxy_by_idC | Read IndexerProxy. GET /api/v1/indexerproxy/{id} Args: id: Path parameter. |
| get_log_file_by_filenameB | Read LogFile. GET /api/v1/log/file/{filename} Args: filename: Path parameter. |
| get_log_file_update_by_filenameB | Read UpdateLogFile. GET /api/v1/log/file/update/{filename} Args: filename: Path parameter. |
| get_notification_by_idB | Read Notification. GET /api/v1/notification/{id} Args: id: Path parameter. |
| get_system_task_by_idC | Read Task. GET /api/v1/system/task/{id} Args: id: Path parameter. |
| get_tag_by_idB | Read Tag. GET /api/v1/tag/{id} Args: id: Path parameter. |
| get_tag_detail_by_idC | Read TagDetails. GET /api/v1/tag/detail/{id} Args: id: Path parameter. |
| list_apiB | Read ApiInfo. GET /api |
| list_applicationsB | Read Application. GET /api/v1/applications |
| list_applications_schemaC | Read Application. GET /api/v1/applications/schema |
| list_appprofileC | Read AppProfile. GET /api/v1/appprofile |
| list_appprofile_schemaB | Read AppProfile. GET /api/v1/appprofile/schema |
| list_commandB | Read Command. GET /api/v1/command |
| list_config_developmentB | Read DevelopmentConfig. GET /api/v1/config/development |
| list_config_downloadclientB | Read DownloadClientConfig. GET /api/v1/config/downloadclient |
| list_config_hostA | Read HostConfig. GET /api/v1/config/host |
| list_config_uiA | Read UiConfig. GET /api/v1/config/ui |
| list_customfilterB | Read CustomFilter. GET /api/v1/customfilter |
| list_downloadclientB | Read DownloadClient. GET /api/v1/downloadclient |
| list_downloadclient_schemaB | Read DownloadClient. GET /api/v1/downloadclient/schema |
| list_filesystemC | Read FileSystem. GET /api/v1/filesystem Args: path: Query parameter. include_files: Query parameter. allow_folders_without_trailing_slashes: Query parameter. |
| list_filesystem_typeC | Read FileSystem. GET /api/v1/filesystem/type Args: path: Query parameter. |
| list_healthA | Read Health. GET /api/v1/health |
| list_historyC | Read History. GET /api/v1/history Args: page: Query parameter. page_size: Query parameter. sort_key: Query parameter. sort_direction: Query parameter. event_type: Query parameter. successful: Query parameter. download_id: Query parameter. indexer_ids: Query parameter. |
| list_history_indexerC | Read History. GET /api/v1/history/indexer Args: indexer_id: Query parameter. event_type: Query parameter. limit: Query parameter. |
| list_history_sinceD | Read History. GET /api/v1/history/since Args: date: Query parameter. event_type: Query parameter. |
| list_indexerA | Read Indexer. GET /api/v1/indexer |
| list_indexer_categoriesA | Read IndexerDefaultCategories. GET /api/v1/indexer/categories |
| list_indexer_schemaA | Read Indexer. GET /api/v1/indexer/schema |
| list_indexerproxyA | Read IndexerProxy. GET /api/v1/indexerproxy |
| list_indexerproxy_schemaC | Read IndexerProxy. GET /api/v1/indexerproxy/schema |
| list_indexerstatsB | Read IndexerStats. GET /api/v1/indexerstats Args: start_date: Query parameter. end_date: Query parameter. indexers: Query parameter. protocols: Query parameter. tags: Query parameter. |
| list_indexerstatusB | Read IndexerStatus. GET /api/v1/indexerstatus |
| list_localizationA | Read Localization. GET /api/v1/localization |
| list_localization_optionsB | Read Localization. GET /api/v1/localization/options |
| list_logC | Read Log. GET /api/v1/log Args: page: Query parameter. page_size: Query parameter. sort_key: Query parameter. sort_direction: Query parameter. level: Query parameter. |
| list_log_fileC | Read LogFile. GET /api/v1/log/file |
| list_log_file_updateC | Read UpdateLogFile. GET /api/v1/log/file/update |
| list_loginC | Read StaticResource. GET /login |
| list_logoutB | Read Authentication. GET /logout |
| list_notificationB | Read Notification. GET /api/v1/notification |
| list_notification_schemaB | Read Notification. GET /api/v1/notification/schema |
| list_pingB | Read Ping. GET /ping |
| list_rootD | Read StaticResource. GET / Args: path: Path parameter. |
| list_searchC | Read Search. GET /api/v1/search Args: query: Query parameter. type: Query parameter. indexer_ids: Query parameter. categories: Query parameter. limit: Query parameter. offset: Query parameter. |
| list_system_backupC | Read Backup. GET /api/v1/system/backup |
| list_system_routesC | Read System. GET /api/v1/system/routes |
| list_system_routes_duplicateC | Read System. GET /api/v1/system/routes/duplicate |
| list_system_statusB | Read System. GET /api/v1/system/status |
| list_system_taskD | Read Task. GET /api/v1/system/task |
| list_tagA | Read Tag. GET /api/v1/tag |
| list_tag_detailA | Read TagDetails. GET /api/v1/tag/detail |
| list_updateC | Read Update. GET /api/v1/update |
| update_applications_bulkC | Update Application. PUT /api/v1/applications/bulk Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. |
| update_applications_by_idA | Update Application. PUT /api/v1/applications/{id} Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. force_save: Query parameter. |
| update_appprofile_by_idA | Update AppProfile. PUT /api/v1/appprofile/{id} Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. |
| update_config_development_by_idA | Update DevelopmentConfig. PUT /api/v1/config/development/{id} Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. |
| update_config_downloadclient_by_idA | Update DownloadClientConfig. PUT /api/v1/config/downloadclient/{id} Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. |
| update_config_host_by_idB | Update HostConfig. PUT /api/v1/config/host/{id} Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. |
| update_config_ui_by_idB | Update UiConfig. PUT /api/v1/config/ui/{id} Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. |
| update_customfilter_by_idA | Update CustomFilter. PUT /api/v1/customfilter/{id} Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. |
| update_downloadclient_bulkC | Update DownloadClient. PUT /api/v1/downloadclient/bulk Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. |
| update_downloadclient_by_idC | Update DownloadClient. PUT /api/v1/downloadclient/{id} Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. force_save: Query parameter. |
| update_indexer_bulkA | Update Indexer. PUT /api/v1/indexer/bulk Args: body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. |
| update_indexer_by_idB | Update Indexer. PUT /api/v1/indexer/{id} Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. force_save: Query parameter. |
| update_indexerproxy_by_idA | Update IndexerProxy. PUT /api/v1/indexerproxy/{id} Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. force_save: Query parameter. |
| update_notification_by_idB | Update Notification. PUT /api/v1/notification/{id} Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. force_save: Query parameter. |
| update_tag_by_idA | Update Tag. PUT /api/v1/tag/{id} Args: id: Path parameter. body: Request payload. Read the matching GET or the /schema endpoint first to see the fields this resource expects. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 129 tools
Most tools target distinct resources with clear action prefixes, but many share near-identical patterns (e.g., create_indexer_test, create_indexer_testall, create_indexer_action_by_name) and generic verbs like 'Create' don't distinguish actions well. Some overlap between get_by_id_api and get_indexer_by_id_newznab, and between bulk vs single operations may cause confusion.
Tool names consistently follow a verb_noun pattern with snake_case throughout, which is predictable. Minor inconsistencies exist (e.g., get_by_path vs get_content_by_path, list_root vs get_result_page), but the majority are well-structured.
129 tools is far too many for an MCP server; this is a nearly complete REST API surface with excessive granularity. Many tools are redundant variants (e.g., test, testall, action_by_name for each resource) that likely overwhelm an agent's selection process.
The toolset covers a comprehensive range of operations for Prowlarr (CRUD for indexers, applications, download clients, notifications, tags, config, system, search, etc.). Minor gaps like indexer status update or tag detail mutation are not critical for most workflows.