Updated April 2026

Install NinjaOne

Pick your client, copy the command, done.

Local setup required. This server has to be cloned and prepared on your machine before you register it in Claude Code.
1

Set the server up locally

Run this once to clone and prepare the server before adding it to Claude Code.

Run in terminal
git clone git@github.com:fredriksknese/mcp-ninjaone.git
cd mcp-ninjaone
npm install
npm run build
2

Register it in Claude Code

After the local setup is done, run this command to point Claude Code at the built server.

Run in terminal
claude mcp add -e "NINJAONE_CLIENT_ID=${NINJAONE_CLIENT_ID}" -e "NINJAONE_CLIENT_SECRET=${NINJAONE_CLIENT_SECRET}" -e "NINJAONE_INSTANCE=${NINJAONE_INSTANCE}" ninjaone -- node "<FULL_PATH_TO_MCP_NINJAONE>/dist/index.js"

Replace <FULL_PATH_TO_MCP_NINJAONE>/dist/index.js with the actual folder you prepared in step 1.

Required:NINJAONE_CLIENT_IDNINJAONE_CLIENT_SECRETNINJAONE_INSTANCE

Environment Variables

Set these before running NinjaOne.

VariableDescriptionRequired
NINJAONE_CLIENT_IDOAuth2 client ID from NinjaOne API credentialsYes
NINJAONE_CLIENT_SECRETOAuth2 client secret from NinjaOne API credentialsYes
NINJAONE_INSTANCENinjaOne instance hostnameYes

Available Tools (22)

Once configured, NinjaOne gives your AI agent access to:

list_devicesList all managed devices with online status, OS, organization, and last contact
get_deviceGet detailed device info including hardware, agent version, and network details
get_device_activitiesGet recent activity log for a device
get_device_os_patch_statusView pending, installed, and failed OS patches for a device
get_device_softwareList all installed software on a device
get_device_processor_infoGet CPU/processor details for a device
get_device_disksGet disk/storage info including capacity and free space
list_organizationsList all organizations with ID, name, and node count
get_organizationGet detailed organization info including contacts, tags, and policy assignments
list_organization_devicesList all devices belonging to a specific organization
get_organization_locationsGet configured locations for an organization
get_organization_policiesGet policy assignments for an organization
list_alertsList active alerts across all devices, filterable by severity
list_device_alertsList all active alerts for a specific device
reset_alertReset (acknowledge and clear) an active alert by its UID
list_alert_conditionsList all configured alert trigger conditions
list_maintenance_windowsList all scheduled maintenance windows
create_maintenance_windowCreate a maintenance window for a device to suppress alerts
cancel_device_maintenanceCancel an active maintenance window to re-enable alerting
list_running_jobsList currently running jobs across all devices
get_device_jobsGet all jobs for a specific device
run_script_on_deviceExecute a saved script on a device

Try It Out

After setup, try these prompts with your AI agent:

Show me all devices that are currently offline
What active alerts do we have across all organizations?
Put device 1234 into maintenance mode for the next 2 hours
List all devices for the Acme Corp organization
What software is installed on device 5678?
Prerequisites & system requirements
  • An MCP-compatible client (Claude Code, Cursor, Windsurf, Claude Desktop, or Codex)
  • Node.js 18+ with npm/npx installed
  • NINJAONE_CLIENT_ID — OAuth2 client ID from NinjaOne API credentials
  • NINJAONE_CLIENT_SECRET — OAuth2 client secret from NinjaOne API credentials
  • NINJAONE_INSTANCE — NinjaOne instance hostname

Keep this setup from going cold

Save the docs, env vars, and workflow around NinjaOne in Conare so Claude Code, Codex, and Cursor remember it next time.

Need the legacy visual installer? Open Conare IDE.
Remember this setup