Skip to main content
Glama
SavageCore

prowlarr-mcp

by SavageCore

prowlarr_indexers

Perform CRUD and management operations on Prowlarr indexers, including listing schemas, testing connections, and retrieving stats.

Instructions

prowlarr indexers operations on Prowlarr. Pass operation and an arguments dict matching that operation's parameters.

  • prowlarr_bulk_delete_indexers(body) — Bulk-delete indexers. body is an IndexerBulkResource with ids.

  • prowlarr_bulk_update_indexers(body) — Bulk-edit indexers. body is an IndexerBulkResource with ids plus optional tags/applyTags/enable/appProfileId to apply to all of them.

  • prowlarr_create_indexer(body, force_save=None) — Create an indexer. body is an IndexerResource (fetch prowlarr_list_indexer_schemas for the provider definition). force_save bypasses validation (e.g. for disabled indexers).

  • prowlarr_delete_indexer(id) — Delete an indexer by id.

  • prowlarr_get_indexer(id) — Get a single indexer by id.

  • prowlarr_get_indexer_stats(start_date='', end_date='', indexers='', protocols='', tags='') — Aggregated query/download statistics per indexer. start_date/end_date are ISO dates; indexers/protocols/tags are comma-separated filters (protocols: usenet|torrent).

  • prowlarr_indexer_action(name, body) — Run a named action on an indexer (e.g. reset indexer status).

  • prowlarr_list_indexer_categories() — List the default indexer categories (tv, movies, music, books, and subcategories) with their ids and parents.

  • prowlarr_list_indexer_schemas() — List indexer provider schemas (definitions of every supported indexer type and its fields). Read this before creating an indexer.

  • prowlarr_list_indexer_status() — List indexer status records (current failure/backoff state and most recent failure per indexer).

  • prowlarr_list_indexers() — List all configured indexers with their settings, status, and category mappings.

  • prowlarr_test_all_indexers() — Test every configured indexer.

  • prowlarr_test_indexer(body, force_test=None) — Test an indexer connection without saving it.

  • prowlarr_update_indexer(id, body, force_save=None) — Update an indexer by id.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
argumentsNo
operationYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses each operation's behavior, side effects (delete, test, update), and special semantics (force_save bypasses validation). It could add more detail on error handling or auth requirements, but it covers the main behavioral aspects well.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but perfectly structured as a bulleted list of operations with syntax signatures and per-operation notes. Every line adds unique value; there is no fluff or redundancy. The front-loading explains the required dispatcher pattern immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 14 operations, minimal schema (only operation + arguments), and no annotations, this description is exceptionally complete. It names every operation, its expected arguments, and provides prerequisite guidance ('Read this before creating an indexer'). An output schema exists, so return-value details are not required.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema coverage is 0%, so the description fully compensates. It defines the enum values via operation names and explains the contents of the 'arguments' dict for each operation (e.g., 'start_date/end_date are ISO dates; indexers/protocols/tags are comma-separated filters'). This converts an opaque 'object' into actionable parameter knowledge.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states this tool handles 'prowlarr indexers operations' and enumerates all 14 available sub-operations with specific verbs (bulk-delete, create, delete, list, test, update). This distinguishes it from sibling tools covering other Prowlarr domains (search, system, config, etc.).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the dispatcher pattern ('Pass operation and an arguments dict') and gives practical usage hints per operation (e.g., 'Read this before creating an indexer' for schemas, force_save bypasses validation). It does not explicitly mention when to avoid this tool in favor of a sibling, but the scope is clear from the operation list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

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/SavageCore/prowlarr-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server