{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.Servosity/ninjaone-mcp","description":"Every NinjaOne report, plus a local store that answers fleet-wide questions no single API call can","title":"NinjaOne MCP","repository":{"url":"https://github.com/servosity/msp-skills","source":"github","subfolder":"skills/ninjaone"},"version":"0.1.21","icons":[{"src":"https://raw.githubusercontent.com/servosity/msp-skills/main/docs/assets/social/ninjaone/ninjaone-512x512.png","mimeType":"image/png","sizes":["512x512"]}],"packages":[{"registryType":"mcpb","identifier":"https://github.com/Servosity/msp-skills/releases/download/ninjaone-v0.1.21/ninjaone-mcp.mcpb","version":"0.1.21","fileSha256":"167f4fa7ab27cbf5bd137f4b44ebedf35245c6a35066d8edf9bb8afda663a4f6","transport":{"type":"stdio"},"environmentVariables":[{"description":"Base URL for the NinjaOne API. Leave the prefilled default unless your account uses a different regional or self-hosted host.","default":"https://app.ninjarmm.com","name":"NINJAONE_BASE_URL"},{"description":"Set the NINJAONE_CLIENT_ID credential for the NinjaOne MCP server.","isRequired":true,"isSecret":true,"name":"NINJAONE_CLIENT_ID"},{"description":"Set the NINJAONE_CLIENT_SECRET credential for the NinjaOne MCP server.","isRequired":true,"isSecret":true,"name":"NINJAONE_CLIENT_SECRET"},{"description":"Set the NINJAONE_OAUTH_SCOPE credential for the NinjaOne MCP server.","isRequired":true,"isSecret":true,"name":"NINJAONE_OAUTH_SCOPE"},{"description":"Token endpoint the client-credentials exchange posts to. Leave the prefilled default unless your tenant uses a different token endpoint.","default":"https://app.ninjarmm.com/ws/oauth/token","name":"NINJAONE_TOKEN_URL"},{"description":"Set to 1 to keep credentials off disk. The token cache becomes a no-op, so the connector mints a fresh token each run instead of writing one to config.toml. Leave blank for the default cached behaviour.","name":"NINJAONE_NO_CONFIG_WRITE"},{"description":"Optional: binds the MCP server to an existing tenant-gated Printing Press client profile. Leave unset for a single-tenant install.","isSecret":true,"name":"PRINTING_PRESS_CLIENT_PROFILE"},{"description":"Optional. Set to exactly 1 to expose only read-only tools and refuse any state-changing execute call.","name":"NINJAONE_MCP_READ_ONLY"},{"description":"Optional. Set to 1 to keep no local copy of API responses: reads go to the API and the response cache is off.","name":"NINJAONE_NO_LOCAL_DATA"},{"description":"Optional. Leave unset: no NinjaOne MCP tool in this release takes a file, so this setting has no effect.","name":"NINJAONE_MCP_UPLOAD_ROOT"},{"description":"Overrides the User-Agent the CLI sends on NinjaOne requests.","name":"NINJAONE_USER_AGENT"},{"description":"Required only when running the MCP server with --transport http. Not needed for the default local stdio transport.","isSecret":true,"name":"NINJAONE_MCP_HTTP_TOKEN"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-27T04:51:05.771787Z","publishedAt":"2026-10-27T04:51:05.771787Z","updatedAt":"2026-10-27T04:51:05.771787Z","isLatest":true}}}
