Skip to main content
Glama
aserper

NZBGet MCP Server

by aserper

NZBGet MCP Server

Сервер MCP (Model Context Protocol) для NZBGet, который предоставляет функциональность API NZBGet в виде инструментов MCP, доступных для LLM-клиентов.

Управляйте своими загрузками Usenet с помощью естественного языка через Claude и другие MCP-совместимые клиенты.

Возможности

  • 15 инструментов MCP для полного контроля над NZBGet

  • Управление очередью: список, добавление, приостановка, возобновление, удаление загрузок

  • Отслеживание истории: просмотр завершенных и неудачных загрузок

  • Контроль скорости: установка ограничений скорости загрузки

  • Мониторинг состояния: статус сервера в реальном времени, дисковое пространство, информация об очереди

  • Логирование: доступ к логам NZBGet и запись в них

  • Реализация на TypeScript с клиентом JSON-RPC

  • Транспорт Stdio, совместимый с Claude Desktop

Требования

  • Node.js 18+

  • Запущенный экземпляр NZBGet с включенным RPC

Настройка

  1. Клонируйте репозиторий и установите зависимости:

git clone https://github.com/aserper/nzbget-mcp.git
cd nzbget-mcp
npm install
  1. Соберите проект:

npm run build
  1. Скопируйте .env.example в .env и установите свои значения:

cp .env.example .env

Отредактируйте .env:

NZBGET_HOST=localhost
NZBGET_PORT=6789
NZBGET_USERNAME=nzbget
NZBGET_PASSWORD=tegbzn6789
NZBGET_USE_HTTPS=false

Запуск MCP-сервера

npm start

Или напрямую:

node dist/index.js

Тестирование

# Run all tests
npm test

# Run with coverage
npm run test:coverage

# Run tests in watch mode
npm run test:ui

Архитектура

Этот MCP-сервер использует модульную архитектуру:

  • src/tools/*.ts — реализация отдельных инструментов

  • src/tools/index.ts — реестр и обнаружение инструментов

  • src/utils/errors.ts — утилиты для обработки ошибок

  • src/__tests__/mocks/ — тестовые фикстуры и моки

Все 15 инструментов являются автономными модулями, которые регистрируют себя при импорте.

Конфигурация

Переменная

Описание

По умолчанию

NZBGET_HOST

Имя хоста NZBGet

localhost

NZBGET_PORT

RPC-порт NZBGet

6789

NZBGET_USERNAME

Имя пользователя NZBGet

-

NZBGET_PASSWORD

Пароль NZBGet

-

NZBGET_USE_HTTPS

Использовать HTTPS

false

Конфигурация Claude Desktop

Добавьте в конфигурацию Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json на macOS или аналогичный файл на других платформах):

{
  "mcpServers": {
    "nzbget": {
      "command": "node",
      "args": ["/path/to/nzbget-mcp/dist/index.js"],
      "env": {
        "NZBGET_HOST": "localhost",
        "NZBGET_PORT": "6789",
        "NZBGET_USERNAME": "nzbget",
        "NZBGET_PASSWORD": "tegbzn6789"
      }
    }
  }
}

Docker

Локальная сборка

docker build -t nzbget-mcp .

Запуск

docker run --rm -it \
  -e NZBGET_HOST="localhost" \
  -e NZBGET_PORT="6789" \
  -e NZBGET_USERNAME="nzbget" \
  -e NZBGET_PASSWORD="tegbzn6789" \
  nzbget-mcp

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

Статус и информация

  • nzbget_status — получить статус сервера (скорость, размер очереди, дисковое пространство)

  • nzbget_version — получить версию NZBGet

  • nzbget_server_volumes — получить статистику загрузок по серверам

Очередь загрузок

  • nzbget_list_groups — список всех загрузок в очереди

  • nzbget_append — добавить NZB-файл в очередь

  • nzbget_edit_queue — редактировать очередь (приостановить, возобновить, удалить, установить приоритет)

История

  • nzbget_history — просмотреть историю загрузок

Управление

  • nzbget_pause_download / nzbget_resume_download

  • nzbget_pause_post / nzbget_resume_post

  • nzbget_rate — установить ограничение скорости загрузки (КБ/с)

  • nzbget_scan — сканировать на наличие новых NZB-файлов

Логирование

  • nzbget_log — получить записи лога

  • nzbget_write_log — записать пользовательское сообщение в лог

Примеры использования

"Show me what's currently downloading"
"Pause the download queue"
"Set download speed to 5 MB/s"
"Add an NZB file to the queue"
"Show my recent download history"

Разработка

# Install dependencies
npm install

# Build
npm run build

# Watch mode
npm run dev

# Lint
npm run lint

# Type check
npm run typecheck

Лицензия

MIT

Участие в разработке

Приветствуются любые вклады! Не стесняйтесь открывать issue или отправлять PR.

Install Server
A
license - permissive license
C
quality
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/aserper/nzbget-mcp'

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