From ncentral
Use this skill when working with the N-central MCP tools — User-API Token (JWT) authentication through Conduit, 1-based pagination with the totalItems/totalPages envelope, rate-limit behavior, preview-endpoint caveats, and on-prem server specifics.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ncentral:api-patternsWhen to use
When working with N-central authentication, the Conduit connection, pagination, rate limits, or preview-endpoint availability for the N-central MCP server. Use when: ncentral api, ncentral authentication, ncentral jwt, ncentral pagination, ncentral mcp, ncentral token, n-able api, or api-explorer.
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
The N-central MCP server exposes the N-able N-central REST API (`/api/*`)
The N-central MCP server exposes the N-able N-central REST API (/api/*)
for MSP technicians: devices, org units (service organizations, customers,
sites), active issues, scheduled tasks, custom properties, maintenance
windows, and access groups. Unlike SaaS RMMs, every MSP runs its own
N-central server — on-prem or N-able hosted — so all calls target a
per-tenant server FQDN.
The plugin talks to N-central through Conduit (conduit.wyre.ai). The
MCP client authenticates to Conduit with OAuth — no client-side environment
variables or headers. N-central credentials (a permanent User-API Token
JWT plus your server URL) are entered once in Conduit's connect UI; Conduit
stores them and injects them per-request as sidecar headers:
| Header (Conduit → sidecar, server-side) | Value |
|---|---|
X-NCentral-Server-URL | Base URL of your N-central server (e.g. https://ncentral.yourcompany.com) |
X-NCentral-JWT | The User-API Token JWT |
The MCP server handles upstream auth translation from those headers. If a tool call fails with an authentication error, fix the credentials in Conduit's connect page — not in the MCP client.
The JWT you supply is the permanent User-API Token generated in the
N-central UI (Administration → User Management → Users → user → API Access
→ Generate JSON Web Token). The MCP server exchanges it at
POST /api/auth/authenticate for a short-lived access token (~1 hour)
and refresh token (~25 hours), and refreshes them transparently. You
never manage access/refresh tokens yourself — supply the JWT and server URL
and the server does the rest. Two constraints on the N-central side:
Use ncentral_validate_token to confirm the token is valid and see which
user it authenticates as; ncentral_server_info reports the server version.
Tools are exposed behind decision-tree navigation. Call ncentral_navigate
to move into a domain (orgs, devices, monitoring, tasks, custom-properties,
maintenance, access-groups), ncentral_back to go up a level, and
ncentral_status to see where you are and what is currently available.
ncentral_health works from anywhere.
List endpoints use 1-based page pagination:
| Parameter | Notes |
|---|---|
pageNumber | 1-based (the first page is 1, not 0) |
pageSize | Max 1000; default varies by endpoint |
sortBy | Field name to sort on |
sortOrder | asc / ASC / ascending or desc / DESC / descending |
Responses arrive in an envelope:
{
"data": [ ... ],
"totalItems": 4321,
"totalPages": 5,
"pageNumber": 1,
"pageSize": 1000,
"_links": { "nextPage": "...", "lastPage": "..." }
}
Always check totalItems/totalPages before claiming a result set is
complete; walk pageNumber up to totalPages (or follow _links.nextPage)
for full inventories.
N-central returns HTTP 429 when a client sends requests too quickly.
The MCP sidecar retries 429s with backoff automatically, so occasional
throttling is invisible; sustained parallel sweeps across large device
fleets will still slow down. Prefer server-side filters (filterId,
org-unit scoping) over client-side filtering of huge pages.
Several REST endpoints are published at N-able's "preview" stage —
their shape and availability vary by N-central release (this affects
active issues, scheduled tasks, maintenance windows, and custom properties
in older releases). If a tool returns 404 or an unexpected schema, check
what your server actually ships: the interactive Swagger UI at
https://<your-server>/api-explorer is the authoritative list for your
exact version.
NODE_EXTRA_CA_CERTS. Never disable TLS verification as a workaround.ncentral_server_info and the api-explorer to
confirm endpoint availability before debugging a "broken" tool.| Status | Meaning | Action |
|---|---|---|
| 401 | JWT invalid, expired, or user has MFA enabled | Regenerate the token; verify MFA is off for the API user |
| 403 | Authenticated but role/access group forbids the resource | Check the API user's role and access groups |
| 404 | Unknown ID, or endpoint not in this N-central release | Re-list to confirm the ID; check /api-explorer for availability |
| 429 | Rate limit | Sidecar retries automatically; slow sweeps if persistent |
npx claudepluginhub wyre-technology/msp-claude-plugins --plugin ncentralGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Enforces test-driven development: write failing test first, then minimal code to pass. Use when implementing features or bugfixes.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.