Skip to main content
Glama

Kinozal MCP Server

MCP (Model Context Protocol) сервер для работы с торрент-трекером kinozal.tv.

Возможности

  • 🔍 Поиск торрентов - поиск по названию с возможностью пагинации

  • 📊 Подробная информация - получение детальных данных о торренте (название, год, жанр, качество, размер, сиды/пиры)

  • ⬇️ Скачивание торрент-файлов - загрузка .torrent файлов на компьютер (требуется авторизация)

Related MCP server: Fr Torrent Search MCP Server

Установка

Быстрый запуск через npx (рекомендуется)

Не требует установки, запускается напрямую:

npx kinozal-mcp

Глобальная установка

npm install -g kinozal-mcp
kinozal-mcp

Локальная установка

npm install kinozal-mcp

Установка из исходников

  1. Клонируйте репозиторий:

git clone <repository-url>
cd kinozal_mcp
  1. Установите зависимости:

npm install
  1. Соберите проект:

npm run build

Настройка авторизации

Для скачивания торрентов настройте переменные окружения:

KINOZAL_USERNAME=ваш_логин
KINOZAL_PASSWORD=ваш_пароль

Это позволит скачивать торренты без передачи логина/пароля в каждом запросе.

Использование

Настройка в Claude Desktop

Добавьте следующую конфигурацию в файл claude_desktop_config.json:

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

Вариант 1: Использование npx (рекомендуется)

{
  "mcpServers": {
    "kinozal": {
      "command": "npx",
      "args": ["kinozal-mcp"],
      "env": {
        "KINOZAL_USERNAME": "ваш_логин",
        "KINOZAL_PASSWORD": "ваш_пароль"
      }
    }
  }
}

Вариант 2: Локальная установка

{
  "mcpServers": {
    "kinozal": {
      "command": "node",
      "args": ["/путь/к/проекту/kinozal_mcp/build/index.js"],
      "env": {
        "KINOZAL_USERNAME": "ваш_логин",
        "KINOZAL_PASSWORD": "ваш_пароль"
      }
    }
  }
}

Замените путь на актуальный путь к вашему проекту.

Использование с другими MCP клиентами

Просто запустите сервер:

npx kinozal-mcp

Доступные инструменты

1. search_torrents

Поиск торрентов по запросу.

Параметры:

  • query (string, обязательный) - поисковый запрос (название фильма/сериала/музыки)

  • page (number, опциональный) - номер страницы (по умолчанию: 0)

Пример:

{
  "query": "matrix",
  "page": 0
}

Возвращает:

[
  {
    "id": "1980167",
    "title": "Матрица (Трилогия) / The Matrix: Trilogy / 1999-2003",
    "size": "42.85 ГБ",
    "seeds": 12,
    "peers": 3,
    "comments": 11,
    "uploadDate": "23.12.2025 в 05:48",
    "uploader": "vitalikmd",
    "category": "13"
  }
]

2. get_torrent_details

Получение подробной информации о торренте.

Параметры:

  • id (string, обязательный) - ID торрента из kinozal.tv

Пример:

{
  "id": "1980167"
}

Возвращает:

{
  "id": "1980167",
  "title": "Матрица: Трилогия",
  "originalTitle": "The Matrix. Trilogy",
  "year": "1999-2003",
  "genre": "Фантастика, антиутопия, триллер",
  "director": "Лилли Вачовски, Лана Вачовски",
  "cast": "Киану Ривз, Лоуренс Фишборн...",
  "description": "Фильм изображает будущее...",
  "quality": "HDDVDRip (1080p)",
  "video": "MPEG-H HEVC, ~ 8000 Кбит/с, 1920x800",
  "audio": "...",
  "size": "42.85 ГБ",
  "seeds": 12,
  "peers": 3,
  "uploadDate": "10 июня 2023 в 08:06",
  "updateDate": "23 декабря 2025 в 05:48"
}

3. download_torrent

Скачивание .torrent файла (требуется учетная запись на kinozal.tv).

Параметры:

  • id (string, обязательный) - ID торрента

  • outputPath (string, обязательный) - путь для сохранения .torrent файла

  • username (string, опциональный) - логин на kinozal.tv (если не задан в .env)

  • password (string, опциональный) - пароль на kinozal.tv (если не задан в .env)

Пример 1: Использование переменных окружения (рекомендуется)

{
  "id": "1980167",
  "outputPath": "/Users/user/Downloads/matrix.torrent"
}

Пример 2: Передача учетных данных напрямую

{
  "id": "1980167",
  "outputPath": "/Users/user/Downloads/matrix.torrent",
  "username": "your_username",
  "password": "your_password"
}

Возвращает:

{
  "success": true,
  "message": "Torrent file downloaded successfully",
  "path": "/Users/user/Downloads/matrix.torrent"
}

Структура проекта

kinozal_mcp/
├── src/
│   ├── index.ts          # Основной MCP сервер
│   ├── kinozal.ts        # Функции для работы с kinozal.tv
│   └── cookie-jar.ts     # Управление cookies для авторизации
├── build/                # Скомпилированные JS файлы
├── package.json
├── tsconfig.json
└── README.md

Разработка

Для разработки с автоматической перекомпиляцией:

npm run watch

Технические детали

  • Парсинг HTML: Используется cheerio для извлечения данных из страниц

  • Кодировка: kinozal.tv использует Windows-1251, данные автоматически конвертируются в UTF-8

  • Авторизация: Для скачивания торрент-файлов используется сессионная авторизация через cookies

  • MCP SDK: Сервер построен на @modelcontextprotocol/sdk

Примечания

  • Для использования функции download_torrent необходима регистрация на kinozal.tv

  • Рекомендуется: Настройте .env файл с учетными данными для удобства и безопасности

  • Учетные данные можно передавать как через .env, так и напрямую в параметрах инструмента

  • Сервер использует публичные страницы kinozal.tv и не нарушает правила трекера

  • Скачивание торрентов возможно только после авторизации

Лицензия

MIT

Available Tools

3 tools
download_torrentA

Download .torrent file to specified path. Credentials can be provided via arguments or environment variables (KINOZAL_USERNAME, KINOZAL_PASSWORD).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesTorrent ID from kinozal.tv
outputPathYesPath where to save .torrent file
usernameNokinozal.tv username (optional if KINOZAL_USERNAME env var is set)
passwordNokinozal.tv password (optional if KINOZAL_PASSWORD env var is set)

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully disclose behavioral traits. It covers authentication flexibility but omits important details such as whether the tool can overwrite existing files, rate limits, or error handling behavior.

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 two sentences, with the first sentence stating the core purpose upfront. Every sentence is concise and informative without unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 4 parameters (2 required) and no output schema, the description covers the core action and authentication but is silent on return values, error handling, or file overwrite behavior. Adequate for a simple tool but not fully 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 coverage is 100%, so baseline is 3. The description adds value by clarifying that username/password can be set via environment variables, beyond the schema descriptions which only mention optionality. However, for required parameters id and outputPath, no new meaning is added.

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 'Download .torrent file to specified path', specifying the verb (Download) and resource (.torrent file). It effectively distinguishes from siblings which are 'get_torrent_details' and 'search_torrents'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides guidance on authentication methods (arguments or environment variables), but does not advise when to use this tool over siblings or exclude scenarios. No when-not-to or alternative recommendations are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_torrent_detailsA

Get detailed information about a specific torrent by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesTorrent ID from kinozal.tv

TDQS

A3.5/5.0
Behavior2/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 not mention any behavioral traits such as read-only nature, authentication requirements, rate limits, or what happens if the ID is invalid. The description is too sparse to inform the agent about side effects or constraints.

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 a single, front-loaded sentence of 10 words with no wasted content. It efficiently conveys the core purpose without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (1 parameter, no output schema), the description covers the input need but fails to describe the return value or output format. For a tool that provides 'detailed information', the agent would benefit from knowing what fields or structure to expect, which is missing.

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% for the single 'id' parameter, which already explains it's a 'Torrent ID from kinozal.tv'. The tool description adds no additional meaning beyond what the schema provides, so a baseline score of 3 is appropriate.

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 action ('get detailed information'), the resource ('specific torrent'), and the required identifier ('by ID'). It effectively distinguishes from sibling tools 'download_torrent' and 'search_torrents' by specifying a distinct purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use when a specific torrent ID is known and details are needed, but it provides no explicit when-to-use or when-not-to-use guidance, nor does it mention alternatives despite the presence of sibling tools like 'search_torrents'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_torrentsB

Search for torrents on kinozal.tv by query. Returns list of torrents with title, size, seeds, peers and ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query (movie/show/music title)
pageNoPage number (default: 0)

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must disclose behavior. Only states it returns a list; missing details like authentication needs, rate limits, result limitations (e.g., max pages). Minimally transparent.

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?

Single sentence efficiently conveys purpose and return value. No extraneous information.

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?

Describes return fields, but lacks pagination details like results per page or total pages. Adequate for a simple search tool, but could be 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 coverage is 100% with parameter descriptions. Description adds no additional semantic value beyond the schema, achieving baseline.

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?

Clearly states it searches for torrents on kinozal.tv by query and returns specific fields. Differentiates from siblings (download_torrent, get_torrent_details) by focusing on search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus siblings. Implies use for searching, but no exclusions or alternative contexts provided.

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. 3 tool updatesv1.0.0
    • First observeddownload_torrent
    • First observedget_torrent_details
    • First observedsearch_torrents

TDQS

A3.9/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a distinct purpose: search, get details, and download. No overlap or ambiguity.

Naming Consistency5/5

All tools use consistent verb_noun snake_case pattern (download_torrent, get_torrent_details, search_torrents).

Tool Count5/5

3 tools is well-scoped for a torrent server, covering search, details, and download without unnecessary extras.

Completeness4/5

Covers core torrent operations, but lacks features like category browsing or upload. Minor gap.

Maintenance

ActivityInactive
ResponsivenessNo issues

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

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/tokezooo/kinozal-mcp'

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