Skip to main content
Glama

prowlarr_get_indexers

Retrieve all configured indexers from Prowlarr to manage search sources for media content across *arr applications.

Instructions

Get all configured indexers in Prowlarr

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • Core implementation of prowlarr_get_indexers: ProwlarrClient.getIndexers() method that makes API request to /indexer endpoint.
    async getIndexers(): Promise<Indexer[]> {
      return this['request']<Indexer[]>('/indexer');
    }
  • MCP tool call handler in index.ts switch statement: handles 'prowlarr_get_indexers', calls ProwlarrClient.getIndexers(), formats and returns JSON response.
    case "prowlarr_get_indexers": {
      if (!clients.prowlarr) throw new Error("Prowlarr not configured");
      const indexers = await clients.prowlarr.getIndexers();
      return {
        content: [{
          type: "text",
          text: JSON.stringify({
            count: indexers.length,
            indexers: indexers.map(i => ({
              id: i.id,
              name: i.name,
              protocol: i.protocol,
              enableRss: i.enableRss,
              enableAutomaticSearch: i.enableAutomaticSearch,
              enableInteractiveSearch: i.enableInteractiveSearch,
              priority: i.priority,
            })),
          }, null, 2),
        }],
      };
  • src/index.ts:538-544 (registration)
    Tool registration: Adds 'prowlarr_get_indexers' to TOOLS array if Prowlarr client is configured.
    name: "prowlarr_get_indexers",
    description: "Get all configured indexers in Prowlarr",
    inputSchema: {
      type: "object" as const,
      properties: {},
      required: [],
    },
  • Input schema for the tool: empty object (no parameters required).
    inputSchema: {
      type: "object" as const,
      properties: {},
      required: [],
    },
  • Base ArrClient.request() method used by getIndexers() to perform the HTTP request to Prowlarr API.
    protected async request<T>(endpoint: string, options: RequestInit = {}): Promise<T> {
      const url = `${this.config.url}/api/${this.apiVersion}${endpoint}`;
      const headers: Record<string, string> = {
        'Content-Type': 'application/json',
        'X-Api-Key': this.config.apiKey,
        ...(options.headers as Record<string, string> || {}),
      };
    
      const response = await fetch(url, {
        ...options,
        headers,
      });
    
      if (!response.ok) {
        const text = await response.text();
        throw new Error(`${this.serviceName} API error: ${response.status} ${response.statusText} - ${text}`);
      }
    
      return response.json() as Promise<T>;
    }

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/aplaceforallmystuff/mcp-arr'

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