Skip to main content
Glama
torrentclaw

TorrentClaw-MCP

Official
by torrentclaw

torrentclaw-mcp

npm version License: MIT CI Node.js

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-mcp

No API key required (optional for higher rate limits).

Related MCP server: Arr Suite MCP Server

What can it do?

Tools

Tool

Description

search_content

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.

autocomplete

Type-ahead search suggestions (up to 8 results). Use to validate titles before a full search.

get_popular

Get popular content ranked by user clicks

get_recent

Get recently added content

get_watch_providers

Streaming availability by country (Netflix, Disney+, etc.)

get_credits

Cast and director for a title

get_torrent_url

Get .torrent file download URL from info hash

track_interaction

Track user interaction with a torrent (magnet click, download, copy)

submit_scan_request

Submit a torrent for audio/video quality analysis via TrueSpec

get_scan_status

Check the status of a torrent scan request

Resources

URI

Description

torrentclaw://stats

Catalog statistics (content/torrent counts by source)

Prompts

Prompt

Description

search_movie

Search for a movie by title and get torrents + streaming

search_show

Search for a TV show by title and get torrents

whats_new

Discover recently added movies and TV shows

where_to_watch

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

TORRENTCLAW_API_URL

https://torrentclaw.com

Base URL of the TorrentClaw API

TORRENTCLAW_API_KEY

(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.md

Development

git clone https://github.com/torrentclaw/torrentclaw-mcp.git
cd torrentclaw-mcp
make install-tools
make hooks
make build && make test

Test with MCP Inspector:

npx @modelcontextprotocol/inspector node build/index.js

About 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 tools
autocompleteA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesPartial title to get suggestions for (min 2 chars). E.g. 'break' → 'Breaking Bad', 'The Break-Up'.

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
content_idYesNumeric content ID from search_content results (the 'Content ID' field). Example: 42

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of items (default: 12)
pageNoPage number (default: 1)
localeNoLocale for translated titles (e.g. 'es' for Spanish, 'fr' for French). If omitted, returns English.

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
info_hashYes40-character hex torrent info_hash to check

TDQS

A4.2/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
info_hashYes40-character hex torrent info_hash from search_content results (e.g. 'a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2')

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
content_idYesNumeric content ID from search_content results (the 'Content ID' field). Example: 42
countryNoISO 3166-1 country code (e.g. US, ES, GB, DE). Default: USUS

TDQS

A4.2/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch 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').
typeNoFilter by content type: 'movie' or 'show'
genreNoFilter 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_minNoMinimum release year (e.g. 2020)
year_maxNoMaximum release year (e.g. 2025)
min_ratingNoMinimum IMDb rating (0-10). Example: 7 for well-rated content
qualityNoFilter torrents by resolution
languageNoISO 639-1 language code to filter torrents (e.g. 'en' for English, 'es' for Spanish, 'fr' for French). Lowercase 2-letter code.
audioNoFilter torrents by audio codec (e.g. 'aac', 'flac', 'atmos', 'opus', 'dts'). Substring match.
hdrNoFilter torrents by HDR format
availabilityNoFilter by torrent availability: 'available' (has seeders), 'unavailable' (no seeders), 'all' (default).
seasonNoSeason number for TV shows (0-99). Use with type='show' to filter torrents for a specific season.
episodeNoEpisode number for TV shows (0-999). Use with season to filter torrents for a specific episode.
localeNoLocale for translated titles and overviews (e.g. 'es' for Spanish, 'fr' for French). If omitted, returns English.
sortNoSort order for resultsrelevance
pageNoPage number (default: 1, max: 1000)
limitNoResults per page (default: 20, max: 50)
countryNoISO 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.
compactNoWhen 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

A4.3/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
info_hashYes40-character hex torrent info_hash to scan
emailYesEmail address for scan completion notification

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
info_hashYes40-character hex torrent info_hash
actionYesType of interaction: 'magnet' (clicked magnet link), 'torrent_download' (downloaded .torrent file), 'copy' (copied info hash or magnet)

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

  1. 10 tool updatesv0.2.2
    • First observedautocomplete
    • First observedget_credits
    • First observedget_popular
    • First observedget_recent
    • First observedget_scan_status
    • First observedget_torrent_url
    • First observedget_watch_providers
    • First observedsearch_content
    • First observedsubmit_scan_request
    • First observedtrack_interaction

TDQS

A4.4/5.0
Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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

ActivityInactive
ResponsivenessSyncing

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides 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.
    63
    1
    MIT

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/torrentclaw/torrentclaw-mcp'

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