loading…
Search for a command to run...
loading…
Enables users to control and monitor NZBGet Usenet downloads through natural language using MCP-compatible clients. It provides 17 tools for managing download q
Enables users to control and monitor NZBGet Usenet downloads through natural language using MCP-compatible clients. It provides 17 tools for managing download queues, tracking history, and adjusting server settings like speed limits.
An MCP (Model Context Protocol) server for NZBGet that exposes NZBGet API functionality as MCP tools usable by LLM clients.
Control your Usenet downloads with natural language through Claude and other MCP-compatible clients.
git clone https://github.com/aserper/nzbget-mcp.git
cd nzbget-mcp
npm install
npm run build
.env.example to .env and set your values:cp .env.example .env
Edit .env:
NZBGET_HOST=localhost
NZBGET_PORT=6789
NZBGET_USERNAME=nzbget
NZBGET_PASSWORD=tegbzn6789
NZBGET_USE_HTTPS=false
npm start
Or directly:
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
This MCP server uses a modular architecture:
src/tools/*.ts - Individual tool implementationssrc/tools/index.ts - Tool registry and discoverysrc/utils/errors.ts - Error handling utilitiessrc/__tests__/mocks/ - Test fixtures and mocksAll 15 tools are self-contained modules that register themselves on import.
| Variable | Description | Default |
|---|---|---|
NZBGET_HOST |
NZBGet hostname | localhost |
NZBGET_PORT |
NZBGet RPC port | 6789 |
NZBGET_USERNAME |
NZBGet username | - |
NZBGET_PASSWORD |
NZBGet password | - |
NZBGET_USE_HTTPS |
Use HTTPS | false |
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS, or equivalent on other platforms):
{
"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 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 - Get server status (speed, queue size, disk space)nzbget_version - Get NZBGet versionnzbget_server_volumes - Get download statistics per servernzbget_list_groups - List all downloads in queuenzbget_append - Add NZB file to queuenzbget_edit_queue - Edit queue (pause, resume, delete, set priority)nzbget_history - View download historynzbget_pause_download / nzbget_resume_downloadnzbget_pause_post / nzbget_resume_postnzbget_rate - Set download speed limit (KB/s)nzbget_scan - Scan for new NZB filesnzbget_log - Get log entriesnzbget_write_log - Write custom log message"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
Contributions welcome! Feel free to open an issue or submit a PR.
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"nzbget-mcp-server": {
"command": "npx",
"args": []
}
}
}PRs, issues, code search, CI status
Database, auth and storage
Reference / test server with prompts, resources, and tools.
Secure file operations with configurable access controls.