← MCP Security Catalog

TorrentClaw-MCP 0.2.1

npm · @torrentclaw/mcp · latest release

Verified with no proven findings
Security result
10
Observed tools
31
Version rating
100
Change risk

Independent inventory

Observed 2026-08-17T21:27:42.177Z using mcpSecurity-inventory. Protocol 2025-06-18.

ToolCategoryRisk
autocompleteGet 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.
Input schema
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 2,
      "maxLength": 200,
      "description": "Partial title to get suggestions for (min 2 chars). E.g. 'break' → 'Breaking Bad', 'The Break-Up'."
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
get_creditsGet 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.
Input schema
{
  "type": "object",
  "properties": {
    "content_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 999999999,
      "description": "Numeric content ID from search_content results (the 'Content ID' field). Example: 42"
    }
  },
  "required": [
    "content_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
get_popularGet 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.
Input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 24,
      "description": "Number of items (default: 12)"
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number (default: 1)"
    },
    "locale": {
      "type": "string",
      "pattern": "^[a-z]{2}$",
      "description": "Locale for translated titles (e.g. 'es' for Spanish, 'fr' for French). If omitted, returns English."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
get_recentGet 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.
Input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 24,
      "description": "Number of items (default: 12)"
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number (default: 1)"
    },
    "locale": {
      "type": "string",
      "pattern": "^[a-z]{2}$",
      "description": "Locale for translated titles (e.g. 'es' for Spanish, 'fr' for French). If omitted, returns English."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
get_scan_statusCheck the status of a torrent audio/video scan request. Returns the current scan status (pending, scanning, completed, failed). Use after submit_scan_request.
Input schema
{
  "type": "object",
  "properties": {
    "info_hash": {
      "type": "string",
      "pattern": "^[a-fA-F0-9]{40}$",
      "description": "40-character hex torrent info_hash to check"
    }
  },
  "required": [
    "info_hash"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
get_torrent_urlGet 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.
Input schema
{
  "type": "object",
  "properties": {
    "info_hash": {
      "type": "string",
      "pattern": "^[a-fA-F0-9]{40}$",
      "description": "40-character hex torrent info_hash from search_content results (e.g. 'a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2')"
    }
  },
  "required": [
    "info_hash"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
get_watch_providersCheck 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.
Input schema
{
  "type": "object",
  "properties": {
    "content_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 999999999,
      "description": "Numeric content ID from search_content results (the 'Content ID' field). Example: 42"
    },
    "country": {
      "type": "string",
      "pattern": "^[A-Z]{2}$",
      "default": "US",
      "description": "ISO 3166-1 country code (e.g. US, ES, GB, DE). Default: US"
    }
  },
  "required": [
    "content_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
search_contentSearch 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](magnet:?xt=...), include the contentUrl for browsing all seasons/episodes, and present the information in a user-friendly format rather than raw tables.
Input schema
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "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": {
      "type": "string",
      "enum": [
        "movie",
        "show"
      ],
      "description": "Filter by content type: 'movie' or 'show'"
    },
    "genre": {
      "type": "string",
      "maxLength": 50,
      "pattern": "^[a-zA-Z\\s&-]+$",
      "description": "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": {
      "type": "integer",
      "description": "Minimum release year (e.g. 2020)"
    },
    "year_max": {
      "type": "integer",
      "description": "Maximum release year (e.g. 2025)"
    },
    "min_rating": {
      "type": "number",
      "minimum": 0,
      "maximum": 10,
      "description": "Minimum IMDb rating (0-10). Example: 7 for well-rated content"
    },
    "quality": {
      "type": "string",
      "enum": [
        "480p",
        "720p",
        "1080p",
        "2160p"
      ],
      "description": "Filter torrents by resolution"
    },
    "language": {
      "type": "string",
      "pattern": "^[a-z]{2}$",
      "description": "ISO 639-1 language code to filter torrents (e.g. 'en' for English, 'es' for Spanish, 'fr' for French). Lowercase 2-letter code."
    },
    "audio": {
      "type": "string",
      "pattern": "^[a-zA-Z0-9.]+$",
      "description": "Filter torrents by audio codec (e.g. 'aac', 'flac', 'atmos', 'opus', 'dts'). Substring match."
    },
    "hdr": {
      "type": "string",
      "enum": [
        "hdr10",
        "dolby_vision",
        "hdr10plus",
        "hlg"
      ],
      "description": "Filter torrents by HDR format"
    },
    "availability": {
      "type": "string",
      "enum": [
        "all",
        "available",
        "unavailable"
      ],
      "description": "Filter by torrent availability: 'available' (has seeders), 'unavailable' (no seeders), 'all' (default)."
    },
    "season": {
      "type": "integer",
      "minimum": 0,
      "maximum": 99,
      "description": "Season number for TV shows (0-99). Use with type='show' to filter torrents for a specific season."
    },
    "episode": {
      "type": "integer",
      "minimum": 0,
      "maximum": 999,
      "description": "Episode number for TV shows (0-999). Use with season to filter torrents for a specific episode."
    },
    "locale": {
      "type": "string",
      "pattern": "^[a-z]{2}$",
      "description": "Locale for translated titles and overviews (e.g. 'es' for Spanish, 'fr' for French). If omitted, returns English."
    },
    "sort": {
      "type": "string",
      "enum": [
        "relevance",
        "seeders",
        "year",
        "rating",
        "added"
      ],
      "default": "relevance",
      "description": "Sort order for results"
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1000,
      "description": "Page number (default: 1, max: 1000)"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "description": "Results per page (default: 20, max: 50)"
    },
    "country": {
      "type": "string",
      "pattern": "^[A-Z]{2}$",
      "description": "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": {
      "type": "boolean",
      "default": false,
      "description": "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."
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
submit_scan_requestSubmit 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.
Input schema
{
  "type": "object",
  "properties": {
    "info_hash": {
      "type": "string",
      "pattern": "^[a-fA-F0-9]{40}$",
      "description": "40-character hex torrent info_hash to scan"
    },
    "email": {
      "type": "string",
      "format": "email",
      "maxLength": 200,
      "description": "Email address for scan completion notification"
    }
  },
  "required": [
    "info_hash",
    "email"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
track_interactionTrack 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.
Input schema
{
  "type": "object",
  "properties": {
    "info_hash": {
      "type": "string",
      "pattern": "^[a-fA-F0-9]{40}$",
      "description": "40-character hex torrent info_hash"
    },
    "action": {
      "type": "string",
      "enum": [
        "magnet",
        "torrent_download",
        "copy"
      ],
      "description": "Type of interaction: 'magnet' (clicked magnet link), 'torrent_download' (downloaded .torrent file), 'copy' (copied info hash or magnet)"
    }
  },
  "required": [
    "info_hash",
    "action"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Resources 2

Resource templates 0

Prompts 5

Changes from previous version

Compared with initial baseline using full_baseline.

RiskChangeSubject
No material changes recorded.

Confirmed vulnerabilities

SeverityFindingAdvisory
No confirmed vulnerability is published for this version.

Provenance

Artifact SHA-256: c4bbf2cf0f69cccf4acc5ab616a5b74417e64c69027d456e826af207609f069b

Scanner: mcp-proof-engine 0.1.0.

Let’s talk about MCP security.

Share your details and our security team will contact you.