Skip to main content
Glama
rollecode

Prowlarr MCP server

by rollecode

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PROWLARR_URLYesThe base URL of the Prowlarr instance, e.g. http://127.0.0.1:9696
PROWLARR_API_KEYYesThe 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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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 paging block. Pass that block's result_id here. Nothing is fetched again: the stored result is paged, filtered and narrowed.

Args: result_id: From the paging block of the earlier answer. offset: First item to return, usually the previous next_offset. limit: At most this many items. Fewer come back if they would not fit. fields: Only these keys of each item. Dots reach nested keys, such as "statistics.sizeOnDisk". The paging.fields list shows what exists. match: Keep only items whose field contains this text, ignoring case, for example {"title": "alien", "year": "1979"}. path: Which list to page when the result holds several, as named in paging.lists. Defaults to the largest.

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

C2.6/5.0

Scored across 129 tools

Disambiguation3/5

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.

Naming Consistency4/5

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.

Tool Count1/5

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.

Completeness4/5

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.

Maintenance

ActivityMaintained
ResponsivenessNo issues