NZBGet MCP Server
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 인스턴스
설정
저장소를 복제하고 종속성을 설치합니다:
git clone https://github.com/aserper/nzbget-mcp.git
cd nzbget-mcp
npm install프로젝트를 빌드합니다:
npm run build.env.example을.env로 복사하고 값을 설정합니다:
cp .env.example .env.env 편집:
NZBGET_HOST=localhost
NZBGET_PORT=6789
NZBGET_USERNAME=nzbget
NZBGET_PASSWORD=tegbzn6789
NZBGET_USE_HTTPS=falseMCP 서버 실행
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 호스트 이름 |
|
| NZBGet RPC 포트 |
|
| NZBGet 사용자 이름 | - |
| NZBGet 비밀번호 | - |
| HTTPS 사용 여부 |
|
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_downloadnzbget_pause_post/nzbget_resume_postnzbget_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을 제출해 주세요.
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