prowlarr-mcp
prowlarr-mcp
Prowlarr 用の MCP サーバー。
セットアップ
cd prowlarr-mcp
uv sync
cp .env.example .env.env に PROWLARR_API_KEY を設定します。API キーは Prowlarr の 設定 → 一般 → セキュリティ で確認できます。
構成:
変数 | デフォルト | 説明 |
|
| Prowlarr のベース URL。URL のベースパスも含みます |
| 必須 | Prowlarr API キー |
|
| HTTP タイムアウト。0 より大きく、最大 300 秒 |
|
|
|
Related MCP server: MCP *arr Server
実行
uv run prowlarr-mcpCodex/OpenCode スタイルの stdio 設定の例:
{
"command": "uv",
"args": [
"--directory",
"/path/to/prowlarr-mcp",
"run",
"prowlarr-mcp"
]
}ツール
search_releases は次を受け付けます:
query: テキストクエリ。空文字の場合は最近のリリースを要求します。search_type:search、tvsearch、movie、music、bookのいずれか。indexer_ids: オプションの Prowlarr インデクサー ID。categories: オプションの Newznab カテゴリ ID。limit: 結果の件数。デフォルトは 20 で、設定により上限が適用されます。offset: 非負の結果オフセット。
レスポンスは Prowlarr の完全な ReleaseResource より意図的に小さく、将来のダウンロード送信ワークフローのために indexer_id と guid を保持しています。Prowlarr は limit を複数のインデクサーに個別に適用することがあるため、MCP サーバーは結合されたレスポンスでもこれを適用します。truncated は MCP サーバーが受信したレスポンスの一部を破棄したことを意味します。これは has_more ページネーションのインジケーターではなく、Prowlarr が追加の結果を持っているかどうかを証明するものではありません。
ロードマップ
v0.1: 設定された Prowlarr インデクサーを通じてリリースを検索する。
利用可能なインデクサーと検索カテゴリを検出する。
選択したリリースを設定済みのダウンロードクライアントに送信する。
Prowlarr のヘルス、インデクサーのステータス、検索履歴を確認する。
MCP クライアントでのテスト
このリポジトリには、サーバーを起動して 1 つのツールを呼び出すための汎用 stdio クライアントが含まれています:
uv run src/prowlarr_mcp/scripts/mcp_client.py \
--command "uv run prowlarr-mcp" \
--method "search_releases" \
--arguments '{"query": "yani neko"}'サーバーコマンドを別のディレクトリから実行する必要がある場合は --cwd を使用し、デフォルトの 60 秒のツール呼び出しタイムアウトを上書きするには --timeout を使用します。この秒cript は構造化されたツール出力を JSON として出力し、無効な入力、接続失敗、または MCP ツールエラーが発生した場合に非ゼロで終了します。
開発
uv run ruff format --check .
uv run ruff check .
uv run pyrefly check
uv run python -m unittest discover -s testsAvailable Tools
1 toolsearch_releasesARead-onlyIdempotent
Search enabled Prowlarr indexers for Torrent or Usenet releases.
An empty query requests recent releases. Omit indexer_ids and categories to search all enabled indexers and categories. Results preserve Prowlarr's ordering. The indexer_id and guid identify a release for a future download submission capability, which is not available in version 0.1.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| offset | No | ||
| categories | No | ||
| indexer_ids | No | ||
| search_type | No | search |
Output Schema
| Name | Required | Description |
|---|---|---|
| limit | Yes | |
| query | Yes | |
| offset | Yes | |
| releases | Yes | |
| returned | Yes | |
| truncated | Yes | |
| search_type | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already provide readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is clear. The description adds meaningful behavioral context beyond annotations: results preserve Prowlarr ordering, empty queries mean recent releases, and indexer_id plus guid are not yet usable for downloads. It does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: three short sentences that front-load the main action and then add behavioral clarifications. The future-download-availability caveat is a small but relevant addition that prevents the agent from assuming a download capability that doesn't exist in this version. No sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple parameter set, no required parameters, a complete output schema, and safety annotations, this description covers everything needed to call the tool correctly. An agent can understand the search scope, the empty-query special case, filtering by indexers/categories, and the result-ordering guarantee.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description compensates by explaining the key query semantics: empty query means recent releases, and omitted indexer_ids/categories search all enabled ones. It does not explicitly describe limit, offset, or search_type, but those are straightforward from the schema defaults and the enum values. This is strong semantic coverage despite a few remaining gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states a specific action ('Search'), a specific resource ('enabled Prowlarr indexers'), and the result domain ('Torrent or Usenet releases'). The empty-query and omit-filter explanations further clarify the scope. Although there are no sibling tools to differentiate from, the purpose is unambiguous and complete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly tells the agent when behaviors change: an empty query requests recent releases, and omitting indexer_ids and categories searches all enabled indexers and categories. There are no sibling tools to compare against, so the lack of alternatives guidance is acceptable; the exclusion of download submission capability is also useful context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v0.1.0- First observed
search_releases
TDQS
Scored across 1 tool
There is only one tool, so there is no possibility of confusing it with another. Its purpose is clearly focused on searching releases, making misselection unnecessary.
search_releases follows a clean verb_noun naming convention. With a single tool there is no conflicting pattern, and the name accurately describes the operation.
A single tool is slightly thin for a server named Prowlarr, but it is appropriate for the currently advertised search-only capability. The missing functionality is explicitly reserved for a future version, so the count is reasonable, not excessive.
The search tool offers robust coverage for querying, filtering by categories or indexer_ids, and fetching recent releases. However, there is no way to discover available indexer_ids or continue from a search result to download submission, and the description explicitly notes that capability is unavailable, leaving a meaningful workflow gap.
Maintenance
Related MCP Connectors
Search the tool catalog. Customer API key required. Catalog metadata is not a security guarantee.
Search OpenAlex papers, authors, institutions and citations. Hosted on Apify; needs an Apify token. Send your own Apify API token as an Authorization: Bearer header.
Search website motion, specs and recreation packs. Account required; OAuth or bearer API key.
Search a curated directory of agent tools, MCP servers, APIs, protocols and skills. No auth.
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables interaction with qBittorrent through its Web API to search for torrents using search plugins and manage downloads. Supports torrent searching, downloading via URLs/magnet links, and torrent management operations like pause, resume, and delete.73-
- AlicenseBqualityCmaintenanceEnables unified control of \*arr media management applications (Sonarr, Radarr, Lidarr, Readarr, Prowlarr) through natural language queries. Manage TV shows, movies, music, books, search for content, monitor downloads, and check upcoming releases across all services.661,003 npm237MIT
- AlicenseAqualityDmaintenanceEnables web search capabilities via a SearXNG instance, allowing for filtered searches across categories like news, images, and science. It supports multi-language queries, time-range filtering, and safe search options to provide formatted results with metadata.1163 npmMIT
- AlicenseAqualityAmaintenanceMCP server exposing Prowlarr's API v1 as tools for managing indexers, applications, download clients, and more, including cross-indexer searches and system commands.10MIT