Skip to main content
Glama
README.md
# Kinozal MCP Server

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

## Возможности

- 🔍 **Поиск торрентов** - поиск по названию с возможностью пагинации
- 📊 **Подробная информация** - получение детальных данных о торренте (название, год, жанр, качество, размер, сиды/пиры)
- ⬇️ **Скачивание торрент-файлов** - загрузка .torrent файлов на компьютер (требуется авторизация)

## Установка

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

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

```bash
npx kinozal-mcp
```

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

```bash
npm install -g kinozal-mcp
kinozal-mcp
```

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

```bash
npm install kinozal-mcp
```

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

1. Клонируйте репозиторий:
```bash
git clone <repository-url>
cd kinozal_mcp
```

2. Установите зависимости:
```bash
npm install
```

3. Соберите проект:
```bash
npm run build
```

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

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

```bash
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 (рекомендуется)

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

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

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

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

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

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

```bash
npx kinozal-mcp
```

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

#### 1. search_torrents

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

**Параметры:**
- `query` (string, обязательный) - поисковый запрос (название фильма/сериала/музыки)
- `page` (number, опциональный) - номер страницы (по умолчанию: 0)

**Пример:**
```typescript
{
  "query": "matrix",
  "page": 0
}
```

**Возвращает:**
```json
[
  {
    "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

**Пример:**
```typescript
{
  "id": "1980167"
}
```

**Возвращает:**
```json
{
  "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: Использование переменных окружения (рекомендуется)**
```typescript
{
  "id": "1980167",
  "outputPath": "/Users/user/Downloads/matrix.torrent"
}
```

**Пример 2: Передача учетных данных напрямую**
```typescript
{
  "id": "1980167",
  "outputPath": "/Users/user/Downloads/matrix.torrent",
  "username": "your_username",
  "password": "your_password"
}
```

**Возвращает:**
```json
{
  "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
```

## Разработка

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

```bash
npm run watch
```

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

- **Парсинг HTML**: Используется cheerio для извлечения данных из страниц
- **Кодировка**: kinozal.tv использует Windows-1251, данные автоматически конвертируются в UTF-8
- **Авторизация**: Для скачивания торрент-файлов используется сессионная авторизация через cookies
- **MCP SDK**: Сервер построен на [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk)

## Примечания

- Для использования функции `download_torrent` необходима регистрация на [kinozal.tv](https://kinozal.tv/signup.php)
- **Рекомендуется**: Настройте `.env` файл с учетными данными для удобства и безопасности
- Учетные данные можно передавать как через `.env`, так и напрямую в параметрах инструмента
- Сервер использует публичные страницы kinozal.tv и не нарушает правила трекера
- Скачивание торрентов возможно только после авторизации

## Лицензия

MIT

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