NZBGet MCP Server
Supports containerized deployment of the NZBGet MCP server with Docker, allowing easy setup and configuration through environment variables for NZBGet connectivity.
Uses environment variables for NZBGet server configuration, enabling secure storage and management of connection credentials (host, port, username, password) through .env files.
Provides repository hosting for the NZBGet MCP server source code, enabling version control and collaborative development of the integration.
Hosts the NZBGet MCP server repository, providing access to source code, documentation, and issue tracking for the integration.
Supports integration with Claude Desktop on macOS, providing configuration instructions for macOS-specific file paths and system compatibility.
Provides runtime environment for the NZBGet MCP server, enabling execution of TypeScript-based tools for NZBGet API interaction.
Manages dependencies and build processes for the NZBGet MCP server, providing package management and script execution for development and deployment.
Implements the NZBGet MCP server in TypeScript, providing type-safe tool definitions and structured codebase for NZBGet API integration.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@NZBGet MCP ServerShow me the current download queue and the server status"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
NZBGet MCP Server
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.
Features
15 MCP tools for complete NZBGet control
Queue management: list, add, pause, resume, delete downloads
History tracking: view completed and failed downloads
Speed control: set download rate limits
Status monitoring: real-time server status, disk space, queue info
Logging: access and write to NZBGet logs
TypeScript implementation with JSON-RPC client
Stdio transport compatible with Claude Desktop
Related MCP server: downloader-mcp
Requirements
Node.js 18+
A running NZBGet instance with RPC enabled
Setup
Clone the repository and install dependencies:
git clone https://github.com/aserper/nzbget-mcp.git
cd nzbget-mcp
npm installBuild the project:
npm run buildCopy
.env.exampleto.envand set your values:
cp .env.example .envEdit .env:
NZBGET_HOST=localhost
NZBGET_PORT=6789
NZBGET_USERNAME=nzbget
NZBGET_PASSWORD=tegbzn6789
NZBGET_USE_HTTPS=falseRunning the MCP Server
npm startOr directly:
node dist/index.jsTesting
# Run all tests
npm test
# Run with coverage
npm run test:coverage
# Run tests in watch mode
npm run test:uiArchitecture
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 mocks
All 15 tools are self-contained modules that register themselves on import.
Configuration
Variable | Description | Default |
| NZBGet hostname |
|
| NZBGet RPC port |
|
| NZBGet username | - |
| NZBGet password | - |
| Use HTTPS |
|
Claude Desktop Configuration
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 Locally
docker build -t nzbget-mcp .Run
docker run --rm -it \
-e NZBGET_HOST="localhost" \
-e NZBGET_PORT="6789" \
-e NZBGET_USERNAME="nzbget" \
-e NZBGET_PASSWORD="tegbzn6789" \
nzbget-mcpExposed Tools
Status & Information
nzbget_status- Get server status (speed, queue size, disk space)nzbget_version- Get NZBGet versionnzbget_server_volumes- Get download statistics per server
Download Queue
nzbget_list_groups- List all downloads in queuenzbget_append- Add NZB file to queuenzbget_edit_queue- Edit queue (pause, resume, delete, set priority)
History
nzbget_history- View download history
Control
nzbget_pause_download/nzbget_resume_downloadnzbget_pause_post/nzbget_resume_postnzbget_rate- Set download speed limit (KB/s)nzbget_scan- Scan for new NZB files
Logging
nzbget_log- Get log entriesnzbget_write_log- Write custom log message
Usage Examples
"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"Development
# Install dependencies
npm install
# Build
npm run build
# Watch mode
npm run dev
# Lint
npm run lint
# Type check
npm run typecheckLicense
MIT
Contributing
Contributions welcome! Feel free to open an issue or submit a PR.
Available Tools
15 toolsnzbget_appendC
Add NZB to queue
| Name | Required | Description | Default |
|---|---|---|---|
| filename | Yes | ||
| content | Yes | ||
| category | No | ||
| priority | No | ||
| addToTop | No | ||
| addPaused | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states the action without disclosing behavioral traits like whether it's idempotent, requires authentication, has rate limits, or what happens on failure (e.g., if the NZB is invalid). It mentions adding to a queue but doesn't explain queue behavior or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's appropriately sized and front-loaded, making it easy to parse quickly without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 parameters with 0% schema coverage, no annotations, and no output schema, the description is incomplete. It doesn't explain return values, error conditions, or the tool's role in the broader NZBGet system, making it inadequate for a tool with this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate but adds no parameter information. It doesn't explain what 'filename', 'content', 'category', 'priority', 'addToTop', or 'addPaused' mean, leaving all 6 parameters undocumented beyond their types in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Add NZB to queue' states the action (add) and resource (NZB), but is vague about what 'NZB' refers to (likely a file format for Usenet downloads) and doesn't distinguish it from siblings like 'nzbget_edit_queue' or 'nzbget_scan'. It provides a basic purpose but lacks specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives like 'nzbget_edit_queue' for modifying existing items or 'nzbget_scan' for scanning. The description implies usage for adding items but doesn't specify prerequisites, exclusions, or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nzbget_edit_queueD
Edit queue items
| Name | Required | Description | Default |
|---|---|---|---|
| command | Yes | ||
| ids | Yes | ||
| param | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It fails to explain what 'edit' means operationally—such as whether it modifies, deletes, or reorders items; if it requires specific permissions; or what side effects occur. This lack of detail makes the tool's behavior opaque and risky for an agent to invoke.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with just three words, but this brevity leads to under-specification rather than efficiency. While front-loaded, it lacks necessary detail, making it inadequate despite its minimal length. It earns a baseline score for being short but fails to provide useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (3 parameters, no annotations, no output schema, and 0% schema coverage), the description is severely incomplete. It does not compensate for the lack of structured data, leaving the agent without essential information on purpose, usage, behavior, or parameters, making the tool effectively unusable in context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning parameters (command, ids, param) are undocumented in the schema. The description adds no meaning beyond the schema, as it does not explain what these parameters represent, their expected values, or how they interact. For a tool with three parameters, this is a critical gap in understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Edit queue items' is a tautology that essentially restates the tool name 'nzbget_edit_queue'. While it specifies the resource ('queue items'), it lacks a specific verb or details about what editing entails, making the purpose vague and indistinguishable from potential sibling operations like pausing or resuming downloads.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention prerequisites, context, or exclusions, nor does it reference sibling tools like nzbget_pause_download or nzbget_resume_download, which might handle similar queue modifications. This leaves the agent without direction on appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nzbget_historyC
Get download history
| Name | Required | Description | Default |
|---|---|---|---|
| hidden | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Get download history' implies a read-only operation, but it doesn't specify whether this requires authentication, what format the history is returned in (e.g., list, summary, detailed entries), or if there are any rate limits or side effects. For a tool with zero annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at three words, with zero wasted language. It's front-loaded with the core action and resource, making it easy to parse quickly. Every word earns its place by directly conveying the tool's purpose without redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (a read operation with one parameter), lack of annotations, no output schema, and low schema coverage, the description is incomplete. It doesn't explain what 'download history' entails (e.g., recent downloads, all-time history), how results are structured, or the parameter's role. For a tool with minimal structured data, the description should provide more context to be fully helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 1 parameter ('hidden' of type boolean) with 0% schema description coverage, meaning the schema provides no documentation for this parameter. The description 'Get download history' adds no meaning about what 'hidden' does—e.g., whether it filters to show hidden items, excludes hidden items, or something else. With low coverage and no compensation in the description, this falls below the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get download history' clearly states the verb ('Get') and resource ('download history'), making the basic purpose understandable. However, it doesn't differentiate this tool from potential sibling tools like 'nzbget_log' or 'nzbget_list_groups', which might also retrieve historical data. The purpose is stated but lacks specificity about what makes this history retrieval unique.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With siblings like 'nzbget_log' (which might retrieve log history) and 'nzbget_list_groups' (which might list current/downloaded groups), there's no indication of whether this tool is for completed downloads, all historical data, or something else. No context, exclusions, or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nzbget_list_groupsB
List download queue groups
| Name | Required | Description | Default |
|---|---|---|---|
| logEntries | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a read-only operation ('List'), but doesn't specify if it requires authentication, has rate limits, returns paginated results, or what the output format is. This is inadequate for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words. It's front-loaded and gets straight to the point, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (a list operation with no output schema and no annotations), the description is insufficient. It doesn't explain what 'download queue groups' are, how the output is structured, or any behavioral traits. For a tool with such sparse structured data, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions no parameters, and with only one parameter ('logEntries') at 0% schema coverage, it doesn't add any semantic information. However, since there's only one parameter and the tool likely functions without it (0 required parameters), the baseline is high. The description doesn't compensate for the coverage gap but doesn't need to heavily for a single optional parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('List') and resource ('download queue groups'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'nzbget_history' or 'nzbget_status' that might also list information, so it misses the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'nzbget_history' or 'nzbget_status'. The description only states what it does, not when it's appropriate, leaving the agent to guess based on tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nzbget_logD
Get log entries
| Name | Required | Description | Default |
|---|---|---|---|
| idFrom | No | ||
| numberOfEntries | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action 'Get log entries' without any details on permissions, rate limits, side effects, or response format, making it insufficient for a tool with parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with a single three-word phrase, 'Get log entries', which is front-loaded and has no wasted words. However, this brevity comes at the cost of under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of having two parameters, no annotations, and no output schema, the description is incomplete. It does not provide enough information for an agent to understand how to use the tool effectively or what to expect in return.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention or explain the two parameters (idFrom and numberOfEntries). This leaves the parameters completely undocumented, failing to compensate for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get log entries' restates the tool name 'nzbget_log' in a slightly different phrasing, making it tautological. It specifies the verb 'Get' and resource 'log entries', but lacks specificity about what kind of log entries or how they differ from other logging-related tools like 'nzbget_write_log'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of context, prerequisites, or comparisons with sibling tools like 'nzbget_history' or 'nzbget_write_log', leaving the agent with no usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nzbget_pause_downloadB
Pause downloads
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states the action without behavioral details. It doesn't disclose effects (e.g., whether downloads stop immediately, if progress is saved), permissions needed, or error conditions, which are critical for a control operation like pausing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with just two words, front-loading the core action without any wasted text. It's appropriately sized for a simple, parameter-less tool, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that performs a control action (pausing downloads) with no annotations and no output schema, the description is incomplete. It lacks details on behavior, outcomes, or error handling, which are essential for an agent to use it effectively in context with siblings like resume tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add param info, but this is acceptable as there are no parameters to describe, aligning with the baseline for zero parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Pause downloads' clearly states the action (pause) and target resource (downloads) with a specific verb. It distinguishes from siblings like 'nzbget_pause_post' (pauses post-processing) and 'nzbget_resume_download' (resumes downloads), though it doesn't explicitly mention these distinctions in the text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., active downloads), exclusions, or related tools like 'nzbget_resume_download' for resuming, leaving the agent to infer usage from context alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nzbget_pause_postB
Pause post-processing
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action ('pause') but doesn't explain what post-processing entails, whether the pause is reversible, if it requires specific permissions, or what the expected outcome is. This leaves significant gaps in understanding the tool's behavior beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description 'Pause post-processing' is extremely concise—a single phrase with no wasted words. It front-loads the core action and target efficiently, making it easy to grasp immediately without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete for a tool that performs an action like pausing. It doesn't cover behavioral aspects (e.g., reversibility, effects) or usage context, which are crucial for an agent to invoke it correctly in a real-world scenario.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately doesn't add parameter details, as there are none to explain, aligning with the baseline for zero parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Pause post-processing' clearly states the action (pause) and the target (post-processing), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from its sibling 'nzbget_pause_download', which suggests a similar pause action but on a different resource, leaving some ambiguity about sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'nzbget_pause_download' or 'nzbget_resume_post'. It lacks context about prerequisites, such as whether post-processing must be active, or exclusions, making it minimally helpful for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nzbget_rateC
Set download rate limit
| Name | Required | Description | Default |
|---|---|---|---|
| limit | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. While 'Set download rate limit' implies a configuration change, it doesn't disclose important behavioral traits like whether this is a persistent setting, whether it requires specific permissions, what units the rate limit uses (KB/s, MB/s), or what happens when invalid values are provided. The description is too minimal for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at just three words, with zero wasted language. It's front-loaded with the essential action and target. While it may be too brief for completeness, as a standalone statement it's efficiently structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given this is a mutation tool with no annotations, no output schema, and a parameter with 0% schema coverage, the description is incomplete. It doesn't explain what happens after setting the rate limit, what the response looks like, what side effects might occur, or provide enough context for safe and effective use. The extreme brevity leaves too many unanswered questions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, providing no documentation for the 'limit' parameter. The description doesn't compensate for this gap - it doesn't explain what the 'limit' parameter represents, what units it uses, what valid ranges are, or provide any semantic context beyond what's implied by the tool name. For a single required parameter with zero schema documentation, this is inadequate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Set download rate limit' clearly states the verb ('Set') and resource ('download rate limit'), making the purpose immediately understandable. However, it doesn't distinguish this tool from sibling tools like nzbget_pause_download or nzbget_resume_download that also affect download behavior, so it doesn't reach the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There are multiple sibling tools that affect downloads (pause_download, resume_download), but the description doesn't explain when rate limiting is appropriate versus pausing/resuming, or whether this tool should be used before, during, or after downloads.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nzbget_resume_downloadC
Resume downloads
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Resume downloads' implies a state change (from paused to active), but it doesn't specify whether this affects all downloads or specific ones, what permissions are required, or any side effects like rate limits. For a mutation tool with zero annotation coverage, this is inadequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with just two words, front-loading the core action ('Resume downloads') without any wasted text. Every word earns its place, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (a mutation operation with no annotations and no output schema), the description is incomplete. It lacks details on what 'resume' entails (e.g., does it resume all downloads or require identifiers?), expected outcomes, or error conditions, leaving significant gaps for an agent to understand the tool fully.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, meaning no parameters are documented in the schema. The description doesn't add parameter details, which is appropriate since there are none. A baseline of 4 is applied as the description doesn't need to compensate for missing parameter information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Resume downloads' clearly states the action (resume) and target (downloads), which is a specific verb+resource. However, it doesn't distinguish this tool from its sibling 'nzbget_resume_post' which also resumes something (post-processing), so the purpose is clear but lacks sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'nzbget_pause_download' or 'nzbget_resume_post'. It doesn't mention prerequisites (e.g., that downloads must be paused first) or exclusions, leaving the agent to infer usage from context alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nzbget_resume_postC
Resume post-processing
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It states the action ('resume') but lacks details like whether it requires specific permissions, what happens to ongoing processes, or potential side effects. This is inadequate for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise ('Resume post-processing'), consisting of a single, direct phrase with no wasted words. It's front-loaded and efficiently communicates the core action, though it may be overly brief for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool likely performs a mutation (resuming) with no annotations or output schema, the description is incomplete. It lacks essential context such as what 'post-processing' involves, expected outcomes, error conditions, or how it integrates with sibling tools, making it insufficient for safe and effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, but since there are no parameters, this is acceptable, aligning with the baseline for zero parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Resume post-processing' states the action (resume) and target (post-processing), which is clear but vague. It doesn't specify what 'post-processing' entails or differentiate it from siblings like 'nzbget_resume_download', leaving room for confusion about scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., if post-processing must be paused first), exclusions, or how it relates to siblings such as 'nzbget_pause_post' or 'nzbget_resume_download', offering no usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nzbget_scanB
Scan for new NZB files
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. 'Scan for new NZB files' implies a read-only discovery operation, but doesn't specify whether this triggers automatic downloads, how it interacts with the queue, what 'new' means (time-based or status-based), or what happens if no new files are found. For a tool with zero annotation coverage, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at just four words ('Scan for new NZB files'), front-loading the core purpose with zero wasted words. Every element earns its place by specifying the action, target, and scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description should provide more context about what the scan actually does, what 'new' means operationally, and what the expected output format might be. The current description is too minimal for a tool that presumably interacts with a download queue system and has behavioral implications.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters with 100% schema description coverage, so the baseline is 4. The description doesn't need to explain any parameters, and the schema already fully documents the empty parameter set. No additional parameter information is required or provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Scan for new NZB files' clearly states the action (scan) and target resource (NZB files), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'nzbget_list_groups' or 'nzbget_history' which might also involve file discovery or listing operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There's no mention of prerequisites, timing considerations, or how it differs from related tools like 'nzbget_list_groups' or 'nzbget_history' that might also provide file information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nzbget_server_volumesB
Get download statistics per server
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states it 'gets' data, implying a read-only operation, but doesn't specify details like response format, potential errors, or whether it requires authentication. For a tool with zero annotation coverage, this leaves significant gaps in understanding how it behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence: 'Get download statistics per server.' It is front-loaded, efficient, and wastes no words, making it easy for an agent to parse and understand quickly without extraneous details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 0 parameters, no annotations, and no output schema, the description is minimally complete. It states what the tool does but lacks context on output format, error handling, or differentiation from siblings. For a simple read operation, this might be adequate, but it doesn't fully compensate for the missing structured data, leaving room for improvement in guiding the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate, but it could have mentioned if any implicit parameters (like server selection) are involved. Since there are no parameters, a baseline of 4 is applied, as the description adequately covers the tool's function without unnecessary param info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get download statistics per server' clearly states the verb ('Get') and resource ('download statistics per server'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'nzbget_status' or 'nzbget_history', which might also provide statistical information, so it doesn't reach the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With siblings like 'nzbget_status' and 'nzbget_history' that might overlap in providing statistical data, there's no indication of specific contexts, exclusions, or comparisons, leaving the agent to infer usage based on tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nzbget_statusB
Get current NZBGet server status
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states it's a read operation ('Get'), implying it's non-destructive, but doesn't specify authentication requirements, rate limits, error conditions, or what 'status' includes (e.g., uptime, queue state). This is inadequate for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words. It's front-loaded with the core action ('Get current NZBGet server status'), making it easy to parse. Every word earns its place by conveying essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (0 parameters, no output schema, no annotations), the description is minimally complete. It states what the tool does but lacks behavioral details (e.g., response format, error handling). For a simple status-check tool, this is adequate but leaves gaps that could hinder effective use by an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and schema description coverage is 100% (though trivial since there are no parameters). The description doesn't need to add parameter semantics, so it meets the baseline of 4 for zero-parameter tools. No additional value is required beyond stating the purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('current NZBGet server status'), making the purpose understandable. It distinguishes from siblings like 'nzbget_version' or 'nzbget_log' by focusing on server status rather than version info or logs. However, it doesn't explicitly differentiate from all siblings (e.g., 'nzbget_server_volumes' might also relate to server status), so it's not a perfect 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, timing (e.g., after certain events), or comparisons to siblings like 'nzbget_version' for version info or 'nzbget_log' for logs. This leaves the agent with minimal context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nzbget_versionB
Get NZBGet version
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It implies a read-only operation ('Get'), but doesn't disclose behavioral traits such as authentication needs, rate limits, or error handling. This is a minimal but adequate disclosure for a simple tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with zero waste. It's front-loaded and appropriately sized for a simple tool, making it highly efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is complete enough to understand the basic purpose. However, it lacks details on output format or behavioral context, which could be helpful but isn't critical for this minimal tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and schema description coverage is 100%, so there are no parameters to document. The description doesn't need to add parameter semantics, earning a baseline score of 4 for not introducing unnecessary complexity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get NZBGet version' clearly states the verb ('Get') and resource ('NZBGet version'), making the purpose specific and understandable. However, it doesn't distinguish this from sibling tools like 'nzbget_status', which might also provide version information, so it's not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. For example, it doesn't specify if this is for checking software updates or if other tools like 'nzbget_status' might include version data, leaving the agent without usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nzbget_write_logD
Write log message
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| text | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure but offers only the basic action. It doesn't specify whether this is a system log, application log, user-facing log, or what happens after writing (e.g., persistence, visibility). No information about permissions, side effects, rate limits, or response behavior is included.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at just three words, with zero wasted language. It's front-loaded with the core action and resource. While severely under-specified, it achieves maximum efficiency within its limited scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write operation tool with 2 parameters, 0% schema coverage, no annotations, and no output schema, the description is completely inadequate. It doesn't explain what the tool actually does beyond the basic verb, doesn't clarify parameters, doesn't differentiate from siblings, and provides no behavioral context. This leaves the agent with insufficient information to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate but doesn't mention parameters at all. The schema shows two required parameters (kind with enum values, text), but the description provides no context about what these mean, what format 'text' should be, or how 'kind' affects logging behavior. Some minimal value is added by implying a log message is written, but parameter details are completely absent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Write log message' is a tautology that essentially restates the tool name 'nzbget_write_log' with minimal elaboration. While it specifies the action ('write') and resource ('log message'), it doesn't distinguish this tool from its sibling 'nzbget_log' or provide any meaningful context about what type of logging this performs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With a sibling tool named 'nzbget_log' that likely reads or displays logs, there's no indication of when to choose write_log over log or other tools. No prerequisites, constraints, or use cases are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
15 tool updates
v1.0.0- First observed
nzbget_append - First observed
nzbget_edit_queue - First observed
nzbget_history - First observed
nzbget_list_groups - First observed
nzbget_log - First observed
nzbget_pause_download - First observed
nzbget_pause_post - First observed
nzbget_rate - First observed
nzbget_resume_download - First observed
nzbget_resume_post - First observed
nzbget_scan - First observed
nzbget_server_volumes - First observed
nzbget_status - First observed
nzbget_version - First observed
nzbget_write_log
TDQS
Most tools have clearly distinct purposes targeting different aspects of NZBGet management (queue, history, status, control). There is some potential confusion between pause_download/pause_post and resume_download/resume_post pairs, but the descriptions clarify the download vs. post-processing distinction.
All tools follow a consistent 'nzbget_verb_noun' pattern with snake_case throughout. The naming convention is predictable and systematic, making it easy to understand each tool's function at a glance.
15 tools is well-scoped for an NZBGet management server. This provides comprehensive coverage of queue management, status monitoring, control operations, and logging without being overwhelming or sparse.
The toolset covers most essential NZBGet operations including queue management (append, edit, list groups), status monitoring (status, version, server volumes), control (pause/resume, rate limiting), and logging. Minor gaps might include more granular queue item manipulation or configuration management, but core workflows are well-covered.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Manage your KeepMySubs subscriptions, spend, renewals, and bills from any MCP client.
Manage Superlist tasks and lists in plain language from any MCP-compatible AI agent.
Hosted MCP tools for FFmpeg-style video and audio processing through FFMPEG API.
Automate 1,000+ services from any MCP-compatible AI agent: build Applets, run actions and queries.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides tools for interacting with the Transmission BitTorrent client via natural language, enabling users to manage torrents, configure download settings, and monitor download activity.2MIT
- AlicenseAqualityAmaintenanceEnables interaction with SABnzbd (usenet) and qBittorrent (torrent) download clients through their APIs. Each client is optional and only tools for configured clients are registered.10MIT
- AlicenseAqualityCmaintenanceEnables interaction with the *arr media management suite (Sonarr, Radarr, Lidarr, Prowlarr, SABnzbd) and TRaSH Guides through MCP tools, allowing media library management, searching, and configuration via natural language.70131MIT
- FlicenseAqualityBmaintenanceEnables managing a SABnzbd Usenet downloader through natural language, including queue control, history browsing, adding downloads, and speed adjustment.212-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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