prowlarr_test_indexers
Test all indexers to check their health status and ensure they are working properly for media management applications.
Instructions
Test all indexers and return their health status
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/index.ts:1594-1615 (handler)Main tool handler in the MCP server request handler switch statement. Calls ProwlarrClient.testAllIndexers() and getIndexers(), maps indexer names, formats results as JSON with counts of healthy/failed indexers.case "prowlarr_test_indexers": { if (!clients.prowlarr) throw new Error("Prowlarr not configured"); const results = await clients.prowlarr.testAllIndexers(); const indexers = await clients.prowlarr.getIndexers(); const indexerMap = new Map(indexers.map(i => [i.id, i.name])); return { content: [{ type: "text", text: JSON.stringify({ count: results.length, indexers: results.map(r => ({ id: r.id, name: indexerMap.get(r.id) || 'Unknown', isValid: r.isValid, errors: r.validationFailures.map(f => f.errorMessage), })), healthy: results.filter(r => r.isValid).length, failed: results.filter(r => !r.isValid).length, }, null, 2), }], }; }
- src/index.ts:561-568 (schema)Tool schema definition: no input parameters required.name: "prowlarr_test_indexers", description: "Test all indexers and return their health status", inputSchema: { type: "object" as const, properties: {}, required: [], }, },
- src/index.ts:561-568 (registration)Tool registration in the TOOLS array, conditionally added if Prowlarr client is configured.name: "prowlarr_test_indexers", description: "Test all indexers and return their health status", inputSchema: { type: "object" as const, properties: {}, required: [], }, },
- src/arr-client.ts:966-968 (helper)ProwlarrClient.testAllIndexers() method: sends POST request to Prowlarr API /indexer/testall to test all configured indexers.async testAllIndexers(): Promise<Array<{ id: number; isValid: boolean; validationFailures: Array<{ propertyName: string; errorMessage: string }> }>> { return this['request']<Array<{ id: number; isValid: boolean; validationFailures: Array<{ propertyName: string; errorMessage: string }> }>>('/indexer/testall', { method: 'POST' }); }