prowlarr_get_stats
Retrieve indexer performance statistics including queries, grabs, and failures to monitor search reliability and track download activity.
Instructions
Get indexer statistics (queries, grabs, failures)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/index.ts:1617-1642 (handler)MCP tool handler: checks if Prowlarr client configured, calls getIndexerStats(), formats stats with counts, per-indexer details, and totals into JSON responsecase "prowlarr_get_stats": { if (!clients.prowlarr) throw new Error("Prowlarr not configured"); const stats = await clients.prowlarr.getIndexerStats(); return { content: [{ type: "text", text: JSON.stringify({ count: stats.indexers.length, indexers: stats.indexers.map(s => ({ name: s.indexerName, queries: s.numberOfQueries, grabs: s.numberOfGrabs, failedQueries: s.numberOfFailedQueries, failedGrabs: s.numberOfFailedGrabs, avgResponseTime: s.averageResponseTime + 'ms', })), totals: { queries: stats.indexers.reduce((sum, s) => sum + s.numberOfQueries, 0), grabs: stats.indexers.reduce((sum, s) => sum + s.numberOfGrabs, 0), failedQueries: stats.indexers.reduce((sum, s) => sum + s.numberOfFailedQueries, 0), failedGrabs: stats.indexers.reduce((sum, s) => sum + s.numberOfFailedGrabs, 0), }, }, null, 2), }], }; }
- src/index.ts:570-577 (schema)Tool schema: defines name, description, and empty input schema (no parameters required)name: "prowlarr_get_stats", description: "Get indexer statistics (queries, grabs, failures)", inputSchema: { type: "object" as const, properties: {}, required: [], }, }
- src/index.ts:535-579 (registration)Tool registration: adds prowlarr_get_stats to TOOLS array conditionally if Prowlarr client is configuredif (clients.prowlarr) { TOOLS.push( { name: "prowlarr_get_indexers", description: "Get all configured indexers in Prowlarr", inputSchema: { type: "object" as const, properties: {}, required: [], }, }, { name: "prowlarr_search", description: "Search across all Prowlarr indexers", inputSchema: { type: "object" as const, properties: { query: { type: "string", description: "Search query", }, }, required: ["query"], }, }, { name: "prowlarr_test_indexers", description: "Test all indexers and return their health status", inputSchema: { type: "object" as const, properties: {}, required: [], }, }, { name: "prowlarr_get_stats", description: "Get indexer statistics (queries, grabs, failures)", inputSchema: { type: "object" as const, properties: {}, required: [], }, } ); }
- src/arr-client.ts:978-982 (helper)ProwlarrClient helper: performs API GET request to /indexerstats endpoint to retrieve raw indexer statistics* Get indexer statistics */ async getIndexerStats(): Promise<{ indexers: IndexerStats[] }> { return this['request']<{ indexers: IndexerStats[] }>('/indexerstats'); }
- src/arr-client.ts:935-948 (schema)TypeScript interface defining the structure of indexer stats data returned from Prowlarr APIexport interface IndexerStats { id: number; indexerId: number; indexerName: string; averageResponseTime: number; numberOfQueries: number; numberOfGrabs: number; numberOfRssQueries: number; numberOfAuthQueries: number; numberOfFailedQueries: number; numberOfFailedGrabs: number; numberOfFailedRssQueries: number; numberOfFailedAuthQueries: number; }