NinjaOne MCP
A Model Context Protocol server for interacting with NinjaOne RMM. It features a decision tree architecture for efficient tool loading, allowing AI assistants to manage devices, organizations, alerts, and tickets. The server uses lazy loading to reduce cognitive load and improve performance by exposing domain-specific tools only after navigation.
Package and access
Local package with source-attributed installation metadata. Koskamo does not execute packages during review.
What you can do with it
- Monitor device status and health
- Manage software patching and updates
- Execute remote scripts on endpoints
- Handle security alerts and tickets
Source and maintenance
- Maintenance checked
Packages and installation
Source-provided package data. Koskamo has not executed or live-probed this package.
ghcr.io/wyre-ai/ninjaone-mcp:v2.5.2
{
"transport": "stdio",
"identifier": "ghcr.io/wyre-ai/ninjaone-mcp:v2.5.2",
"registryType": "oci",
"environmentVariables": [
{
"name": "NINJAONE_CLIENT_ID",
"format": "string",
"isRequired": true,
"description": "NinjaOne OAuth 2.0 Client ID"
},
{
"name": "NINJAONE_CLIENT_SECRET",
"format": "string",
"isRequired": true,
"description": "NinjaOne OAuth 2.0 Client Secret"
},
{
"name": "NINJAONE_REGION",
"format": "string",
"default": "us",
"description": "NinjaOne region: 'us' (default), 'eu', or 'oc'"
},
{
"name": "MCP_TRANSPORT",
"format": "string",
"default": "stdio",
"description": "Transport mode for the server. Set to 'stdio' for local CLI use; the image defaults to 'http' for gateway hosting."
},
{
"name": "AUTH_MODE",
"format": "string",
"default": "env",
"description": "Credential source: 'env' reads vars locally, 'gateway' expects header injection from the WYRE MCP Gateway."
},
{
"name": "LOG_LEVEL",
"format": "string",
"default": "info",
"description": "Log verbosity: debug, info, warn, error"
}
]
}Tools
Reported by the attributed source; not independently observed by Koskamo.
Connect from your client
Each snippet configures the same source-provided package; replace placeholders before use.
Cursor
{
"mcpServers": {
"ninjaone-mcp-v2-5-2": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"NINJAONE_CLIENT_ID=<YOUR_NINJAONE_CLIENT_ID>",
"-e",
"NINJAONE_CLIENT_SECRET=<YOUR_NINJAONE_CLIENT_SECRET>",
"-e",
"NINJAONE_REGION=<YOUR_NINJAONE_REGION>",
"-e",
"MCP_TRANSPORT=<YOUR_MCP_TRANSPORT>",
"-e",
"AUTH_MODE=<YOUR_AUTH_MODE>",
"-e",
"LOG_LEVEL=<YOUR_LOG_LEVEL>",
"ghcr.io/wyre-ai/ninjaone-mcp:v2.5.2"
],
"env": {
"NINJAONE_CLIENT_ID": "<YOUR_NINJAONE_CLIENT_ID>",
"NINJAONE_CLIENT_SECRET": "<YOUR_NINJAONE_CLIENT_SECRET>",
"NINJAONE_REGION": "<YOUR_NINJAONE_REGION>",
"MCP_TRANSPORT": "<YOUR_MCP_TRANSPORT>",
"AUTH_MODE": "<YOUR_AUTH_MODE>",
"LOG_LEVEL": "<YOUR_LOG_LEVEL>"
}
}
}
}Cline
{
"mcpServers": {
"ninjaone-mcp-v2-5-2": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"NINJAONE_CLIENT_ID=<YOUR_NINJAONE_CLIENT_ID>",
"-e",
"NINJAONE_CLIENT_SECRET=<YOUR_NINJAONE_CLIENT_SECRET>",
"-e",
"NINJAONE_REGION=<YOUR_NINJAONE_REGION>",
"-e",
"MCP_TRANSPORT=<YOUR_MCP_TRANSPORT>",
"-e",
"AUTH_MODE=<YOUR_AUTH_MODE>",
"-e",
"LOG_LEVEL=<YOUR_LOG_LEVEL>",
"ghcr.io/wyre-ai/ninjaone-mcp:v2.5.2"
],
"env": {
"NINJAONE_CLIENT_ID": "<YOUR_NINJAONE_CLIENT_ID>",
"NINJAONE_CLIENT_SECRET": "<YOUR_NINJAONE_CLIENT_SECRET>",
"NINJAONE_REGION": "<YOUR_NINJAONE_REGION>",
"MCP_TRANSPORT": "<YOUR_MCP_TRANSPORT>",
"AUTH_MODE": "<YOUR_AUTH_MODE>",
"LOG_LEVEL": "<YOUR_LOG_LEVEL>"
}
}
}
}VS Code
{
"servers": {
"ninjaone-mcp-v2-5-2": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"NINJAONE_CLIENT_ID=<YOUR_NINJAONE_CLIENT_ID>",
"-e",
"NINJAONE_CLIENT_SECRET=<YOUR_NINJAONE_CLIENT_SECRET>",
"-e",
"NINJAONE_REGION=<YOUR_NINJAONE_REGION>",
"-e",
"MCP_TRANSPORT=<YOUR_MCP_TRANSPORT>",
"-e",
"AUTH_MODE=<YOUR_AUTH_MODE>",
"-e",
"LOG_LEVEL=<YOUR_LOG_LEVEL>",
"ghcr.io/wyre-ai/ninjaone-mcp:v2.5.2"
],
"env": {
"NINJAONE_CLIENT_ID": "<YOUR_NINJAONE_CLIENT_ID>",
"NINJAONE_CLIENT_SECRET": "<YOUR_NINJAONE_CLIENT_SECRET>",
"NINJAONE_REGION": "<YOUR_NINJAONE_REGION>",
"MCP_TRANSPORT": "<YOUR_MCP_TRANSPORT>",
"AUTH_MODE": "<YOUR_AUTH_MODE>",
"LOG_LEVEL": "<YOUR_LOG_LEVEL>"
}
}
}
}Claude Desktop
{
"mcpServers": {
"ninjaone-mcp-v2-5-2": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"NINJAONE_CLIENT_ID=<YOUR_NINJAONE_CLIENT_ID>",
"-e",
"NINJAONE_CLIENT_SECRET=<YOUR_NINJAONE_CLIENT_SECRET>",
"-e",
"NINJAONE_REGION=<YOUR_NINJAONE_REGION>",
"-e",
"MCP_TRANSPORT=<YOUR_MCP_TRANSPORT>",
"-e",
"AUTH_MODE=<YOUR_AUTH_MODE>",
"-e",
"LOG_LEVEL=<YOUR_LOG_LEVEL>",
"ghcr.io/wyre-ai/ninjaone-mcp:v2.5.2"
],
"env": {
"NINJAONE_CLIENT_ID": "<YOUR_NINJAONE_CLIENT_ID>",
"NINJAONE_CLIENT_SECRET": "<YOUR_NINJAONE_CLIENT_SECRET>",
"NINJAONE_REGION": "<YOUR_NINJAONE_REGION>",
"MCP_TRANSPORT": "<YOUR_MCP_TRANSPORT>",
"AUTH_MODE": "<YOUR_AUTH_MODE>",
"LOG_LEVEL": "<YOUR_LOG_LEVEL>"
}
}
}
}Let your agent find its tools
Find servers like NinjaOne MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.