# Prowlarr (Indexers) MCP

> Prowlarr (Indexers) MCP Server manages your entire Usenet and Torrent indexer setup through natural conversation with your AI agent. List all configured sources, check instant health status across the board, and manage credentials without opening a web UI. It lets you add new indexers using templates or update existing ones on the fly. This is critical for maintaining media automation stacks.

## Overview
- **Category:** developer-tools
- **Price:** Free
- **Tags:** prowlarr, indexers, usenet, torrents, media-automation

## Description

You're gonna connect your **Prowlarr** instance to any AI agent and you'll run indexer management straight from your workspace. Forget having to jump between five different web UIs just to check an API key or see if a source is still alive. This server lets you manage every single Usenet and Torrent indexer setup through simple conversation with your agent.

It gives you full control over your media stack, letting you list all configured sources, instantly verify their health status across the board, and adjust credentials without ever opening a clunky web interface. You can even add brand-new indexers using templates or update settings on the fly. This is critical for keeping your automation running smooth.

**Indexer Overview and Status Checks**

*   To see what you've got set up, use `list_indexers` to pull a comprehensive list of every single indexer currently active in your Prowlarr instance. It pulls the name and unique ID for each one on the list.
*   If you need deep details on just one source, run `get_indexer` by providing that specific indexer's ID to retrieve its full configuration data.
*   To check if all your sources are connected right now, call `get_indexer_status`. This pings every configured indexer simultaneously, flagging any immediate connection failures or timeouts so you know exactly what broke before it stops your whole setup.

**Adding and Setting Up New Sources**

*   You don't have to guess how to format a new source. You first call `get_indexer_schema`. This tells you the exact required field templates and input types for any supported indexer type, like Newznab or Torznab.
*   Once you know what fields are needed, use `add_indexer` to create the brand-new indexer source. The agent guides you through filling out those necessary fields using the schema it just provided.

**Validation and Modification**

*   Before you ever save a new setup or change an existing one, run `test_indexer`. This validates the indexer's URL and credentials against the API to confirm they work live. It prevents you from committing broken builds that waste your time.
*   If an API key expires or the URL changes, don't delete the whole thing. Use `update_indexer` instead. You change settings—like keys or URLs—for a specific indexer without having to go through the hassle of deleting and re-adding it entirely.
*   If you need to ditch a source completely, use `delete_indexer`. This removes an existing, configured indexer from your list permanently.

This server means you manage everything in one spot. You tell the agent what you wanna do—like adding a new Torznab feed or updating old keys—and it handles the API calls for you.

## Tools

### add_indexer
Adds a new indexer after you use `get_indexer_schema` to find the correct required fields.

### delete_indexer
Removes an existing, configured indexer from your list.

### get_indexer
Retrieves specific details for one particular indexer using its ID.

### get_indexer_schema
Provides the necessary field templates and required input types for any supported indexer type (e.g., Newznab, Torznab).

### get_indexer_status
Checks the live connection status of all configured indexers to flag immediate issues.

### list_indexers
Pulls a comprehensive list of every indexer currently active in your Prowlarr instance.

### test_indexer
Validates an indexer's URL and credentials against the API to ensure it works before saving changes.

### update_indexer
Changes settings—like keys or URLs—for an indexer without having to delete and re-add it.

## Prompt Examples

**Prompt:** 
```
List all my configured indexers in Prowlarr.
```

**Response:** 
```
I've retrieved your indexers. You have 4 configured: 'RARBG' (ID: 1), '1337x' (ID: 2), 'DrunkenSlug' (ID: 5), and 'NinjaCentral' (ID: 8). Would you like to check the status of any of these?
```

**Prompt:** 
```
Check the health status of all my indexers.
```

**Response:** 
```
I've checked the health status. Most indexers are healthy, but 'RARBG' is reporting a connection timeout. Would you like me to test its configuration?
```

**Prompt:** 
```
Get the schema for adding a new Newznab indexer.
```

**Response:** 
```
I've fetched the schema for Newznab indexers. The required fields include 'baseUrl', 'apiKey', and 'categories'. I can help you format the JSON to add it once you have those details.
```

## Capabilities

### List all configured indexers
Retrieves a list of every indexer currently set up in your Prowlarr instance, along with their unique IDs.

### Check overall indexer health status
Pings all connected indexers to determine if they are online and responding correctly.

### Add a new indexer source
Adds a brand-new indexer, guiding you through the necessary fields and templates to ensure correct setup.

### Update existing indexer settings
Modifies credentials or URLs for an already configured indexer without deleting and re-adding it.

### Get required configuration schemas
Fetches the specific template fields (e.g., Newznab, Torznab) needed to correctly format a new indexer entry.

### Validate indexer configurations
Runs a live test on an indexer's credentials and URL combination to confirm it works before you save the changes.

## Use Cases

### The Indexer is failing sporadically.
A user notices downloads stopping across the board. Instead of opening Prowlarr and clicking through every source, they ask their agent to check the status. The agent runs `get_indexer_status` and immediately reports that 'RARBG' has a connection timeout, telling them exactly which tool (`update_indexer`) needs attention.

### Adding support for a new content source.
A user finds a new torrent indexer. They first ask the agent to run `get_indexer_schema` to see what fields are needed (e.g., 'Torznab'). Once they gather the required API key and URL, the agent runs `add_indexer`, using the schema as a guide for perfect setup.

### Cleaning up old or dead indexers.
The user reviews their list of sources. They ask to `list_indexers` to see all 20 entries. After confirming three are outdated, the agent executes `delete_indexer`, cleaning the stack in a few prompts rather than dozens of clicks.

### Migrating API keys for compliance.
A major indexer changes its API key requirement. Instead of deleting and re-adding the source, the user asks the agent to `update_indexer`. The agent uses the existing ID and only swaps out the credential fields, minimizing disruption.

## Benefits

- **Stop guessing if an indexer is down.** Instead of having to open the Prowlarr GUI, run `get_indexer_status` and get a clean summary showing which sources are failing right now. This saves time when downloads stall unexpectedly.
- **Add complex indexers without error.** Use `get_indexer_schema` first. It gives you the exact fields required for Newznab or Torznab, so your AI agent knows exactly how to format the JSON payload when running `add_indexer`.
- **Handle credential rotation on the fly.** When an API key expires, don't delete and re-create the indexer. Just run `update_indexer` with the new credentials. It handles the change cleanly.
- **Guarantee data integrity before deployment.** Running `test_indexer` validates the connection *live*. This means you can confidently update settings knowing that the source will actually connect, preventing broken automation runs.
- **Keep your workflow contained.** You never have to leave your primary chat environment. Listing sources with `list_indexers`, checking status, and adding new ones all happen within one conversation thread.

## How It Works

The bottom line is that your AI client handles all the API calls and error parsing so you don't have to switch context or read JSON payloads.

1. Subscribe to this server, providing your Prowlarr API key and base URL.
2. Your AI client connects. You ask for a status check or to list indexers via natural conversation.
3. The agent executes the required tool (e.g., `get_indexer_status`), retrieves the raw data, and presents the actionable summary back to you.

## Frequently Asked Questions

**How do I check all my indexer sources using list_indexers?**
Run the `list_indexers` tool. It pulls every configured source ID and name into your chat window, letting you quickly see what's active without opening the UI.

**What if my API key expires? Should I use update_indexer or add_indexer?**
You should always use `update_indexer`. This tool modifies the settings for an existing source using its ID. If you used `add_indexer`, it might create a duplicate entry, which is worse.

**Does get_indexer_schema help me format new indexers?**
Yes, absolutely. It fetches the precise field templates required for specific types (like Newznab) so you know exactly what variables your agent needs to build the configuration.

**Is there a way to check if an indexer is alive without affecting its settings? Use get_indexer_status.**
Yes, `get_indexer_status` runs a read-only health ping against all sources. It checks connectivity and status but does not alter any of your configured credentials or URLs.

**How does running `test_indexer` differ from using `get_indexer_status`?**
The test runs a live handshake to confirm connectivity. While status checks for general uptime, the `test_indexer` tool verifies credentials and validates the entire connection flow against the remote service.

**I want to remove an indexer. What precautions should I take when using `delete_indexer`?**
Before running `delete_indexer`, always use `get_indexer` first. This lets you confirm the exact ID and configuration details, ensuring you don't accidentally delete a critical source.

**How can I pull all the current settings for just one indexer without listing every configured source? Use `get_indexer`.**
You simply provide the unique ID. This tool bypasses the list view and pulls every field—API endpoint, rate limits, etc.—for that single, specific entry.

**What is the proper workflow for adding a new indexer using `add_indexer`?**
Start by calling `get_indexer_schema`. This provides templates and required fields. Then, use those exact fields to format your data before you call `add_indexer`; this prevents immediate setup errors.

**How can I check if any of my indexers are currently down?**
You can use the `get_indexer_status` tool. It retrieves the current health status of all configured indexers, highlighting any errors or connection issues.

**What is the best way to add a new indexer without knowing the JSON structure?**
First, run `get_indexer_schema` to see the templates for supported indexers. Once you have the correct fields, you can use `add_indexer` with the required data.

**Can I verify my settings before applying them to an indexer?**
Yes! Use the `test_indexer` tool. It allows you to test the connection and configuration of an indexer before saving it, preventing broken setups.