N-able N-central MCP
MCPB · N-CENTRAL-MCP.MCPB
N-central REST API with an offline org-tree mirror, cross-tenant search, and a JWT-expiry guardian.
Available components
Last scanned (2 hours ago)
Scores higher than 84% of MCPB servers
Category Monitoring and Observability
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security0
- No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.Unverified
- Known CVEs could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
- Install-script risk not yet assessed.Unverified
- Dependency health could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
Provenance & Transparency48
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (Apache-2.0).Pass
- Actively maintained (last published 12 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability56
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 12392 tokens (~229/item across 54 items; 54 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management99
- Stability check failed: the tool surface changed between 0.1.4 and 0.1.8: 0 tool removals, 1 breaking changes, 0 additions. See how to fix → Fail
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 54 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 1 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 96 to 99.
- 31 Oct 26 −1
No change was recorded against any check on this day. Stability & Change Management went from 99 to 96.
- 26 Oct 26 0
- Package version: 0.1.4 → 0.1.8 functional
- 25 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 96 to 99.
- 23 Oct 26 +1
- Stability: 0.90 → fail ▼ security
- Package version: 0.1.6 → 0.1.8 functional
- Package version: 0.1.6 → 0.1.7 functional
- 22 Oct 26 +1
- Stability: 0.87 → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Tool coverage: 100 → unverified ▼ functional
- Capabilities: pass → unverified ▼ functional
- Schema quality: Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. functional
- Package version: 0.1.5 → 0.1.6 functional
- 20 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 73 to 77. That category is still filling its 30-day observation window: 22 days of observed history at the previous scan, 23 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Analysed mcpb/https://github.com/Servosity/msp-skills/releases/download/n-central-v0.1.8/n-central-mcp.mcpb@0.1.8
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | mcpb |
| Reason | No attestation published |
Background: How many MCP packages publish verified provenance →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
access-groups_get ~43
Retrieve detailed information for an access group by ID. Required: accessGroupId. Returns the OrgUnit.
| Name | Type | Req | Description |
|---|---|---|---|
| accessGroupId | string | yes | accessGroupId |
No output schema declared.
No examples provided.
analytics ~499
Analyze locally synced data with count, group-by, and summary operations. Data must be synced first with the sync command.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| group-by | string | – | Field to group by |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| limit | number | – | Max groups to show (default: 25) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| type | string | – | Resource type to analyze |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
context ~29
Get API domain context: resource taxonomy, auth requirements, query tips, and unique capabilities. Call this first.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
customers_get ~34
Retrieve a single customer by ID. Required: customerId. Returns the Customer.
| Name | Type | Req | Description |
|---|---|---|---|
| customerId | string | yes | customerId |
No output schema declared.
No examples provided.
customers_list ~108
List all customers across the instance. Optional: pageNumber, pageSize, sortBy (plus 2 more). Returns array of Customer.
| Name | Type | Req | Description |
|---|---|---|---|
| pageNumber | number | – | Page number (1-based) |
| pageSize | number | – | Items per page (default 50, -1 for all) |
| select | string | – | Field-selection expression |
| sortBy | string | – | Field to sort by (e.g. customerName) |
| sortOrder | string | – | asc or desc |
No output schema declared.
No examples provided.
customers_registration-token ~43
Retrieve the agent registration token for a customer (used to enroll new devices). Required: customerId. Returns the Customer.
| Name | Type | Req | Description |
|---|---|---|---|
| customerId | string | yes | customerId |
No output schema declared.
No examples provided.
device-filters_list ~25
List saved device filters for the API user. Returns array of OrgUnit.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
devices_assets ~36
Retrieve hardware/software asset inventory for a device. Required: deviceId. Returns the Device.
| Name | Type | Req | Description |
|---|---|---|---|
| deviceId | string | yes | deviceId |
No output schema declared.
No examples provided.
devices_get ~34
Retrieve a single device by ID. Required: deviceId. Returns the Device.
| Name | Type | Req | Description |
|---|---|---|---|
| deviceId | string | yes | deviceId |
No output schema declared.
No examples provided.
devices_list ~135
List all devices visible to the API user, across the org tree. Optional: filterId, pageNumber, pageSize (plus 3 more). Returns array of Device.
| Name | Type | Req | Description |
|---|---|---|---|
| filterId | number | – | Apply a saved N-central device filter by ID |
| pageNumber | number | – | Page number (1-based) |
| pageSize | number | – | Items per page (default 50, -1 for all) |
| select | string | – | Field-selection expression |
| sortBy | string | – | Field to sort by (e.g. longName, customerName) |
| sortOrder | string | – | asc or desc |
No output schema declared.
No examples provided.
devices_maintenance ~38
List patch maintenance windows configured for a device. Required: deviceId. Returns array of Device.
| Name | Type | Req | Description |
|---|---|---|---|
| deviceId | string | yes | deviceId |
No output schema declared.
No examples provided.
devices_properties ~44
List custom property values for a device (the backbone of MSP automation/documentation). Required: deviceId. Returns array of Device.
| Name | Type | Req | Description |
|---|---|---|---|
| deviceId | string | yes | deviceId |
No output schema declared.
No examples provided.
devices_status ~45
Retrieve the service-monitoring status (active issues / health) for a device. Required: deviceId. Returns array of ActiveIssue.
| Name | Type | Req | Description |
|---|---|---|---|
| deviceId | string | yes | deviceId |
No output schema declared.
No examples provided.
devices_tasks ~37
List scheduled/automation tasks targeting this device. Required: deviceId. Returns array of Device.
| Name | Type | Req | Description |
|---|---|---|---|
| deviceId | string | yes | deviceId |
No output schema declared.
No examples provided.
export ~542
Export paginated API data to a local file. Supports JSONL (one JSON object per line, streaming-friendly) and JSON (array). JSONL is recommended for large datasets as it has no memory pressure.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| args | string | – | Additional positional arguments or raw CLI flags to append to the command. |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| format | string | – | Output format: jsonl or json (default: jsonl) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| limit | number | – | Maximum records to export (0 = unlimited) (default: 0) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache for fresh data (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
fanout ~567
Search the local SQLite mirror(s) with one full-text query and return matches across every synced resource type, each row tagged with the server it came from. The default DB is the configured local mirror. Pass --db one or more times to union additional server DB files into the same search — this is the multi-server story: one query, many tenants. Local-only: fanout never hits the network. Run 'sync' first to populate a DB.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| args | string | – | Additional positional arguments or raw CLI flags to append to the command. |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| limit | number | – | Maximum results per database (default: 50) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
guardian ~614
A CI-wireable health check for N-central API access. Runs three checks: 1. Token validity — exchanges the JWT and validates the access token. 2. Password expiry — N-central's API-user password expiry (default 90 days) silently invalidates the JWT. Pass --password-set YYYY-MM-DD to track it; WARN under 14 days, FAIL when already expired. 3. 200-OK errors — N-central sometimes returns an error message in a 200 body; guardian scans /server-info for one. Exits non-zero when the token is invalid or the password is already expired, so it can gate a pipeline.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| password-policy-days | number | – | Password-expiry policy length in days (default: 90) |
| password-set | string | – | Date the API user's password was last set (YYYY-MM-DD) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
import ~517
Import data from a JSONL file by issuing POST requests for each record. Each line must be a valid JSON object. Failed records are logged to stderr but do not stop the import.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| args | string | – | Additional positional arguments or raw CLI flags to append to the command. |
| batch-size | number | – | Records per batch (future: batch API support) (default: 1) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Preview import without sending requests (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
jobs ~499
Jobs tracked when you submit an async-capable endpoint land in ~/.n-central-cli/jobs.jsonl. This command lists, inspects, and prunes them. Submit an async endpoint with --wait to block until completion; submit without --wait to get the job ID back immediately and track it later.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
jobs_get ~465
Show the latest state row for a job
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| args | string | – | Additional positional arguments or raw CLI flags to append to the command. |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
jobs_list ~485
List recent async jobs
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| all | boolean | – | Show every state transition rather than the latest row per job (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| limit | number | – | Maximum rows to list (0 for unlimited) (default: 50) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
jobs_prune ~476
Remove job rows older than --older-than
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| older-than | string | – | Prune rows whose latest update is older than this duration (default: 168h0m0s) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
maint ~450
Maintenance-window reports (e.g. coverage gaps before a patch wave)
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
maint_coverage ~569
Find devices that have no maintenance window scheduled on or before a target date. For each device in the local mirror, fetch its maintenance windows live and check whether any window's start (or next-run) is on or before --before. Devices with no covering window are reported, grouped by customer. --before defaults to 7 days from now. Requires live API access.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| before | string | – | Coverage cutoff date YYYY-MM-DD (default: 7 days from now) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| customer | number | – | Scope to a single customer ID (default: 0) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| limit | number | – | Maximum devices to scan (default: 200) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
org-units_access-groups ~44
List access groups for an org unit. Required: orgUnitId. Returns array of OrgUnit.
| Name | Type | Req | Description |
|---|---|---|---|
| orgUnitId | string | yes | orgUnitId |
No output schema declared.
No examples provided.
org-units_active-issues ~121
Fetch active monitoring issues for an org unit (the daily NOC triage feed). Required: orgUnitId. Optional: pageNumber, pageSize, sortBy (plus 1 more). Returns array of ActiveIssue.
| Name | Type | Req | Description |
|---|---|---|---|
| orgUnitId | string | yes | orgUnitId |
| pageNumber | number | – | Page number (1-based) |
| pageSize | number | – | Items per page (1-1000) |
| sortBy | string | – | Field to sort by |
| sortOrder | string | – | asc or desc |
No output schema declared.
No examples provided.
org-units_children ~43
List the direct children of an org unit. Required: orgUnitId. Returns array of OrgUnit.
| Name | Type | Req | Description |
|---|---|---|---|
| orgUnitId | string | yes | orgUnitId |
No output schema declared.
No examples provided.
org-units_devices ~83
List devices scoped to a specific org unit. Required: orgUnitId. Optional: pageNumber, pageSize. Returns array of Device.
| Name | Type | Req | Description |
|---|---|---|---|
| orgUnitId | string | yes | orgUnitId |
| pageNumber | number | – | Page number (1-based) |
| pageSize | number | – | Items per page (default 50, -1 for all) |
No output schema declared.
No examples provided.
org-units_get ~41
Retrieve a single org unit by ID. Required: orgUnitId. Returns the OrgUnit.
| Name | Type | Req | Description |
|---|---|---|---|
| orgUnitId | string | yes | orgUnitId |
No output schema declared.
No examples provided.
org-units_job-statuses ~44
Fetch job statuses for an org unit. Required: orgUnitId. Returns array of ActiveIssue.
| Name | Type | Req | Description |
|---|---|---|---|
| orgUnitId | string | yes | orgUnitId |
No output schema declared.
No examples provided.
org-units_list ~101
List all organization units (SO, customer, and site nodes). Optional: pageNumber, pageSize, sortBy (plus 1 more). Returns array of OrgUnit.
| Name | Type | Req | Description |
|---|---|---|---|
| pageNumber | number | – | Page number (1-based) |
| pageSize | number | – | Items per page (default 50, -1 for all) |
| sortBy | string | – | Field to sort by |
| sortOrder | string | – | asc or desc |
No output schema declared.
No examples provided.
org-units_registration-token ~44
Retrieve the agent registration token for an org unit. Required: orgUnitId. Returns the OrgUnit.
| Name | Type | Req | Description |
|---|---|---|---|
| orgUnitId | string | yes | orgUnitId |
No output schema declared.
No examples provided.
org-units_user-roles ~45
List user roles defined for an org unit. Required: orgUnitId. Returns array of OrgUnit.
| Name | Type | Req | Description |
|---|---|---|---|
| orgUnitId | string | yes | orgUnitId |
No output schema declared.
No examples provided.
props ~450
Custom-property reports (e.g. coverage/drift audits across devices)
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
props_audit ~582
Audit custom-property coverage across devices. For each device in the local mirror, fetch its custom properties live and check whether the --required property is present with a non-empty value. Results are grouped by customer with a coverage percentage and a list of the devices still missing the value. Requires --required and live API access (the property values are fetched per-device).
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| customer | number | – | Scope to a single customer ID (default: 0) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| limit | number | – | Maximum devices to scan (default: 200) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| required | string | – | Name of the custom property to audit (required) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| show-values | boolean | – | Include a distinct-value histogram per customer (default: false) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
scheduled-tasks_get ~38
Retrieve general information for a scheduled task. Required: taskId. Returns the ActiveIssue.
| Name | Type | Req | Description |
|---|---|---|---|
| taskId | string | yes | taskId |
No output schema declared.
No examples provided.
scheduled-tasks_run ~128
Create a direct-support scheduled task (run an Automation Policy, Script, or MacScript on a device). Required: name, itemId, taskType, customerId, deviceId. Returns the new ActiveIssue.
| Name | Type | Req | Description |
|---|---|---|---|
| customerId | number | yes | Target customer ID |
| deviceId | number | yes | Target device ID |
| itemId | number | yes | Remote-execution item ID from the Script/Software Repository (must be API-enabled in N-central) |
| name | string | yes | Unique task name |
| taskType | string | yes | AutomationPolicy, Script, or MacScript |
No output schema declared.
No examples provided.
scheduled-tasks_status ~38
Retrieve aggregated status for a scheduled task. Required: taskId. Returns the ActiveIssue.
| Name | Type | Req | Description |
|---|---|---|---|
| taskId | string | yes | taskId |
No output schema declared.
No examples provided.
search ~64
Full-text search across all synced data. Faster than paginating list endpoints. Requires sync first.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Max results (default 25) |
| query | string | yes | Search query (supports FTS5 syntax: AND, OR, NOT, quotes for phrases) |
No output schema declared.
No examples provided.
server_health ~32
Return the start and current time of the server (lightweight reachability check). Returns the OrgUnit. (public)
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
server_info ~25
Return version information for the N-central API service and systems. Returns the OrgUnit.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
service-orgs_customers ~39
List all customers under a service organization. Required: soId. Returns array of Customer.
| Name | Type | Req | Description |
|---|---|---|---|
| soId | string | yes | soId |
No output schema declared.
No examples provided.
service-orgs_get ~38
Retrieve a single service organization by ID. Required: soId. Returns the ServiceOrg.
| Name | Type | Req | Description |
|---|---|---|---|
| soId | string | yes | soId |
No output schema declared.
No examples provided.
service-orgs_list ~93
List all service organizations. Optional: pageNumber, pageSize, sortBy (plus 1 more). Returns array of ServiceOrg.
| Name | Type | Req | Description |
|---|---|---|---|
| pageNumber | number | – | Page number (1-based) |
| pageSize | number | – | Items per page (default 50, -1 for all) |
| sortBy | string | – | Field to sort by |
| sortOrder | string | – | asc or desc |
No output schema declared.
No examples provided.
sites_get ~34
Retrieve a single site by ID. Required: siteId. Returns the Site.
| Name | Type | Req | Description |
|---|---|---|---|
| siteId | string | yes | siteId |
No output schema declared.
No examples provided.
sites_list ~92
List all sites across the instance. Optional: pageNumber, pageSize, sortBy (plus 1 more). Returns array of Site.
| Name | Type | Req | Description |
|---|---|---|---|
| pageNumber | number | – | Page number (1-based) |
| pageSize | number | – | Items per page (default 50, -1 for all) |
| sortBy | string | – | Field to sort by |
| sortOrder | string | – | asc or desc |
No output schema declared.
No examples provided.
sql ~93
Run read-only SQL against local database. Use for ad-hoc analysis, aggregations, and joins across synced resources. Requires sync first.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | SQL query (SELECT or WITH...SELECT). Synced records live in resources(resource_type, id, data); filter by resource_type and use json_extract on data, e.g. SELECT json_extract(data,'$.name') FROM reso… |
No output schema declared.
No examples provided.
How do I install the N-able N-central MCP server?
N-able N-central MCP ships as an MCPB bundle, a single file you download and open in an MCP host that supports MCPB bundles, such as Claude Desktop. The host reads the launch command from the bundle's own manifest, so there is no command to copy. Before opening it, check the file's SHA-256 matches the one the MCP registry declares for it, 948fec9581c9326ff32313d21e0d910fa0d09ac34bddfc2b167ba50535896300; the commands to do that are on this page. If it does not match, do not open it.
mcpb · n-central-mcp.mcpb
Download bundleCheck the download matches the SHA-256 the MCP registry declares before you open it. If it does not match, do not open the file.
SHA-256
948fec9581c9326ff32313d21e0d910fa0d09ac34bddfc2b167ba50535896300
macOS / Linux
echo "948fec9581c9326ff32313d21e0d910fa0d09ac34bddfc2b167ba50535896300 n-central-mcp.mcpb" | shasum -a 256 -c
Windows (PowerShell)
(Get-FileHash -Algorithm SHA256 .\n-central-mcp.mcpb).Hash -eq "948fec9581c9326ff32313d21e0d910fa0d09ac34bddfc2b167ba50535896300"
Run it in the folder you saved the bundle to, then open the file with an MCPB-capable host such as Claude Desktop.
What is the N-able N-central MCP server?
N-able N-central MCP is listed in the public MCP registry as io.github.Servosity/n-central-mcp. N-central REST API with an offline org-tree mirror, cross-tenant search, and a JWT-expiry guardian. This page covers its MCPB bundle (https://github.com/Servosity/msp-skills/releases/download/n-central-v0.1.8/n-central-mcp.mcpb).
Is the N-able N-central MCP server safe to use?
N-able N-central MCP scores 52 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the N-able N-central MCP server expose?
N-able N-central MCP exposes 54 tools: access-groups_get, analytics, context, customers_get, customers_list, and 49 more. Their descriptions and schemas cost roughly 12,392 tokens of context every time the server is loaded.
What licence is the N-able N-central MCP server under?
N-able N-central MCP declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.