# Reported issues for NinjaOne

Pod holds 8 of 8 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to [NinjaOne](/mcp/ninjaone-2).

## Most discussed

### Pilot: MCP 2026-07-28 spec migration — SDK v2 (@modelcontextprotocol/server)

## Context

The Model Context Protocol finalizes its next spec revision on **2026-07-28** ([release-candidate announcement](https://blog.modelcontextprotocol.io/posts/2026-07-28-release-candidate/)). Headline changes:

- **Stateless core** — the `initialize`/`initialized` handshake and `Mcp-Session-Id` are removed; protocol version, client info, and capabilities travel in `_meta` on every request, with a new `server/discover` method for capability discovery.
- New `Mcp-Method`/`Mcp-Name` HTTP he

[Read the thread](https://github.com/WYRE-AI/ninjaone-mcp/issues/69) · 2026-07-23 · closed · outside contributor · 1 comment

### status parameter on ninjaone_tickets_list always throws Bad Request, even with valid values

Summary

Passing any status value (for example "OPEN") to ninjaone_tickets_list throws "Bad request - invalid credentials or parameters", with or without board_id also specified. This appears to be the same failure class as the organization_id issue on this same tool (see #60).

Steps to reproduce

Call ninjaone_tickets_list with status set to "OPEN" (or any other status enum value). This throws an immediate Bad request error rather than returning a filtered ticket list.

Impact

This is a genui

[Read the thread](https://github.com/WYRE-AI/ninjaone-mcp/issues/61) · 2026-07-05 · closed · external user · 2 comments

### organization_id filter is broken - silently ignored on devices_list, throws Bad Request on tickets_list

Summary

The organization_id filter parameter behaves inconsistently across two tools. On ninjaone_devices_list, passing organization_id is silently ignored -- the full unfiltered device list is returned regardless of value. On ninjaone_tickets_list, passing organization_id throws "Bad request - invalid credentials or parameters".

Steps to reproduce

Call ninjaone_devices_list with organization_id set to a valid org id. The response includes devices from all organizations, not just the one spec

[Read the thread](https://github.com/WYRE-AI/ninjaone-mcp/issues/60) · 2026-07-05 · closed · external user · 2 comments

### ninjaone_devices_list silently truncates to 50 results with no cursor or more-results indicator

Follow-up to #54, which reported this alongside the tickets board problem (same "silent incomplete data" pattern, filed separately as offered by the reporter).

## Problem

When `limit` is omitted, `ninjaone_devices_list` defaults to `pageSize: 50` and returns only:

```json
{ "devices": [ ... up to 50 items ... ] }
```

There is no cursor, no total count, and no "more results" indicator in the response — a caller (or an LLM driving the tool) has no way to tell whether 50 means "exactly 50 devic

[Read the thread](https://github.com/WYRE-AI/ninjaone-mcp/issues/56) · 2026-07-04 · closed · outside contributor · 1 comment

### ninjaone_tickets_list hardcodes boardId=1, silently returns ~1 ticket instead of ~1400 on multi-board tenants

**Summary**

On a tenant whose ticketing is split across multiple boards (per-client boards, a "Pending Emails" queue, etc.), `ninjaone_tickets_list` returns almost no tickets instead of the real total, with no error or warning that anything is wrong.

**Root cause**

In `@wyre-technology/node-ninjaone`, `TicketsResource.list()` does:

```js
const boardId = params?.boardId ?? 1;
```

The comment above it says board 1 is "typically... the system 'All Tickets' board", but that's not true for every

[Read the thread](https://github.com/WYRE-AI/ninjaone-mcp/issues/54) · 2026-07-04 · closed · external user · 2 comments

### [Bug] No NPM Authentication Token

### Component

MCP Tool

### What happened?

Unable to deploy to Cloudflare Worker.  Install fails with the following:

npm error 401 Unauthorized - GET https://npm.pkg.github.com/download/@wyre-technology/node-ninjaone/1.1.2/2d88096e8b223f2ce6ee67749cd70f9c39072fea - authentication token not provided

Couldn't find relevant information in readme.  Updated API Token in Build Settings, but didn't fix the issue.

Any ideas?

### Steps to reproduce

1. Click Deploy to Cloudflare
2. Login to Cloudfl

[Read the thread](https://github.com/WYRE-AI/ninjaone-mcp/issues/33) · 2026-06-02 · closed · external user · 3 comments

### [Bug] tickets_list `cursor` param is accepted but never forwarded — pagination is dead

### Component

MCP Tool

### What happened?

The `ninjaone_tickets_list` tool declares a `cursor` input parameter, but the handler never passes it to the underlying SDK call. As a result, paginating past the first page is impossible through the tool — every call returns rows 1..N regardless of what cursor the caller supplies.

**Expected:** Passing `cursor` should resume the listing from that cursor (forwarded as `lastCursorId` to `client.tickets.list`).

**Actual:** The cursor is read into a lo

[Read the thread](https://github.com/WYRE-AI/ninjaone-mcp/issues/31) · 2026-05-28 · closed · external user · 1 comment

### [Enhancement] Canada?

### Tool type

API Coverage Expansion

### What are you adding or changing?

Why no love for Canada? 

### API endpoints involved

_No response_

### Breaking changes

- [ ] This change modifies existing tool behavior

[Read the thread](https://github.com/WYRE-AI/ninjaone-mcp/issues/3) · 2026-03-31 · closed · external user · 2 comments

## Most recent

The remaining reports are on [the project's issue tracker](https://github.com/wyre-technology/ninjaone-mcp/issues).
