MCP.Market

NinjaOne MCP server

by wyre-technology·io.github.wyre-technology/ninjaone-mcp·v2.2.9·29 stars

MCP server for NinjaOne RMM — devices, organizations, alerts, and tickets.

B75/100grade B
What users say
No reviews yet
Be the first
Safety scan
B75/100

full report

Adoption
Growing

29 stars

Reviews

Write one

Nobody has reviewed NinjaOne yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

NinjaOne tools

No tool declarations could be read from the package source. They show once the server is installed.

Public scan report

scanner v0.1.10 · 2026-11-01 · same rubric, same numbers if you re-run it

no findings
  • –Code scanpackage could not be scannedn/a
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitystatic API keys via environment variables6/15
  • Maintenancelast push 7 days ago15/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year9/10
Overall 75/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How NinjaOne compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
75/100
higher than 45% of 48,255 servers
GitHub stars
29
more than 92% of 28,688 servers

Install NinjaOne in Claude Code, Cursor or VS Code

claude mcp add ninjaone-mcp -- docker run -i --rm ghcr.io/wyre-technology/ninjaone-mcp:v2.2.9
Add to Cursor

What the publisher says

From the NinjaOne repository's README, as published. We do not edit it. Read it on GitHub

NinjaOne MCP Server

A Model Context Protocol (MCP) server for interacting with NinjaOne, featuring a decision tree architecture for efficient tool loading.

One-Click Deployment

[!IMPORTANT]

Before you click: this server depends on @wyre-ai/node-ninjaone,

which is hosted on the GitHub Packages npm registry. GitHub Packages has no

anonymous access — even though the package is public, every npm install needs a

token. The cloud builder runs npm install for you, so you must give it one, or

the build fails with npm error 401 Unauthorized ... npm.pkg.github.com.

1. Create a GitHub Personal Access Token with the read:packages scope

(classic token).

Any GitHub account works — you do not need to be a member of the

wyre-ai org to read its public packages.

2. Add it as a build variable when prompted by the deploy flow:

- Cloudflare Workers → set a build variable named NODEAUTHTOKEN to your PAT

(Workers → Settings → Build → Variables and Secrets).

- DigitalOcean App Platform → set an encrypted env var named GITHUBTOKEN**

with scope Build Time to your PAT (the .do/app.yaml already declares it).

[!NOTE]

Both targets run the full MCP server. DigitalOcean builds the Docker image and

serves it over HTTP; Cloudflare Workers serves the same server via the SDK's Web

Standard Streamable HTTP transport (src/worker.ts). After deploying, set your

NinjaOne credentials as secrets — NINJAONECLIENTID, NINJAONECLIENTSECRET,

and optionally NINJAONEREGION — or set AUTHMODE=gateway to take credentials

per-request from X-Ninja-* headers. The MCP endpoint is /mcp; /health is an

unauthenticated liveness probe.

Architecture

This MCP server uses a hierarchical tool loading approach instead of exposing all tools upfront:

  1. Navigation Phase: Initially exposes only a navigation tool (ninjaone_navigate)
  2. Domain Selection: User selects a domain (devices, organizations, alerts, tickets)
  3. Domain Tools: Server exposes domain-specific tools after selection
  4. Lazy Loading: Domain handlers and the NinjaOne client are loaded on-demand

This architecture provides:

  • Reduced cognitive load (fewer tools to choose from)
  • Faster initial load times
  • Better organization of related operations
  • Clear navigation state

Installation

This package is published to the GitHub Packages npm registry, which requires a token even for public packages. Authenticate once, then install:

# Authenticate npm to GitHub Packages (token needs the read:packages scope)
export NODE_AUTH_TOKEN=$(gh auth token)   # or a PAT with read:packages

npm install @wyre-ai/ninjaone-mcp

The repo's .npmrc already points the @wyre-ai scope at GitHub Packages and reads the token from NODEAUTHTOKEN, so no further config is needed. The same applies to npx @wyre-ai/ninjaone-mcp below. Prefer a zero-setup option? Use the prebuilt container image (ghcr.io/wyre-ai/ninjaone-mcp) or the .mcpb bundle attached to each release.

Configuration

Set the following environment variables:

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

NinjaOne: common questions

Is NinjaOne MCP server safe?
Mostly: it is graded B (75/100). Read the NinjaOne safety report
How do I install NinjaOne?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does NinjaOne need an API key?
Yes. The registry entry asks for NINJAONE_CLIENT_SECRET.
Is NinjaOne maintained?
The last commit was 9 days ago (2026-10-26). The latest release is v2.2.9.
How does NinjaOne compare with other MCP servers?
safety score 75/100 (higher than 45% of 48,255 servers); github stars 29 (more than 92% of 28,688 servers). Full comparison.

More from wyre-technology →