TorrentClaw-MCP
OfficialAllows checking the streaming availability of movies and TV shows on Netflix as part of content discovery and search results.
torrentclaw-mcp
Model Context Protocol server for TorrentClaw — giving AI assistants the ability to search movies and TV shows, find torrents with magnet links, check streaming availability, and explore cast/crew metadata.
torrentclaw-mcp is developed by TorrentClaw as part of its open-source ecosystem. It wraps the TorrentClaw API into the MCP standard so that any compatible AI assistant (Claude, GPT, etc.) can access the platform's search and discovery features natively.
Quick Start
npx torrentclaw-mcpNo API key required (optional for higher rate limits).
Related MCP server: Arr Suite MCP Server
What can it do?
Tools
Tool | Description |
| Search movies/shows with filters (query, type, genre, year, rating, quality, language, audio, HDR, season, episode, sort). Returns torrents, magnet links, and optional streaming info. |
| Type-ahead search suggestions (up to 8 results). Use to validate titles before a full search. |
| Get popular content ranked by user clicks |
| Get recently added content |
| Streaming availability by country (Netflix, Disney+, etc.) |
| Cast and director for a title |
| Get .torrent file download URL from info hash |
| Track user interaction with a torrent (magnet click, download, copy) |
| Submit a torrent for audio/video quality analysis via TrueSpec |
| Check the status of a torrent scan request |
Resources
URI | Description |
| Catalog statistics (content/torrent counts by source) |
Prompts
Prompt | Description |
| Search for a movie by title and get torrents + streaming |
| Search for a TV show by title and get torrents |
| Discover recently added movies and TV shows |
| Find where to stream, rent, or buy a title |
Configuration
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"torrentclaw": {
"command": "npx",
"args": ["-y", "torrentclaw-mcp"]
}
}
}Claude Code
Add to .mcp.json or ~/.claude/settings.json:
{
"mcpServers": {
"torrentclaw": {
"command": "npx",
"args": ["-y", "torrentclaw-mcp"]
}
}
}Environment Variables
Variable | Default | Description |
|
| Base URL of the TorrentClaw API |
| (none) | Optional API key for authenticated access (higher rate limits) |
Project Structure
.
├── src/
│ ├── index.ts # MCP server entry point
│ ├── config.ts # Configuration & URL validation
│ ├── api-client.ts # TorrentClaw API client with caching
│ ├── types.ts # TypeScript interfaces for API responses
│ ├── prompts.ts # MCP prompt definitions
│ ├── tools/ # MCP tool implementations
│ │ ├── search-content.ts
│ │ ├── autocomplete.ts
│ │ ├── get-popular.ts
│ │ ├── get-recent.ts
│ │ ├── get-watch-providers.ts
│ │ ├── get-credits.ts
│ │ ├── get-torrent-url.ts
│ │ ├── track-interaction.ts
│ │ └── scan-request.ts
│ ├── formatters/ # Output formatting
│ │ ├── content.ts
│ │ ├── providers.ts
│ │ └── credits.ts
│ └── resources/ # MCP resources
│ └── stats.ts
├── tests/ # Test suite (vitest)
├── .github/workflows/ # CI/CD (lint, build, test, release)
├── lefthook.yml # Git hooks (commit lint, prettier, tsc)
├── Makefile # Dev workflow (build, test, lint, fmt)
├── CONTRIBUTING.md # Contribution guidelines
├── LICENSE # MIT
└── README.mdDevelopment
git clone https://github.com/torrentclaw/torrentclaw-mcp.git
cd torrentclaw-mcp
make install-tools
make hooks
make build && make testTest with MCP Inspector:
npx @modelcontextprotocol/inspector node build/index.jsAbout TorrentClaw
TorrentClaw is an open platform focused on improving the quality and reliability of torrent metadata. Our mission is to make torrent search engines more accurate and the torrent ecosystem healthier — by building tools that verify, enrich, and standardize metadata across the network.
torrentclaw-mcp is part of the TorrentClaw open-source ecosystem, alongside TrueSpec (torrent metadata verification).
Contributing
See CONTRIBUTING.md for guidelines.
License
MIT License — see LICENSE for details.
Available Tools
10 toolsautocompleteA
Get type-ahead search suggestions for movies and TV shows. Use this to validate or disambiguate a title before calling search_content. Returns up to 8 suggestions with id, title, year, and content type. Much faster than a full search.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Partial title to get suggestions for (min 2 chars). E.g. 'break' → 'Breaking Bad', 'The Break-Up'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses key behavioral traits: the tool is read-only (implied by 'Get'), returns up to 8 suggestions with specific fields (id, title, year, content type), and is performance-oriented ('Much faster than a full search'). However, it lacks details on error handling or rate limits.
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 front-loaded with the core purpose, followed by usage guidance and behavioral details. Every sentence earns its place: the first states the purpose, the second provides usage context, the third specifies output, and the fourth highlights performance. No wasted words.
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 tool's low complexity (1 parameter, no output schema, no annotations), the description is largely complete. It covers purpose, usage, output format, and performance. However, without an output schema, it could benefit from more detail on return values (e.g., structure of suggestions).
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?
Schema description coverage is 100%, so the schema already fully documents the single parameter 'query'. The description adds no additional parameter semantics beyond what's in the schema (e.g., no extra context on format or examples). Baseline 3 is appropriate as the schema does the heavy lifting.
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 description clearly states the tool's purpose with specific verbs ('Get type-ahead search suggestions') and resources ('movies and TV shows'), distinguishing it from siblings like 'search_content' by emphasizing speed and validation/disambiguation. It explicitly names the alternative tool ('search_content') for full searches.
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 provides explicit guidance on when to use this tool ('to validate or disambiguate a title before calling search_content') and when not to use it (implied: for full searches, use 'search_content' instead). It names the alternative tool and explains the trade-off ('Much faster than a full search').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_creditsA
Get the director and top 10 cast members (with character names) for a movie or TV show. Use when the user asks about actors, cast, director, or 'who is in' a title. Requires content_id from search_content results.
| Name | Required | Description | Default |
|---|---|---|---|
| content_id | Yes | Numeric content ID from search_content results (the 'Content ID' field). Example: 42 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes the tool's behavior: it returns specific structured data (director and top 10 cast with character names) and has a prerequisite dependency on search_content. However, it doesn't mention potential limitations like what happens if the content_id is invalid or if there are fewer than 10 cast members.
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 perfectly concise and front-loaded: the first sentence states the core purpose, the second provides usage guidelines, and the third specifies prerequisites. Every sentence earns its place with no wasted words, making it easy for an agent to quickly understand when and how to use this tool.
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?
For a read-only lookup tool with one well-documented parameter and no output schema, the description is nearly complete. It explains what data is returned, when to use it, and dependencies. The main gap is the lack of output format details (structure of returned cast/director data), which would be helpful since there's no output schema.
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?
Schema description coverage is 100%, so the schema already fully documents the single parameter (content_id). The description adds context by explaining that this ID must come from search_content results, which is useful but doesn't provide additional semantic meaning beyond what the schema's description field already states ('Numeric content ID from search_content results').
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 description clearly states the specific action ('Get') and resource ('director and top 10 cast members for a movie or TV show'), distinguishing it from siblings like search_content (which finds content) or get_watch_providers (which finds where to watch). It explicitly lists the exact data returned: director and cast with character names.
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 provides explicit guidance on when to use this tool ('when the user asks about actors, cast, director, or 'who is in' a title') and includes a prerequisite ('Requires content_id from search_content results'), clearly differentiating it from alternatives like search_content (which finds IDs) or get_popular (which lists trending content).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_popularA
Get trending movies and TV shows ranked by user click count. Use when the user asks for recommendations, trending titles, or 'what's popular'. Returns a paginated list with title, year, type, ratings, and content_id. Note: results do NOT include torrents — to get torrents for a title, call search_content with its name.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of items (default: 12) | |
| page | No | Page number (default: 1) | |
| locale | No | Locale for translated titles (e.g. 'es' for Spanish, 'fr' for French). If omitted, returns English. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behaviors: the ranking method ('by user click count'), the return format ('paginated list with title, year, type, ratings, and content_id'), and important exclusions ('results do NOT include torrents'). It doesn't mention rate limits or authentication needs, but covers the core operational behavior well.
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 efficiently structured with three sentences that each serve distinct purposes: stating the tool's function, specifying when to use it, and providing important behavioral notes. There's no wasted verbiage, and key information is front-loaded.
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?
For a read-only tool with no output schema, the description provides excellent context: it explains what the tool returns, how results are ranked, pagination behavior, and important limitations. The only minor gap is the lack of explicit mention of default parameter values, though these are in the schema.
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?
Schema description coverage is 100%, so all parameters are documented in the schema. The description doesn't add any parameter-specific information beyond what's already in the schema descriptions. This meets the baseline expectation when schema coverage is complete.
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 description clearly states the specific action ('Get trending movies and TV shows'), the resource ('ranked by user click count'), and distinguishes it from siblings by explicitly mentioning what it does NOT include ('results do NOT include torrents') and pointing to an alternative ('search_content'). This provides a complete and differentiated purpose statement.
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 explicitly states when to use this tool ('when the user asks for recommendations, trending titles, or "what's popular"') and provides clear alternatives ('to get torrents for a title, call search_content with its name'). This gives comprehensive guidance on both appropriate and inappropriate use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_recentA
Get the most recently added movies and TV shows, sorted by addition date. Use when the user asks 'what's new', 'latest additions', or 'recently added'. Returns a paginated list with title, year, type, ratings, date added, and content_id. Note: results do NOT include torrents — to get torrents for a title, call search_content with its name.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of items (default: 12) | |
| page | No | Page number (default: 1) | |
| locale | No | Locale for translated titles (e.g. 'es' for Spanish, 'fr' for French). If omitted, returns English. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses key behavioral traits: the sorting method ('sorted by addition date'), pagination behavior, return fields, and the important exclusion of torrents. It doesn't mention rate limits, authentication needs, or error conditions, but covers the core operational behavior well.
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 efficiently structured with three sentences that each add value: purpose statement, usage guidance, and behavioral details. It's front-loaded with the core functionality and has zero wasted words.
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?
For a read-only listing tool with no annotations and no output schema, the description provides good context: purpose, usage guidelines, return format details, and sibling differentiation. It could mention response format more explicitly or error cases, but covers the essential operational context well.
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?
Schema description coverage is 100%, so the schema already fully documents all three parameters. The description doesn't add any parameter-specific information beyond what's in the schema. This meets the baseline expectation when schema coverage is complete.
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 description clearly states the tool's purpose with specific verbs ('get', 'sorted') and resources ('movies and TV shows'), and distinguishes it from siblings by specifying it returns 'most recently added' content. It explicitly differentiates from search_content for torrents.
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 provides explicit guidance on when to use this tool ('when the user asks 'what's new', 'latest additions', or 'recently added'') and when not to use it ('results do NOT include torrents — to get torrents... call search_content'). It names the specific alternative tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_scan_statusA
Check the status of a torrent audio/video scan request. Returns the current scan status (pending, scanning, completed, failed). Use after submit_scan_request.
| Name | Required | Description | Default |
|---|---|---|---|
| info_hash | Yes | 40-character hex torrent info_hash to check |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It describes the return values (pending, scanning, completed, failed) which is helpful, but doesn't mention error handling, rate limits, authentication requirements, or whether this is a read-only operation. The description adds some behavioral context but leaves gaps for a status-checking tool.
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 perfectly concise with two sentences that each serve distinct purposes: the first states what the tool does and returns, the second provides usage guidance. Every word earns its place with zero waste.
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?
For a single-parameter status-checking tool with no annotations and no output schema, the description provides good context about what it returns and when to use it. However, it could be more complete by mentioning whether this is a read operation (implied but not stated) and providing more detail about the return format beyond just listing status values.
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?
Schema description coverage is 100%, so the schema already documents the single parameter completely. The description doesn't add any parameter-specific information beyond what's in the schema (info_hash as 40-character hex for torrent to check). This meets the baseline expectation when schema coverage is high.
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 description clearly states the tool's purpose with specific verbs ('check the status') and resource ('torrent audio/video scan request'), and distinguishes it from sibling tools by referencing 'submit_scan_request' as a prerequisite. It explicitly identifies what it returns (current scan status with possible values).
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 provides explicit guidance on when to use this tool: 'Use after submit_scan_request.' This clearly defines the prerequisite context and distinguishes it from alternatives by indicating it's for checking status after a scan request has been submitted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_torrent_urlA
Get a direct .torrent file download URL from an info_hash. Use when the user specifically wants a .torrent file rather than a magnet link (magnet links are already in search_content results). Returns a single URL the user can open in their browser or torrent client.
| Name | Required | Description | Default |
|---|---|---|---|
| info_hash | Yes | 40-character hex torrent info_hash from search_content results (e.g. 'a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively communicates that this is a read-only operation (returns a URL), specifies the return format ('single URL'), and indicates how the output can be used ('open in their browser or torrent client'). It doesn't mention potential errors, rate limits, or authentication requirements, but provides solid operational context.
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 perfectly concise with two focused sentences. The first sentence states the purpose and usage guidelines, the second describes the return value and how to use it. Every word serves a clear purpose with zero waste or redundancy.
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?
For a single-parameter tool with no output schema and no annotations, the description provides excellent context about what the tool does, when to use it, and what it returns. It could potentially mention error cases or that the URL might expire, but overall it's quite complete for this level of complexity.
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?
The schema description coverage is 100%, with the single parameter 'info_hash' well-documented in the schema. The description doesn't add any additional parameter semantics beyond what's already in the schema, so it meets the baseline expectation without providing extra value.
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 description clearly states the specific action ('Get a direct .torrent file download URL') and resource ('from an info_hash'), distinguishing it from sibling tools like search_content that provide magnet links. It explicitly defines what the tool does in a single, unambiguous sentence.
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 explicitly states when to use this tool ('when the user specifically wants a .torrent file rather than a magnet link') and provides a clear alternative ('magnet links are already in search_content results'). This gives perfect guidance on tool selection versus available alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_watch_providersA
Check where a movie or TV show is available to stream, rent, or buy (Netflix, Disney+, Amazon Prime, etc.) in a specific country. Requires content_id from search_content results. Note: if you passed country to search_content, streaming info is already in those results — use this tool only for a different country or to get more detail. Returns grouped providers: Stream (subscription), Free, Rent, Buy.
| Name | Required | Description | Default |
|---|---|---|---|
| content_id | Yes | Numeric content ID from search_content results (the 'Content ID' field). Example: 42 | |
| country | No | ISO 3166-1 country code (e.g. US, ES, GB, DE). Default: US | US |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does well by explaining the return format ('Returns grouped providers: Stream (subscription), Free, Rent, Buy'), which is valuable context. However, it doesn't mention potential limitations like rate limits, error conditions, or authentication requirements, leaving some behavioral aspects uncovered.
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 efficiently structured with three sentences that each serve a distinct purpose: stating the tool's function, providing usage guidelines, and describing the return format. There's no wasted text, and the most critical information (what the tool does) is presented first.
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?
For a tool with 2 parameters, 100% schema coverage, and no output schema, the description provides good contextual completeness. It explains the purpose, usage guidelines, and return format. The main gap is the lack of output schema, but the description compensates by describing the return structure. Some additional behavioral context (like error handling) would make it more complete.
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?
Schema description coverage is 100%, so the schema already fully documents both parameters. The description adds minimal value beyond the schema by mentioning that content_id comes from 'search_content results' and that country is 'specific,' but doesn't provide additional semantic context or usage examples beyond what's in the schema descriptions. This meets the baseline for high schema coverage.
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 description clearly states the specific action ('check where a movie or TV show is available'), the resource ('to stream, rent, or buy'), and provides concrete examples ('Netflix, Disney+, Amazon Prime, etc.'). It distinguishes this tool from sibling tools like 'search_content' by focusing on provider availability rather than content search.
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 provides explicit guidance on when to use this tool versus alternatives: 'use this tool only for a different country or to get more detail' compared to 'search_content' results. It also specifies prerequisites: 'Requires content_id from search_content results.' This gives clear context for when and why to select this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_contentA
Search for movies and TV shows by title, genre, year, rating, or quality. Returns matching content with metadata (title, year, genres, IMDb/TMDB ratings) and torrent download options (magnet links, quality, seeders, file size). This is the primary tool — use it first when a user asks to find, download, or learn about a movie or TV show. Results include a content_id needed by get_watch_providers and get_credits. For TV shows, you can filter by season/episode. Season/episode can also be auto-detected from the query (e.g. 'Bluey s01e05'). IMPORTANT: When presenting results to users, make magnet links clickable using markdown format Download, include the contentUrl for browsing all seasons/episodes, and present the information in a user-friendly format rather than raw tables.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query — typically a movie or TV show title (e.g. 'The Matrix', 'Breaking Bad'). Supports partial matches. Season/episode can be included in query (e.g. 'Bluey s01e05'). | |
| type | No | Filter by content type: 'movie' or 'show' | |
| genre | No | Filter by genre name. Common values: Action, Adventure, Animation, Comedy, Crime, Documentary, Drama, Family, Fantasy, History, Horror, Music, Mystery, Romance, Science Fiction, Thriller, War, Western | |
| year_min | No | Minimum release year (e.g. 2020) | |
| year_max | No | Maximum release year (e.g. 2025) | |
| min_rating | No | Minimum IMDb rating (0-10). Example: 7 for well-rated content | |
| quality | No | Filter torrents by resolution | |
| language | No | ISO 639-1 language code to filter torrents (e.g. 'en' for English, 'es' for Spanish, 'fr' for French). Lowercase 2-letter code. | |
| audio | No | Filter torrents by audio codec (e.g. 'aac', 'flac', 'atmos', 'opus', 'dts'). Substring match. | |
| hdr | No | Filter torrents by HDR format | |
| availability | No | Filter by torrent availability: 'available' (has seeders), 'unavailable' (no seeders), 'all' (default). | |
| season | No | Season number for TV shows (0-99). Use with type='show' to filter torrents for a specific season. | |
| episode | No | Episode number for TV shows (0-999). Use with season to filter torrents for a specific episode. | |
| locale | No | Locale for translated titles and overviews (e.g. 'es' for Spanish, 'fr' for French). If omitted, returns English. | |
| sort | No | Sort order for results | relevance |
| page | No | Page number (default: 1, max: 1000) | |
| limit | No | Results per page (default: 20, max: 50) | |
| country | No | ISO 3166-1 country code for streaming availability (e.g. US, ES, GB, DE). If provided, results include which streaming services offer each title. If omitted, no streaming data is returned. | |
| compact | No | When true, returns shorter magnet links (hash only, no trackers) to reduce output size. Magnets are still clickable. Recommended for large result sets or when context window is limited. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behaviors: it returns metadata and torrent download options, explains that results include a content_id for other tools, details how to present results to users (clickable magnet links, user-friendly format), and mentions auto-detection of season/episode from queries. However, it lacks information on rate limits, authentication needs, or error handling, which are important for a complex search tool.
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 appropriately sized and front-loaded, starting with the core purpose and usage guidelines. It efficiently covers key points in three sentences, but the last sentence with formatting instructions is lengthy and could be streamlined. Most sentences earn their place by adding value beyond the schema, though some redundancy exists with parameter mentions.
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 tool's complexity (19 parameters, no annotations, no output schema), the description does a good job of providing context. It explains the tool's role as primary, output format, dependencies with other tools, and presentation guidelines. However, it doesn't describe the return structure (e.g., pagination, error responses) or performance considerations, leaving some gaps for a tool of this scope.
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?
Schema description coverage is 100%, so the schema already documents all 19 parameters thoroughly. The description adds minimal parameter semantics beyond the schema—it mentions filtering by 'title, genre, year, rating, or quality' and season/episode handling, but doesn't provide additional syntax, format details, or usage examples that aren't already in the schema descriptions. This meets the baseline of 3 when schema coverage is high.
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 description explicitly states the tool's purpose: 'Search for movies and TV shows by title, genre, year, rating, or quality.' It specifies the resource (movies/TV shows), the action (search with multiple filters), and distinguishes it from siblings by calling it 'the primary tool' for finding/downloading content, unlike autocomplete or get_popular which serve different purposes.
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 provides clear usage guidance: 'This is the primary tool — use it first when a user asks to find, download, or learn about a movie or TV show.' It explicitly names when to use it (first for search/download tasks) and implies alternatives by mentioning other tools like get_watch_providers and get_credits that depend on its output, helping the agent choose correctly among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_scan_requestA
Submit a torrent for audio/video quality analysis (codec, tracks, resolution, HDR). Use when the user wants to know the exact media specs of a torrent before downloading. Results are not instant — use get_scan_status to check progress. Rate limited to 5 requests per hour.
| Name | Required | Description | Default |
|---|---|---|---|
| info_hash | Yes | 40-character hex torrent info_hash to scan | |
| Yes | Email address for scan completion notification |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and effectively discloses key behavioral traits: it's a submission/initiation tool (not read-only), mentions rate limits ('Rate limited to 5 requests per hour'), and explains the asynchronous nature ('Results are not instant'). It doesn't cover error handling or authentication needs, but provides substantial operational context.
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?
Three tightly focused sentences with zero waste: first states purpose, second provides usage context, third covers behavioral constraints. Every sentence earns its place by adding distinct value, and the description is appropriately front-loaded with the core functionality.
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?
For a 2-parameter tool with no annotations and no output schema, the description provides excellent context about purpose, usage, and behavioral constraints. It explains the asynchronous workflow and rate limiting, which are critical for proper use. The main gap is lack of information about return values or error cases, but overall it's quite complete for its complexity level.
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?
Schema description coverage is 100%, so the schema already fully documents both parameters (info_hash and email). The description doesn't add any parameter-specific information beyond what's in the schema, maintaining the baseline score of 3 for adequate but not enhanced parameter documentation.
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 description clearly states the specific action ('submit a torrent for audio/video quality analysis') and resource ('torrent'), with detailed scope ('codec, tracks, resolution, HDR'). It distinguishes from siblings by focusing on quality analysis rather than searching, getting status, or other operations.
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?
Explicitly states when to use ('when the user wants to know the exact media specs of a torrent before downloading') and when not to use ('Results are not instant — use get_scan_status to check progress'), with a clear alternative named (get_scan_status). This provides complete guidance on tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
track_interactionA
Track a user interaction with a torrent (magnet link click, .torrent download, or hash copy). Use this after presenting a magnet link or torrent URL to the user, to keep popularity stats accurate. Fire-and-forget — does not block.
| Name | Required | Description | Default |
|---|---|---|---|
| info_hash | Yes | 40-character hex torrent info_hash | |
| action | Yes | Type of interaction: 'magnet' (clicked magnet link), 'torrent_download' (downloaded .torrent file), 'copy' (copied info hash or magnet) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and does well by disclosing key behavioral traits: it's a 'fire-and-forget' operation that 'does not block' (implying asynchronous/non-blocking nature). However, it doesn't mention error handling, rate limits, or authentication requirements, which would be helpful for a tracking tool.
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 perfectly concise with three sentences that each earn their place: first states the purpose, second provides usage context, third describes behavioral characteristics. No wasted words, and the most important information (what the tool does) comes first.
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?
For a 2-parameter tool with no annotations and no output schema, the description provides good context about purpose, usage, and behavior. However, it doesn't mention what happens after tracking (how stats are updated, whether there's confirmation) or potential error cases, leaving some gaps in completeness.
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?
Schema description coverage is 100%, so the baseline is 3. The description doesn't add parameter-specific information beyond what's already in the schema (info_hash format, action enum values). It mentions the three action types but doesn't provide additional context about their differences or when to use each.
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 description clearly states the specific action ('track a user interaction') and resource ('with a torrent'), specifying three concrete interaction types (magnet link click, .torrent download, hash copy). It distinguishes this tool from siblings like 'get_popular' or 'search_content' by focusing on recording interactions rather than retrieving data.
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 explicitly states when to use this tool ('after presenting a magnet link or torrent URL to the user') and why ('to keep popularity stats accurate'). It also provides guidance on when not to use it by specifying it's for tracking interactions rather than other torrent-related operations handled by sibling tools.
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. Dates show when Glama detected each change.
10 tool updates
v0.2.2- First observed
autocomplete - First observed
get_credits - First observed
get_popular - First observed
get_recent - First observed
get_scan_status - First observed
get_torrent_url - First observed
get_watch_providers - First observed
search_content - First observed
submit_scan_request - First observed
track_interaction
TDQS
Each tool has a distinct, well-defined purpose with minimal overlap. For example, autocomplete provides suggestions, search_content is the primary search tool, get_credits retrieves cast info, and get_torrent_url handles .torrent file downloads. The descriptions clearly differentiate when to use each tool, preventing misselection.
All tool names follow a consistent verb_noun pattern (e.g., get_credits, search_content, submit_scan_request). The naming is uniform across all 10 tools, using snake_case and clear action-object pairs, making the set predictable and easy to understand.
With 10 tools, the server is well-scoped for its torrent and media search domain. The tools cover key workflows like searching, getting metadata, checking availability, and handling torrents, without being overwhelming. Each tool serves a specific, justified role in the overall functionality.
The toolset provides comprehensive coverage for torrent discovery and media information, including search, metadata, popularity, credits, watch providers, and torrent analysis. A minor gap is the lack of a tool for managing user preferences or saved content, but core operations are well-covered, allowing agents to handle most user requests effectively.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
The media memory layer for AI agents and their humans. Your AI client gets 29 tools to search your collection, add items, update ratings, preview music, and find patterns across everything you've read, watched, and listened to.
15 media & data tools for AI agents: search, transcribe, subtitles, voiceover, translate & more.
- AchriomOAuthcom.achriom
Media memory for AI agents and their humans: books, movies, music, shows, anime, podcasts, games.
Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides integration with The Movie Database (TMDB) API for searching movies, TV shows, and people, accessing detailed information, and discovering popular and trending content. Enables AI assistants to access comprehensive movie and television metadata including ratings, cast, crew, and overviews.631MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to manage media automation services like Sonarr, Radarr, Prowlarr, Bazarr, Overseerr, and Plex through natural language commands.7MIT
- AlicenseBqualityFmaintenanceEnables natural language interaction with MoviePilot media library automation, supporting search, discovery, subscription management, download control, and media status queries.109MIT
- FlicenseAqualityCmaintenanceEnables searching for movies and TV shows and retrieving streaming availability data across multiple platforms and countries.32-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/torrentclaw/torrentclaw-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server