NinjaOne MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@NinjaOne MCP ServerList all devices and their active alerts"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
NinjaOne MCP Server
A comprehensive Model Context Protocol (MCP) server for NinjaOne RMM API integration with Claude. Enables Claude to manage devices, tickets, patches, organizations, and more across your entire NinjaOne infrastructure.
Features
✨ Comprehensive Coverage
Device management (list, search, get details, alerts)
Device actions (reboot, run scripts)
Patch management (OS and software patches)
Ticketing system (create, update, comment on tickets)
Reporting (device health, antivirus)
Organization management
Contact management
Generic API access for advanced use cases
🔐 Security
OAuth 2.0 authentication with automatic token refresh
Secure credential handling via environment variables
No secrets in version control
⚙️ Production Ready
TypeScript for type safety
Comprehensive error handling
Pagination support
Related MCP server: Okta MCP Server
Installation
Prerequisites
Node.js 20 LTS or higher
npm or yarn
NinjaOne account with API access
Setup
Clone the repository:
git clone https://github.com/soroushalamdari/ninjaone-mcp.git
cd ninjaone-mcpInstall dependencies:
npm installCreate
.envfile:
cp .env.example .envAdd your NinjaOne credentials to
.env:
NINJA_CLIENT_ID=your_access_key_id
NINJA_CLIENT_SECRET=your_secret_access_key
NINJA_REDIRECT_URI=https://yourdomain.com/callback
NINJA_API_BASE_URL=https://api.ninjarmm.comBuild the server:
npm run buildOAuth Setup
Get your credentials from NinjaOne:
Log into your NinjaOne dashboard
Navigate to Settings → API
Create a new API application
Note your Client ID and Client Secret
Set the redirect URI:
Use the exact URI you configured in
.env
Claude Desktop Integration
Setup Instructions
Build the MCP server:
npm run buildAdd to Claude Desktop config:
On macOS:
# Edit ~/.claude/claude_desktop_config.json
nano ~/.claude/claude_desktop_config.jsonOn Windows:
# Edit %APPDATA%\Claude\claude_desktop_config.json
# Open: C:\Users\<YourUsername>\AppData\Roaming\Claude\claude_desktop_config.jsonAdd this to the
mcpServerssection:
{
"mcpServers": {
"ninjaone-mcp": {
"command": "node",
"args": [
"/path/to/ninjaone-mcp/dist/index.js"
],
"env": {
"NINJA_CLIENT_ID": "your_access_key_id",
"NINJA_CLIENT_SECRET": "your_secret_access_key",
"NINJA_REDIRECT_URI": "https://yourdomain.com/callback",
"NINJA_API_BASE_URL": "https://api.ninjarmm.com"
}
}
}
}Replace /path/to/ninjaone-mcp/ with your actual installation path:
macOS:
/Users/username/ninjaone-mcpWindows:
C:\\Users\\username\\ninjaone-mcp
Restart Claude Desktop:
Close Claude Desktop completely
Reopen it
The NinjaOne MCP will now be available
Verify Installation
In Claude Desktop, you should see the NinjaOne tools available. Test with:
"List all devices"
"Show me active alerts"
"Get device health report"Troubleshooting
"NinjaOne MCP not showing up"
Verify the path to
dist/index.jsis correctMake sure you've run
npm run buildCheck that Claude Desktop was completely restarted
Verify JSON syntax in config file (use JSON validator)
"NINJA_CLIENT_ID or NINJA_CLIENT_SECRET error"
Ensure environment variables are in the
envsectionVerify credentials are correct in NinjaOne settings
Check for extra spaces or quotes in values
"node: command not found"
Ensure Node.js 20+ is installed:
node --versionUse full path to node if needed on Windows
Available Tools (20+ Tools)
Device Management
list_devices- List all devices with paginationget_device- Get detailed device informationsearch_devices- Search devices using filter syntaxget_device_alerts- Get active alerts for a deviceget_all_alerts- Get all active alerts across devices
Device Actions
reboot_device- Reboot device (graceful or force)run_script- Run script or built-in action on device
Patch Management
get_os_patches- Get OS patch status for deviceget_software_patches- Get software patch status for device
Software & Inventory
get_device_software- Get software inventory for device
Ticketing
create_ticket- Create new support ticketget_ticket- Get ticket detailsupdate_ticket- Update ticket informationadd_ticket_comment- Add comment to ticketget_ticket_forms- Get available ticket forms
Organizations
list_organizations- List all organizationsget_organization- Get organization details
Reports & Queries
get_device_health- Device health reportget_antivirus_status- Antivirus status report
Contacts
list_contacts- List all contacts
Advanced/Generic API
api_get- Make generic GET request to any NinjaOne endpointapi_post- Make generic POST request to any NinjaOne endpoint
Example Prompts
Ask Claude:
"List all devices"
"Show me critical alerts"
"Get patch status for device ABC123"
"Create a ticket for offline device"
"Generate device health report"
"Search for all Windows 10 devices"
"Get antivirus status across all systems"Development
Build:
npm run buildWatch mode:
npm run devType checking:
npm run type-checkSecurity Considerations
⚠️ Never commit .env file
Use
.env.exampleas templateAlways use environment variables for credentials
License
MIT License
Support
For issues or questions, check NinjaOne API Documentation
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBquality-maintenanceEnables Claude to interact with ServiceNow instances through the ServiceNow API. Supports comprehensive ServiceNow operations including incident management, service catalog management, change requests, user management, and workflow automation through natural language.Last updated82
- Alicense-qualityDmaintenanceEnables Claude to manage Okta organizations, including users, groups, and applications, via natural language.Last updated317MIT
- Alicense-qualityCmaintenanceEnables Claude to manage GoHighLevel CRM contacts, pipelines, and workflows through natural language commands.Last updated36MIT
- AlicenseAqualityDmaintenanceEnables Claude to query and manage Domotz network monitoring through 133 API actions, covering collectors, devices, alerts, and configuration.Last updated136MIT
Related MCP Connectors
Connect Claude to Fathom meeting recordings, transcripts, and summaries
Live SEO workflow tools for Claude Code, Codex, and AI agents.
Connect your team's living knowledge base — docs, data, issues, CRM — to Claude and ChatGPT.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/SoroushAlamdari/Ninjaone-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server