# Ninjaone MCP connector

The Ninjaone connector brings devices, alerts, tickets, patch history, software inventory and organizations into Claude, ChatGPT and Cursor, so your team can ask about the fleet in plain language inside the access each person already has.

Source: https://elaichi.ai/connectors/ninjaone/

## Facts

| | |
| --- | --- |
| Application | Ninjaone |
| Category | Device Management |
| AI tools | 21 |
| Authentication | Connects over OAuth |
| Needs your own OAuth app | Yes |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | Yes |

## What you can ask once Ninjaone is connected

- Which devices have alerts open longer than three days?
- Show tickets on the help desk board from this week.
- List devices missing the latest software patch.

## Connect Ninjaone in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Ninjaone.
2. Optionally set Share with, then press Connect.
3. Supply your own Ninjaone app, then approve. Ninjaone needs an OAuth app you register yourself, so bring its client ID and secret. One person does this once for the organization.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Ninjaone tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Ninjaone to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Ninjaone to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Ninjaone to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Ninjaone to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Ninjaone tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Ninjaone through Elaichi

### Find every device still missing a patch

IT. Ask which laptops and servers have not picked up last month's updates and get the list straight from each device's patch history in Ninjaone, without opening every record by hand.

### Check a device before picking up the call

Help desk. Pull up a user's device, its recent alerts, activity log and disk space in one question, so the technician already knows what is wrong when the conversation starts.

### Review open alerts across every organization

Security. Ask for all alerts raised in the last day across the clients you manage in Ninjaone, grouped by organization, and decide what needs attention first.

### Set up a new client organization

Account management. Create the organization record for a newly signed client in Ninjaone from a chat, then update its details as the onboarding call fills in the gaps.

### Audit installed software across the fleet

Operations. Ask which devices are running an outdated browser or an unapproved tool and get the answer from Ninjaone's software inventory, ready to paste into the renewal or compliance report.

### See what is sitting on each ticket board

Service desk. Ask how many tickets are waiting on each Ninjaone board and which ones have gone quiet, then read a single ticket in full without leaving the conversation.

## Frequently asked questions

### How do I connect Ninjaone to Claude?

First connect Ninjaone in Elaichi. Ninjaone requires an API application registered inside your own Ninjaone account, so an administrator creates one there once and enters its client ID and secret into Elaichi, then signs in with their own Ninjaone login over OAuth. Then in Claude go to Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp. Nobody else on the team has to handle that client ID or secret again.

### Does Ninjaone work with ChatGPT and Cursor as well as Claude?

Yes. Once Ninjaone is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client and the Elaichi Agent. You connect Ninjaone once and every client sees it.

### What can an AI agent actually do with my Ninjaone data?

With Ninjaone connected, an agent can look up devices, read their alerts, activity logs, disks, installed software and patch history, list open alerts and tickets across your ticket boards, and browse organizations, users and roles. It can also update a device's details, and create or update an organization. It cannot open or close tickets, and it cannot remove anything from Ninjaone.

### Does connecting Ninjaone give the AI access to every organization and device?

No. Every request runs as the person who signed in to Ninjaone, so a technician who can only see two client organizations gets answers about those two and nothing more. Elaichi can narrow that further with restrictions, and it can never widen access beyond what Ninjaone itself grants that person.

### Can my team share one Ninjaone connection?

Yes. One administrator connects Ninjaone in Elaichi and shares the connection with a team, and nobody else ever sees the client ID or secret. Each teammate still signs in to Elaichi as themselves, so the audit log records exactly who asked about which device or ticket.

### Can I stop an agent from changing things in Ninjaone?

Yes. Restrictions in Elaichi apply per action, so you can allow reading Ninjaone devices, alerts and tickets while blocking device updates or the creation of organizations. A blocked action is never shown to Claude, ChatGPT or Cursor at all, so no prompt, however worded, can reach it.

### What happens to a Ninjaone connection when someone leaves?

Offboarding a person in Elaichi ends their access to Ninjaone through every AI client at once, including any shared connection they were using. A connection they set up and shared keeps working for everyone else on the team. If you disconnect Ninjaone in Elaichi, it disappears from Claude, ChatGPT, Cursor and every other client in one step.

## All 21 Ninjaone tools

Every tool below is callable through https://api.elaichi.ai/mcp once Ninjaone is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all Ninjaone users** (List). List users in Ninjaone. Returns user id, firstName, lastName, email, phone, enabled, administrator, userType, invitationStatus, organizationId, deviceIds, tags, custom fields, and roles if includeRoles is true.
- **List all Ninjaone activities** (List). List activities in Ninjaone. Returns activity log with fields id, activityTime, deviceId, severity, priority, seriesUid, activityType, statusCode, status, activityResult, sourceConfigUid, sourceName, subject, userId, message, type, and data.
- **List all Ninjaone alerts** (List). List active alerts in Ninjaone. Returns alert uid, deviceId, message, createTime, updateTime, sourceType, sourceConfigUid, sourceName, subject, userId, psaTicketId, ticketTemplateId, data, and detailed device information including id, organizationId, locationId, nodeClass, approvalStatus, offline status, displayName, systemName, dnsName, netbiosName, created, lastContact, lastUpdate, tags, maintenance status, and references.
- **List all Ninjaone devices** (List). List devices in Ninjaone. Returns device id, organizationId, locationId, nodeClass, approvalStatus, offline status, displayName, systemName, dnsName, netbiosName, created, lastContact, lastUpdate, tags, maintenance status, and references including organization, location, rolePolicy, policy, role, backupUsage, and warranty.
- **Get single Ninjaone device by ID** (Get). Get device details by id in Ninjaone. Returns id, parentDeviceId, organizationId, locationId, nodeClass, nodeRoleId, rolePolicyId, policyId, approvalStatus, offline, displayName, systemName, dnsName, netbiosName, created, lastContact, lastUpdate, userData, tags, fields, maintenance status, references, ipAddresses, macAddresses, publicIP, notes, and deviceType.
- **Update a Ninjaone device by ID** (Update). Update specific device information in Ninjaone using id. Allows updating displayName, userData, nodeRoleId, policyId, organizationId, locationId, and warranty details. Returns the updated device data in the response.
- **List all Ninjaone device activity logs** (List). Get activity logs for a device in Ninjaone using device_id. Returns activities array with id, activityTime, deviceId, severity, priority, seriesUid, activityType, statusCode, status, activityResult, sourceConfigUid, sourceName, subject, userId, message, type, and data fields.
- **List all Ninjaone device alerts** (List). Get list of active alerts for device by id in Ninjaone. Returns alert uid, deviceId, message, createTime, updateTime, sourceType, sourceConfigUid, sourceName, subject, userId, psaTicketId, ticketTemplateId, data, and detailed device info including id, displayName, systemName, and status.
- **List all Ninjaone device software patch history** (List). Get software patch installation history for device with device_id in Ninjaone. Returns patch id, productIdentifier, title, impact, status, type, and installedAt timestamp.
- **List all Ninjaone device software** (List). Get a list of software installed on the device in NinjaOne. Requires device_id. Returns installDate, location, name, publisher, size, version, and productCode for each software.
- **List all Ninjaone software inventory** (List). Get list of software installed on devices in Ninjaone. Returns installDate, location, name, publisher, size, version, productCode, deviceId, and timestamp for each software entry. Supports filtering by installedAfter and installedBefore dates.
- **List all Ninjaone tickets** (List). Run a board in Ninjaone to get a list of tickets matching the board condition and filters. Requires board_id. Returns ticket data array and metadata including columns, sortBy, attributes, filters, and export column names.
- **Get single Ninjaone ticket by ID** (Get). Get information about a specific ticket in Ninjaone by id. Returns fields including id, version, clientId, subject, status (name, displayName, statusId), type, priority, severity, source, tags, ccList (uids, emails), createTime, deleted, and attributeValues.
- **List all Ninjaone ticket boards** (List). List ticket boards in Ninjaone. Returns id, uid, name, description, conditions, createTime, updateTime, system flag, columns, sortBy, and ticketCount for each board.
- **List all Ninjaone device disks** (List). Get device disk details for the device identified by device_id in NinjaOne. Returns bytesPerSector, description, interfaceType, manufacturer, mediaType, model, name, partitionCount, serialNumber, size, smartCapable, and status fields.
- **List all Ninjaone organizations** (List). List organizations in Ninjaone with detailed information including locations, policy mappings, and settings such as trayicon, splashtop, teamviewer, backup, and psa. Returns fields like id, name, description, locations, policies, and settings.
- **Get single Ninjaone organization by ID** (Get). Get organization details in Ninjaone using id. Returns name, description, locations with addresses, policies with nodeRoleId and policyId, and settings for trayicon, teamviewer, splashtop, backup, and psa.
- **Create a Ninjaone organization** (Create). Create a new organization in Ninjaone. Returns organization details including id, name, description, nodeApprovalMode, tags, locations with id, and related settings configurations.
- **Update a Ninjaone organization by ID** (Update). Update an existing organization in Ninjaone using id. Allows modifying the organization's name, description, nodeApprovalMode, tags, userData, and fields. Returns the updated organization details in the response.
- **List all Ninjaone search devices** (List). Search devices in Ninjaone using query parameter q. Returns a list of devices matching the search term. Each device includes id, uid, displayName, systemName, and status fields in the response.
- **List all Ninjaone user roles** (List). List user roles in Ninjaone. Returns id, name, type, and description for each role, along with members containing id, email, name, and source.
