feat: initial release of torrentclaw-mcp server
MCP (Model Context Protocol) server that wraps the TorrentClaw REST API,
enabling LLMs (Claude Desktop, Claude Code, Cursor, etc.) to search movies
and TV shows with torrent downloads and streaming availability.
## Tools (6)
- search_content: primary search with filters (title, genre, year, rating,
quality, language, sort). Returns content metadata + torrent magnet links.
- get_popular: trending content ranked by clicks
- get_recent: most recently added content
- get_watch_providers: streaming availability by country (Netflix, Disney+, etc.)
- get_credits: director and top 10 cast members
- get_torrent_url: .torrent file download URL from info_hash
## Resources
- torrentclaw://stats: catalog statistics (content/torrent counts, sources)
## Prompts (4)
- search_movie, search_show, whats_new, where_to_watch
## LLM Usability
- Server description with workflow guidance for tool chaining
- Tool descriptions include trigger phrases, cross-tool references, and
explicit parameter examples
- Formatted output includes info_hash for tool chaining and call-syntax
cross-references (e.g. "use with get_watch_providers(content_id=42)")
- Popular/recent output hints to use search_content for torrents
- Error messages include status-specific recovery guidance (400, 404, 429, 5xx)
- Prompts reference tools by name for reliable LLM execution
## Security
- SSRF protection: validates TORRENTCLAW_API_URL against private IPs,
localhost, link-local, and IPv6 loopback addresses
- Protocol whitelist: only http/https allowed
- Error body sanitization: 4xx truncated to 200 chars, 5xx bodies omitted
- Input validation: control char filter on queries, regex on country codes,
genre character whitelist, content_id bounds
## Testing
- 85 tests across 13 test files
- Coverage: 99.5% statements, 95.2% branches, 98.1% functions, 99.5% lines
- Vitest v4 with v8 coverage provider, 80% thresholds enforced
## Stack
- TypeScript ESM, Node.js >= 18 (native fetch)
- @modelcontextprotocol/sdk v1.12, zod v3.24
- STDIO transport, runnable via npx torrentclaw-mcp
2026-02-09 17:26:23 +01:00
# torrentclaw-mcp
MCP server for [TorrentClaw ](https://torrentclaw.com ) — search movies and TV shows with torrent download options, streaming availability, and metadata.
## Quick Start
```bash
npx torrentclaw-mcp
```
No API key required.
## Available Tools
2026-02-12 15:22:11 +01:00
| Tool | Description |
| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| `search_content` | Search movies/shows with filters (query, type, genre, year, rating, quality, language, sort). Returns content with torrents and magnet links. |
| `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 |
feat: initial release of torrentclaw-mcp server
MCP (Model Context Protocol) server that wraps the TorrentClaw REST API,
enabling LLMs (Claude Desktop, Claude Code, Cursor, etc.) to search movies
and TV shows with torrent downloads and streaming availability.
## Tools (6)
- search_content: primary search with filters (title, genre, year, rating,
quality, language, sort). Returns content metadata + torrent magnet links.
- get_popular: trending content ranked by clicks
- get_recent: most recently added content
- get_watch_providers: streaming availability by country (Netflix, Disney+, etc.)
- get_credits: director and top 10 cast members
- get_torrent_url: .torrent file download URL from info_hash
## Resources
- torrentclaw://stats: catalog statistics (content/torrent counts, sources)
## Prompts (4)
- search_movie, search_show, whats_new, where_to_watch
## LLM Usability
- Server description with workflow guidance for tool chaining
- Tool descriptions include trigger phrases, cross-tool references, and
explicit parameter examples
- Formatted output includes info_hash for tool chaining and call-syntax
cross-references (e.g. "use with get_watch_providers(content_id=42)")
- Popular/recent output hints to use search_content for torrents
- Error messages include status-specific recovery guidance (400, 404, 429, 5xx)
- Prompts reference tools by name for reliable LLM execution
## Security
- SSRF protection: validates TORRENTCLAW_API_URL against private IPs,
localhost, link-local, and IPv6 loopback addresses
- Protocol whitelist: only http/https allowed
- Error body sanitization: 4xx truncated to 200 chars, 5xx bodies omitted
- Input validation: control char filter on queries, regex on country codes,
genre character whitelist, content_id bounds
## Testing
- 85 tests across 13 test files
- Coverage: 99.5% statements, 95.2% branches, 98.1% functions, 99.5% lines
- Vitest v4 with v8 coverage provider, 80% thresholds enforced
## Stack
- TypeScript ESM, Node.js >= 18 (native fetch)
- @modelcontextprotocol/sdk v1.12, zod v3.24
- STDIO transport, runnable via npx torrentclaw-mcp
2026-02-09 17:26:23 +01:00
## Resources
2026-02-12 15:22:11 +01:00
| URI | Description |
| --------------------- | ----------------------------------------------------- |
feat: initial release of torrentclaw-mcp server
MCP (Model Context Protocol) server that wraps the TorrentClaw REST API,
enabling LLMs (Claude Desktop, Claude Code, Cursor, etc.) to search movies
and TV shows with torrent downloads and streaming availability.
## Tools (6)
- search_content: primary search with filters (title, genre, year, rating,
quality, language, sort). Returns content metadata + torrent magnet links.
- get_popular: trending content ranked by clicks
- get_recent: most recently added content
- get_watch_providers: streaming availability by country (Netflix, Disney+, etc.)
- get_credits: director and top 10 cast members
- get_torrent_url: .torrent file download URL from info_hash
## Resources
- torrentclaw://stats: catalog statistics (content/torrent counts, sources)
## Prompts (4)
- search_movie, search_show, whats_new, where_to_watch
## LLM Usability
- Server description with workflow guidance for tool chaining
- Tool descriptions include trigger phrases, cross-tool references, and
explicit parameter examples
- Formatted output includes info_hash for tool chaining and call-syntax
cross-references (e.g. "use with get_watch_providers(content_id=42)")
- Popular/recent output hints to use search_content for torrents
- Error messages include status-specific recovery guidance (400, 404, 429, 5xx)
- Prompts reference tools by name for reliable LLM execution
## Security
- SSRF protection: validates TORRENTCLAW_API_URL against private IPs,
localhost, link-local, and IPv6 loopback addresses
- Protocol whitelist: only http/https allowed
- Error body sanitization: 4xx truncated to 200 chars, 5xx bodies omitted
- Input validation: control char filter on queries, regex on country codes,
genre character whitelist, content_id bounds
## Testing
- 85 tests across 13 test files
- Coverage: 99.5% statements, 95.2% branches, 98.1% functions, 99.5% lines
- Vitest v4 with v8 coverage provider, 80% thresholds enforced
## Stack
- TypeScript ESM, Node.js >= 18 (native fetch)
- @modelcontextprotocol/sdk v1.12, zod v3.24
- STDIO transport, runnable via npx torrentclaw-mcp
2026-02-09 17:26:23 +01:00
| `torrentclaw://stats` | Catalog statistics (content/torrent counts by source) |
2026-02-09 17:46:24 +01:00
## Prompts
2026-02-12 15:22:11 +01:00
| 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 |
2026-02-09 17:46:24 +01:00
feat: initial release of torrentclaw-mcp server
MCP (Model Context Protocol) server that wraps the TorrentClaw REST API,
enabling LLMs (Claude Desktop, Claude Code, Cursor, etc.) to search movies
and TV shows with torrent downloads and streaming availability.
## Tools (6)
- search_content: primary search with filters (title, genre, year, rating,
quality, language, sort). Returns content metadata + torrent magnet links.
- get_popular: trending content ranked by clicks
- get_recent: most recently added content
- get_watch_providers: streaming availability by country (Netflix, Disney+, etc.)
- get_credits: director and top 10 cast members
- get_torrent_url: .torrent file download URL from info_hash
## Resources
- torrentclaw://stats: catalog statistics (content/torrent counts, sources)
## Prompts (4)
- search_movie, search_show, whats_new, where_to_watch
## LLM Usability
- Server description with workflow guidance for tool chaining
- Tool descriptions include trigger phrases, cross-tool references, and
explicit parameter examples
- Formatted output includes info_hash for tool chaining and call-syntax
cross-references (e.g. "use with get_watch_providers(content_id=42)")
- Popular/recent output hints to use search_content for torrents
- Error messages include status-specific recovery guidance (400, 404, 429, 5xx)
- Prompts reference tools by name for reliable LLM execution
## Security
- SSRF protection: validates TORRENTCLAW_API_URL against private IPs,
localhost, link-local, and IPv6 loopback addresses
- Protocol whitelist: only http/https allowed
- Error body sanitization: 4xx truncated to 200 chars, 5xx bodies omitted
- Input validation: control char filter on queries, regex on country codes,
genre character whitelist, content_id bounds
## Testing
- 85 tests across 13 test files
- Coverage: 99.5% statements, 95.2% branches, 98.1% functions, 99.5% lines
- Vitest v4 with v8 coverage provider, 80% thresholds enforced
## Stack
- TypeScript ESM, Node.js >= 18 (native fetch)
- @modelcontextprotocol/sdk v1.12, zod v3.24
- STDIO transport, runnable via npx torrentclaw-mcp
2026-02-09 17:26:23 +01:00
## Configuration
### Claude Desktop
Add to `claude_desktop_config.json` :
```json
{
"mcpServers": {
"torrentclaw": {
"command": "npx",
"args": ["-y", "torrentclaw-mcp"]
}
}
}
```
### Claude Code
Add to `.mcp.json` or `~/.claude/settings.json` :
```json
{
"mcpServers": {
"torrentclaw": {
"command": "npx",
"args": ["-y", "torrentclaw-mcp"]
}
}
}
```
### Self-hosted
Point to your own TorrentClaw instance:
```json
{
"mcpServers": {
"torrentclaw": {
"command": "npx",
"args": ["-y", "torrentclaw-mcp"],
"env": {
2026-02-09 17:46:24 +01:00
"TORRENTCLAW_API_URL": "http://localhost:3030",
"TORRENTCLAW_ALLOW_PRIVATE": "true"
feat: initial release of torrentclaw-mcp server
MCP (Model Context Protocol) server that wraps the TorrentClaw REST API,
enabling LLMs (Claude Desktop, Claude Code, Cursor, etc.) to search movies
and TV shows with torrent downloads and streaming availability.
## Tools (6)
- search_content: primary search with filters (title, genre, year, rating,
quality, language, sort). Returns content metadata + torrent magnet links.
- get_popular: trending content ranked by clicks
- get_recent: most recently added content
- get_watch_providers: streaming availability by country (Netflix, Disney+, etc.)
- get_credits: director and top 10 cast members
- get_torrent_url: .torrent file download URL from info_hash
## Resources
- torrentclaw://stats: catalog statistics (content/torrent counts, sources)
## Prompts (4)
- search_movie, search_show, whats_new, where_to_watch
## LLM Usability
- Server description with workflow guidance for tool chaining
- Tool descriptions include trigger phrases, cross-tool references, and
explicit parameter examples
- Formatted output includes info_hash for tool chaining and call-syntax
cross-references (e.g. "use with get_watch_providers(content_id=42)")
- Popular/recent output hints to use search_content for torrents
- Error messages include status-specific recovery guidance (400, 404, 429, 5xx)
- Prompts reference tools by name for reliable LLM execution
## Security
- SSRF protection: validates TORRENTCLAW_API_URL against private IPs,
localhost, link-local, and IPv6 loopback addresses
- Protocol whitelist: only http/https allowed
- Error body sanitization: 4xx truncated to 200 chars, 5xx bodies omitted
- Input validation: control char filter on queries, regex on country codes,
genre character whitelist, content_id bounds
## Testing
- 85 tests across 13 test files
- Coverage: 99.5% statements, 95.2% branches, 98.1% functions, 99.5% lines
- Vitest v4 with v8 coverage provider, 80% thresholds enforced
## Stack
- TypeScript ESM, Node.js >= 18 (native fetch)
- @modelcontextprotocol/sdk v1.12, zod v3.24
- STDIO transport, runnable via npx torrentclaw-mcp
2026-02-09 17:26:23 +01:00
}
}
}
}
```
## Environment Variables
2026-02-12 15:22:11 +01:00
| Variable | Default | Description |
| --------------------------- | ------------------------- | ---------------------------------------------------------------------- |
| `TORRENTCLAW_API_URL` | `https://torrentclaw.com` | Base URL of the TorrentClaw API |
| `TORRENTCLAW_ALLOW_PRIVATE` | `false` | Set to `true` to allow private/localhost URLs (for self-hosted setups) |
feat: initial release of torrentclaw-mcp server
MCP (Model Context Protocol) server that wraps the TorrentClaw REST API,
enabling LLMs (Claude Desktop, Claude Code, Cursor, etc.) to search movies
and TV shows with torrent downloads and streaming availability.
## Tools (6)
- search_content: primary search with filters (title, genre, year, rating,
quality, language, sort). Returns content metadata + torrent magnet links.
- get_popular: trending content ranked by clicks
- get_recent: most recently added content
- get_watch_providers: streaming availability by country (Netflix, Disney+, etc.)
- get_credits: director and top 10 cast members
- get_torrent_url: .torrent file download URL from info_hash
## Resources
- torrentclaw://stats: catalog statistics (content/torrent counts, sources)
## Prompts (4)
- search_movie, search_show, whats_new, where_to_watch
## LLM Usability
- Server description with workflow guidance for tool chaining
- Tool descriptions include trigger phrases, cross-tool references, and
explicit parameter examples
- Formatted output includes info_hash for tool chaining and call-syntax
cross-references (e.g. "use with get_watch_providers(content_id=42)")
- Popular/recent output hints to use search_content for torrents
- Error messages include status-specific recovery guidance (400, 404, 429, 5xx)
- Prompts reference tools by name for reliable LLM execution
## Security
- SSRF protection: validates TORRENTCLAW_API_URL against private IPs,
localhost, link-local, and IPv6 loopback addresses
- Protocol whitelist: only http/https allowed
- Error body sanitization: 4xx truncated to 200 chars, 5xx bodies omitted
- Input validation: control char filter on queries, regex on country codes,
genre character whitelist, content_id bounds
## Testing
- 85 tests across 13 test files
- Coverage: 99.5% statements, 95.2% branches, 98.1% functions, 99.5% lines
- Vitest v4 with v8 coverage provider, 80% thresholds enforced
## Stack
- TypeScript ESM, Node.js >= 18 (native fetch)
- @modelcontextprotocol/sdk v1.12, zod v3.24
- STDIO transport, runnable via npx torrentclaw-mcp
2026-02-09 17:26:23 +01:00
## Development
```bash
git clone https://github.com/buryni/torrentclaw-mcp.git
cd torrentclaw-mcp
npm install
npm run build
```
Test with MCP Inspector:
```bash
npx @modelcontextprotocol/inspector node build/index.js
```
Run tests:
```bash
npm test
```
## License
MIT