Skip to main content
Glama
aserper

NZBGet MCP Server

by aserper

NZBGet MCP 서버

NZBGet을 위한 MCP(Model Context Protocol) 서버로, NZBGet API 기능을 LLM 클라이언트에서 사용할 수 있는 MCP 도구로 노출합니다.

Claude 및 기타 MCP 호환 클라이언트를 통해 자연어로 Usenet 다운로드를 제어하세요.

기능

  • 완전한 NZBGet 제어를 위한 15가지 MCP 도구

  • 대기열 관리: 다운로드 목록 보기, 추가, 일시 중지, 재개, 삭제

  • 기록 추적: 완료 및 실패한 다운로드 보기

  • 속도 제어: 다운로드 속도 제한 설정

  • 상태 모니터링: 실시간 서버 상태, 디스크 공간, 대기열 정보

  • 로깅: NZBGet 로그 액세스 및 기록

  • JSON-RPC 클라이언트를 사용한 TypeScript 구현

  • Claude Desktop과 호환되는 Stdio 전송

요구 사항

  • Node.js 18 이상

  • RPC가 활성화된 실행 중인 NZBGet 인스턴스

설정

  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

NZBGet RPC 포트

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 - 다운로드 속도 제한 설정 (KB/s)

  • 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

기여

기여를 환영합니다! 언제든지 이슈를 열거나 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