NinjaOne MCP
MCP server for NinjaOne (NinjaRMM) with hierarchical tool loading for managing devices, organizations, alerts, and tickets.
🔗 Companion Plugin
Pair this MCP server with the NinjaOne (NinjaRMM) plugin for skills, commands, and API knowledge alongside direct API access.
Installation
Run the MCP server with npx:
npx @wyre-technology/ninjaone-mcp Or install the package:
npm install @wyre-technology/ninjaone-mcp MCPB Bundle (Claude Desktop)
Download the .mcpb bundle from
GitHub Releases
for a zero-config Claude Desktop install. No Node.js or terminal required — just open the
bundle in Claude Desktop via Settings → MCP Servers → Install from file.
Requires Claude Desktop 0.10+.
Claude Desktop Configuration
Add to your claude_desktop_config.json:
{
"mcpServers": {
"ninjaone": {
"command": "npx",
"args": [
"@wyre-technology/ninjaone-mcp"
],
"env": {
"NINJAONE_CLIENT_ID": "your-ninjaone-client-id",
"NINJAONE_CLIENT_SECRET": "your-ninjaone-client-secret"
}
}
}
} Authentication
| Variable | Required | Description |
|---|---|---|
NINJAONE_CLIENT_ID | Yes | OAuth 2.0 Client ID |
NINJAONE_CLIENT_SECRET | Yes | OAuth 2.0 Client Secret |
NINJAONE_REGION | No | Region: us (default), eu, or oc |
Getting Credentials
Vendor portal: https://www.ninjaone.com/
Prerequisites
- NinjaOne account with Administrator role
- Knowledge of your NinjaOne deployment region (us | eu | oc — visible in your NinjaOne portal URL)
- Awareness that NinjaOne uses OAuth 2.0; you create an "API Application" record to issue tokens
Steps
- Sign in to your NinjaOne console as an Administrator.
- Navigate to Administration → Apps → API.
- Click "Add" to create a new API Application.
- Fill in:
- Application Name: "WYRE Gateway"
- Application Platform: API Services (machine-to-machine, NOT user-facing)
- Redirect URI: not required for client_credentials grant
- Scope: select scopes per least-privilege for the entities you need (monitoring, management, control)
- Save the application. NinjaOne generates NINJAONE_CLIENT_ID and NINJAONE_CLIENT_SECRET.
- Save NINJAONE_CLIENT_SECRET before leaving — NinjaOne only shows it once.
- Set NINJAONE_REGION to your deployment region (us is default; eu / oc if applicable).
Required Scopes / Permissions
monitoring (read endpoints, alerts)management (modify endpoints — devices, organizations)control (run actions on endpoints — reboots, scripts)Adjust per the tools you intend to use; least-privilege is recommended (start with monitoring only, add as needed)
Credential Format
Client ID is a UUID. Client Secret is a long random string. NINJAONE_REGION enum: us | eu | oc.
Rotation
Regenerate the client_secret from the same API Application page. Old secret remains valid until explicitly revoked; supports zero-downtime rotation.
Architecture
Hierarchical tool loading with navigation-based domain selection and lazy-loaded handlers.
Available Tools (21)
Tools are organized into 4 domains:
Devices
Manage endpoints, reboot devices, view services and alerts.
| Tool | Description |
|---|---|
ninjaone_devices_list | List devices with filters |
ninjaone_devices_get | Get device details |
ninjaone_devices_reboot | Schedule a device reboot |
ninjaone_devices_services | List Windows services on a device |
ninjaone_devices_alerts | Get device-specific alerts |
ninjaone_devices_activities | View device activity log |
Organizations
Manage customer organizations and their resources.
| Tool | Description |
|---|---|
ninjaone_organizations_list | List organizations |
ninjaone_organizations_get | Get organization details |
ninjaone_organizations_create | Create a new organization |
ninjaone_organizations_locations | List organization locations |
ninjaone_organizations_devices | List devices for an organization |
Alerts
View and manage alerts across all devices.
| Tool | Description |
|---|---|
ninjaone_alerts_list | List alerts with filters |
ninjaone_alerts_reset | Reset/dismiss a single alert |
ninjaone_alerts_reset_all | Reset all alerts for a device or org |
ninjaone_alerts_summary | Get alert count summary |
Tickets
Manage service tickets.
| Tool | Description |
|---|---|
ninjaone_tickets_list | List tickets with filters |
ninjaone_tickets_get | Get ticket details |
ninjaone_tickets_create | Create a new ticket |
ninjaone_tickets_update | Update an existing ticket |
ninjaone_tickets_add_comment | Add a comment to a ticket |
ninjaone_tickets_comments | Get ticket comments |
Rate Limits
Varies by endpoint. The underlying client library handles rate limiting automatically.