NinjaOne MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NINJA_CLIENT_ID | Yes | Your Access Key ID from NinjaOne API application | |
| NINJA_API_BASE_URL | Yes | The base URL for the NinjaOne API | https://api.ninjarmm.com |
| NINJA_REDIRECT_URI | Yes | The redirect URI configured in your NinjaOne API application | |
| NINJA_CLIENT_SECRET | Yes | Your Secret Access Key from NinjaOne API application |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_devicesC | List all devices in the NinjaOne system with optional pagination and filtering |
| get_deviceB | Get detailed information about a specific device |
| search_devicesC | Search for devices using filter syntax |
| get_device_alertsB | Get active alerts for a specific device |
| get_all_alertsB | Get all active alerts across all devices |
| reboot_deviceC | Reboot a device |
| run_scriptC | Run a script or built-in action on a device |
| get_os_patchesC | Get OS patches status for a device |
| get_software_patchesC | Get software patches status for a device |
| get_device_softwareC | Get software inventory for a device |
| create_ticketC | Create a new support ticket |
| get_ticketC | Get ticket details |
| update_ticketC | Update a ticket |
| add_ticket_commentC | Add a comment to a ticket |
| list_organizationsC | List all organizations |
| get_organizationC | Get organization details |
| get_device_healthB | Get device health report |
| get_antivirus_statusC | Get antivirus status report |
| list_contactsB | List all contacts |
| api_getC | Make a generic GET request to any NinjaOne API endpoint |
| api_postC | Make a generic POST request to any NinjaOne API endpoint |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 21 tools
Most specific tools target distinct resources and actions, but generic api_get/api_post overlap with nearly every read/create tool, and list_devices versus search_devices has fuzzy boundaries. Descriptions help, but an agent could reasonably misselect between generic and specific tools or between list and search.
Nearly all tools use a predictable snake_case verb_noun pattern such as list_devices, get_ticket, create_ticket, and run_script. api_get and api_post are minor deviations since they read as resource_verb rather than verb_resource, but overall the naming is consistent.
At 21 tools this is above the typical 3-15 range, but NinjaOne is a broad RMM domain covering devices, alerts, patches, software, tickets, organizations, health, antivirus, and contacts. The tools mostly earn their place, though the generic api_* tools add some redundancy.
Core areas are covered for devices, alerts, patches, software, tickets, organizations, health, antivirus, and contact listing, but there are notable lifecycle gaps such as no list_tickets, no contact get/create/update/delete, and no organization create/update. The generic api_get/api_post partially mitigate these gaps but do not cover full CRUD because they only expose GET and POST.