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
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.4/5.0

Scored across 128 tools

Disambiguation2/5

Multiple tools share identical or near-identical descriptions, such as the two "Read Newznab" tools (get_by_id_api and get_indexer_by_id_newznab) and the many generic "Create X" variants (create_indexer, create_indexer_test, create_indexer_testall). Static resource tools (get_by_path, get_content_by_path, list_root, list_login) also blur together. An agent would struggle to reliably pick the correct tool without deeper inspection.

Naming Consistency3/5

The dominant pattern is verb_noun (create_indexer, list_indexer, update_indexer, delete_indexer), but there are notable exceptions like get_by_id_api, get_by_path, and get_indexer_by_id_newznab that break the convention. Plural/singular mixing (applications vs appprofile) and inconsistent action naming (test vs testall vs action_by_name) further reduce consistency, though the general style remains readable.

Tool Count1/5

With 128 tools, this server exposes the entire Prowlarr API surface with little curation. This is far beyond the typical well-scoped MCP server range and creates a heavy, intimidating surface for agents. The count represents an extreme mismatch for a focused tool set.

Completeness4/5

The tool set provides extensive CRUD coverage across major resources: applications, indexers, download clients, notifications, tags, config, and more. Operations like search, history, health, logs, and system tasks round out the surface. Minor gaps exist (e.g., no explicit create backup or update command), but overall the domain is very thoroughly covered.

Maintenance

ActivityMaintained
ResponsivenessNo issues