Skip to main content
Glama

Add, edit, disable or delete an indexer

manage_indexer
Destructive

Add, edit, disable, re-enable, or delete a Prowlarr indexer and sync changes to Radarr and Sonarr, with previews before applying and no credential handling.

Instructions

Adds, edits, disables, re-enables or deletes one Prowlarr indexer, then syncs Prowlarr to Radarr and Sonarr. add takes a definition name and only adds public indexers that need no login; anything private or semi-private is refused, because arr-mcp never handles indexer credentials. edit changes priority, app profile, tags and torrent seed settings, nothing else. disable stops every grab through that indexer in every app, whatever its sync level, and enable undoes it. All of those are safe tier. delete removes the indexer from Prowlarr and from each app Prowlarr syncs to, needs the destructive tier, and cannot be undone here. Every action but add takes id from get_indexers. The preview says what each app will see, since apps at Add and Remove Only do not receive edits. Previews first; confirm to apply it.

Input Schema

NameRequiredDescriptionDefault
idNoThe indexer id from get_indexers: 21 for a row shown as prowlarr:21. Every action but add needs it.
tagsNoedit or add: the full tag list, by label, replacing what is there. [] removes every tag. Tags decide which apps get the indexer.
actionYesadd a new public indexer; edit its settings; disable stops grabs and is reversible; enable undoes a disable; delete removes it for good.
confirmNoThe token from this tool's preview, passed back verbatim to apply it. Single-use and bound to the previewed arguments.
dry_runNoPreview without a confirm token, for "what would happen if" questions; not the first step of a real change.
instanceNoWhich instance (e.g. "4k") when several of this service exist. Omit it when there is one.
priorityNoedit or add: 1 is searched first, 50 last. Prowlarr's default is 25.
seed_timeNoedit or add, torrent only: minutes.
definitionNoadd only: the indexer to add, by its name in Prowlarr's Add Indexer list ("Nyaa.si") or its definition name ("nyaasi").
seed_ratioNoedit or add, torrent only.
app_profileNoedit or add: the Prowlarr app profile, by name.
pack_seed_timeNoedit or add, torrent only: minutes, for season packs.
minimum_seedersNoedit or add, torrent only.

Output Schema

NameRequiredDescriptionDefault
noopYes
tierYes
toolYes
resultNo
targetYes
appliedYes
dry_runYes
effectsYes
serviceYes
summaryYes
audit_idNo
warningsNo
operationYes
uncheckedNo
next_stepsNo
permissionYes
confirm_errorNo
confirm_tokenNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed22 schema fields changedv1.74.0
    • removedInput schema / $schema
      Removed value: -"https://json-schema.org/draft/2020-12/schema"
    • changedInput schema / properties / confirm / description
      Previous value: -"The confirmation token from this same tool's preview of this same operation. Omit it to get a preview and a token; pass the token back verbatim to apply the change. Tokens are single-use, expire, and are bound to the exact operation and arguments previewed."New value: +"The token from this tool's preview, passed back verbatim to apply it. Single-use and bound to the previewed arguments."
    • changedInput schema / properties / dry_run / description
      Previous value: -"Preview only: resolve the target and describe exactly what would happen, then stop. Never mutates anything and never returns a confirmation token. Use this to answer \"what would happen if…\" — not as the first step of actually doing it."New value: +"Preview without a confirm token, for \"what would happen if\" questions; not the first step of a real change."
    • removedInput schema / properties / id / maximum
      Removed value: -9007199254740991
    • changedInput schema / properties / instance / description
      Previous value: -"Which instance, when several of this service are configured — for example \"4k\" or \"hd\". Omit it when there is only one. If several are configured and you omit it, the call is refused and the names are listed."New value: +"Which instance (e.g. \"4k\") when several of this service exist. Omit it when there is one."
    • removedInput schema / properties / minimum_seeders / maximum
      Removed value: -9007199254740991
    • removedInput schema / properties / pack_seed_time / maximum
      Removed value: -9007199254740991
    • removedInput schema / properties / seed_time / maximum
      Removed value: -9007199254740991
    • removedOutput schema / $schema
      Removed value: -"https://json-schema.org/draft/2020-12/schema"
    • removedOutput schema / properties / applied / description
      Removed value: -"Whether the change actually happened. False on every preview, refusal and no-op."
    • removedOutput schema / properties / audit_id / description
      Removed value: -"The audit row this call wrote. Every branch writes one, including previews and refusals."
    • removedOutput schema / properties / confirm_error / description
      Removed value: -"Why a presented token was rejected. Present only when one was presented."
    • removedOutput schema / properties / confirm_token / description
      Removed value: -"Present when a preview is awaiting confirmation. Single-use, expiring, bound to this exact operation and arguments."
    • removedOutput schema / properties / dry_run / description
      Removed value: -"Whether this was an explicit preview."
    • removedOutput schema / properties / effects / description
      Removed value: -"Itemised consequences, most severe first. Empty is legitimate for a no-op."
    • removedOutput schema / properties / next_steps / description
      Removed value: -"Present on an applied write when another call is worth offering. Offer it to the person; do not run it."
    • removedOutput schema / properties / noop / description
      Removed value: -"True when the request resolved but there was nothing to do — already monitored, already approved."
    • removedOutput schema / properties / result / description
      Removed value: -"Whatever the service returned, on a write that landed."
    • removedOutput schema / properties / summary / description
      Removed value: -"One sentence, safe to show a human."
    • removedOutput schema / properties / target / description
      Removed value: -"The resolved id the write acts on — what the confirmation token is bound to."
    • removedOutput schema / properties / unchecked / description
      Removed value: -"Present when a service could not be asked, so its absence from `warnings` means nothing."
    • removedOutput schema / properties / warnings / description
      Removed value: -"Present on a preview when another service has something to say about this change. Tell the user before confirming."
  2. First observedv0.1.0

TDQS

A4.6/5.0
Behavior4/5

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

The annotations only say destructiveHint=true for the whole tool, but the description clarifies that only delete is destructive and irreversible while add/edit/disable/enable are 'safe tier' — a genuinely useful refinement of the coarse annotation. It also discloses cross-app effects (disable stops grabs everywhere, delete propagates to synced apps) and that edits are not received by apps at Add and Remove Only. It does not cover rate limits or what the preview payload looks like, keeping it just short of a 5.

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

Conciseness4/5

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

The action list is front-loaded and each sentence carries operative information for a 5-action, 13-parameter tool. The closing pair about previews slightly restates the confirm/dry_run semantics already stated earlier and in the schema, which is the only real redundancy.

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 five distinct actions, a destructive branch, cross-app sync effects, and a preview/confirm protocol, the description covers prerequisites, side effects, reversibility, and where ids come from. With an output schema present and full parameter documentation, nothing an agent needs to call this correctly is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3; the description nonetheless adds meaning by bounding which parameters edit actually honors ('priority, app profile, tags and torrent seed settings, nothing else') and by clarifying the preview/confirm token binding. The seed-related parameters are left to the schema alone, so it is useful but not exhaustive beyond structured data.

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 names the specific resource (one Prowlarr indexer) and enumerates every verb it supports (add, edit, disable, enable, delete) plus the side effect of syncing to Radarr and Sonarr. It is immediately distinguishable from the read-only sibling get_indexers, which it explicitly points to for ids.

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

Usage Guidelines5/5

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

It gives per-action guidance rather than a single generic sentence: add only works for public indexers needing no login and refuses private/semi-private ones, edit is limited to priority/profile/tags/seed settings, disable applies in every app regardless of sync level. It also states the required workflow (preview first, then confirm) and where to get the id.

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