N-central MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_PORT | No | Port number for HTTP mode (e.g., '3100'). Omit to use stdio. | |
| MCP_API_KEY | No | Bearer token for HTTP mode. Required unless MCP_ALLOW_UNAUTHENTICATED=1. | |
| NC_JWT_TOKEN | No | User-API JWT from the N-central UI. Required in single-tenant mode. | |
| NC_SERVER_URL | No | Your N-central URL, e.g. https://ncentral.example.com. Required in single-tenant mode. | |
| NC_WRITE_MODE | No | One of 'read-only', 'write', or 'full'. | write |
| MCP_CORS_ORIGIN | No | Comma-separated allowed origins for CORS. | |
| NC_MULTI_TENANT | No | Set to '1' to enable multi-tenant mode (requires HTTP mode). | |
| MCP_BIND_ADDRESS | No | Interface to bind in HTTP mode. | 127.0.0.1 |
| NC_FQDN_ALLOWLIST | No | Comma-separated host suffixes for SSRF guard in multi-tenant mode. | |
| NC_RESOURCE_CACHE_TTL_MS | No | Cache TTL in milliseconds for resources. Default 60000. | |
| MCP_ALLOW_UNAUTHENTICATED | No | Set to '1' to allow HTTP mode without API key (not recommended). |
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": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_devicesA | Retrieve the list of all devices from N-central for the logged-in user. Returns one page by default — set |
| get_deviceA | Retrieve a specific device by its ID. Note: lastLoggedInUser and stillLoggedIn fields may be null (known issue) — use list_devices to get these values instead. |
| get_device_statusA | Retrieve the status of service monitoring tasks for a given device. |
| get_device_assetsA | Retrieve asset information for a device by ID. Note: Probes do not have assets and will return 404. |
| get_device_lifecycleA | Retrieve asset lifecycle (warranty) information for a device by ID. |
| list_devices_by_org_unitA | Retrieve the list of devices belonging to a specific organization unit. Returns one page by default — set |
| get_appliance_taskA | Retrieve appliance-task information by task ID. |
| create_deviceA | Add a new device to N-central. Required body fields: customerId, networkAddress, longName, supportedOs, deviceClass. Optional: description, licenseMode, macAddress, username, password. |
| update_device_lifecycleA | Replace the asset lifecycle/warranty information for a device (PUT — all required fields must be provided). |
| patch_device_lifecycleA | Partially update asset lifecycle/warranty information for a device (PATCH — only provided fields are modified). |
| list_org_unitsA | Retrieve a list of all organization units. Returns one page by default — set |
| get_org_unitB | Retrieve a specific organization unit by ID. |
| get_org_unit_limitsA | Retrieve licensing/usage limits for an organization unit. Useful for capacity planning. |
| update_org_unit_limitsA | Update licensing/usage limits for an organization unit (PATCH — only provided fields modified). |
| list_org_unit_childrenA | Retrieve a list of all child organization units for a given org unit. |
| list_service_orgsA | Retrieve a list of all service organizations. Returns one page by default — set |
| get_service_orgA | Retrieve a specific service organization by ID. |
| list_customersA | Retrieve a list of customers. If soId is provided, returns only customers under that service organization; otherwise returns all customers. Returns one page by default — set |
| get_customerA | Retrieve a specific customer by ID. |
| list_sitesA | Retrieve a list of sites. If customerId is provided, returns only sites under that customer; otherwise returns all sites. Returns one page by default — set |
| get_siteA | Retrieve a specific site by ID. |
| create_service_orgB | Create a new service organization. Required: contactFirstName, contactLastName, soName. |
| create_customerB | Create a new customer under a service organization. Required: contactFirstName, contactLastName, customerName. |
| create_siteB | Create a new site under a customer (PREVIEW endpoint — schema may change between N-central versions). Required: contactFirstName, contactLastName, siteName. |
| list_scheduled_tasksA | List all scheduled tasks across the N-central environment. Returns one page by default — set |
| get_scheduled_taskA | Retrieve general information for a given scheduled task by ID. Returns parent ID, name, type, customer ID, device IDs, and enabled status. |
| get_scheduled_task_statusA | Retrieve status for a given scheduled task. Returns aggregated status by default; set detailed=true to get per-device status breakdown. WARNING: detailed=true does NOT accept DEVICE-level task IDs — only SYSTEM and CUSTOMER level. Use the parent task ID instead. Task hierarchy levels can be navigated via |
| list_device_tasksA | Retrieve scheduled tasks for a specific device. Returns task ID, task name, and status. Returns one page by default — set |
| list_device_custom_propertiesA | Retrieve all custom properties for a specific device. Use |
| get_device_custom_propertyA | Retrieve a specific custom property for a device. |
| list_org_custom_propertiesA | Retrieve the list of custom properties for an organization unit. Returns one page by default — set |
| get_org_unit_propertyB | Retrieve a specific custom property for an organization unit. |
| get_org_custom_property_defaultB | Retrieve the default value for an organization unit custom property. |
| get_device_default_custom_propertyA | Retrieve the default device custom property information by organization unit ID and property ID. |
| update_device_custom_propertyA | Update a custom property value on a specific device. The N-central PUT endpoint requires propertyName and propertyType — pass the existing values (use get_device_custom_property if unsure). propertyType must match the property definition (HTML_LINK, TEXT, DATE, ENUMERATED, or PASSWORD). |
| update_org_unit_custom_propertyB | Update a custom property value on an organization unit (SO, customer, or site). propertyType must match the property definition. |
| update_org_custom_property_defaultA | Update the default value of an org-unit custom property and optionally propagate the change down the org hierarchy. propagationType controls which levels receive the update. |
| list_all_usersA | Retrieve a global list of all users in N-central (not scoped by org unit). Returns one page by default — set |
| get_current_userA | Retrieve details for the currently authenticated user. Useful for "who am I" introspection. |
| list_usersA | Retrieve the list of users for a specific organization unit. Returns one page by default — set |
| list_user_rolesA | Retrieve a list of user roles for a given organization unit. Returns one page by default — set |
| get_user_roleA | Retrieve a specific user role for a given organization unit and user role ID. |
| list_access_groupsA | Retrieve access groups for a specific organization unit. Returns one page by default — set |
| get_access_groupA | Retrieve detailed information for a specific access group by ID. |
| create_user_roleB | Create a new user role for an organization unit (PREVIEW endpoint). Required: roleName, description, permissionIds. Optional: userIds to assign the role to. |
| create_access_groupC | Create a new organization-unit-type access group. Required: groupName, groupDescription. Optional: orgUnitIds, userIds, autoIncludeNewOrgUnits. |
| create_device_access_groupB | Create a new device-type access group. Required: groupName, groupDescription. Optional: deviceIds, userIds. |
| list_device_notesA | Retrieve all notes attached to a specific device. |
| add_device_noteA | Add a note to a specific device. Required: text. The N-central API attaches the note to the authenticated user. |
| add_notes_bulkB | Add the same note to a list of devices in one call. Required: deviceIDs (numeric array), text. |
| update_device_noteA | Update an existing note on a device by note ID. |
| get_maintenance_windowsB | Retrieve all maintenance windows for a specific device. |
| create_maintenance_windowsA | Add a set of patch maintenance windows to a list of devices. Body shape: { deviceIDs: number[], maintenanceWindows: [...] }. See N-central API docs for MaintenanceWindowRequest field details. Note: partial failures are surfaced as per-device statuses in the response body — inspect carefully. |
| update_maintenance_windowsA | Modify existing device patch maintenance windows by their ScheduleId (included in each window object). |
| get_registration_tokenA | Retrieve the registration token for a site, organization unit, or customer. |
| get_device_activation_keyB | Generate an activation key for a device by device ID. |
| get_software_installersB | Retrieve software installer download URLs for a specific customer. Supports filtering by software type and installer type. |
| generate_software_download_linkA | Generate a software download link for a customer. Provide the softwareId obtained from get_software_installers. |
| get_psa_customer_mappingA | Retrieve PSA (Professional Services Automation) customer mapping for a given customer ID. |
| validate_psa_credentialA | Validate Standard PSA credentials for a given PSA type. Transmits credentials in the request body — use with care over untrusted transports. WARNING: per N-central documentation, this endpoint currently works only with TigerPaw 3.0, not other PSA integrations — calls for other PSAs will fail. |
| list_custom_psa_ticketsA | List Custom PSA tickets. Custom PSA only — managed PSA services are not supported by this endpoint. |
| create_custom_psa_ticketA | Create a new Custom PSA ticket. Custom PSA only — operations for managed PSA services are not supported. |
| list_psa_customer_mappingsA | List all Standard PSA mappings for a customer. |
| update_psa_customer_mappingsC | Update Standard PSA mappings for a customer. |
| list_psa_companiesB | List Standard PSA companies associated with a customer. |
| list_psa_company_contactsB | List PSA company contacts for a customer. |
| list_psa_company_sitesA | List PSA company sites for a customer. |
| get_custom_psa_ticket_detailB | Retrieve detailed information for a specific Custom PSA ticket. Uses POST because the endpoint requires PSA credentials in the body. |
| get_server_infoA | Return N-central server information. Use level="health" for uptime/start time, level="extra" for system version details, or omit level (default) for API-service version info. |
| get_server_timeA | Retrieve the N-central server's current time. Useful for detecting clock drift between client and server. |
| logoutA | Log out the current N-central API session, invalidating the access and refresh tokens. The next tool call will trigger a fresh JWT exchange. |
| get_server_info_authenticatedB | Retrieve extra server version information using supplied credentials (for third-party system versions). |
| list_device_filtersA | Retrieve the list of device filters. Returns one page by default — set |
| get_reportA | Retrieve an N-central report by its report ID. |
| report_devices_bulkA | Fan out a per-device API call across all devices in an org unit. |
| list_active_issuesA | List active issues for an organization unit. Returns CSV or JSON. KNOWN N-CENTRAL BUG: |
| list_job_statusesA | List job statuses for an organization unit. Returns CSV or JSON. |
| report_all_users_by_soA | Generate a complete deduplicated user report for all customers under a service org. Fetches users from the SO itself and each customer concurrently, then deduplicates by userId. Returns CSV or JSON. |
| report_devices_by_soA | Generate a full device report for all devices under a specific service org. Fetches all devices and filters by soId field. Returns CSV or JSON. |
| report_customer_site_summaryA | Generate a summary report: all customers with their sites, device counts. Correlates data across customers, sites, and devices into one table. Returns CSV or JSON. |
| report_org_hierarchyA | Generate a flat CSV/JSON of the full Service Org → Customer → Site hierarchy with IDs, names, contacts, and addresses. Returns CSV or JSON. |
| generate_patch_comparison_reportA | Submit a request to generate a patch comparison report. Required: startDate. Optional filters: installStatuses[], patchApprovals[], patchCategories[]. Returns a report ID (fetch via get_report). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| full-customer-report | Comprehensive customer/site report with org custom properties. Optional customerId to scope to a single customer. |
| device-health-audit | Audit device health — active issues, monitoring status. Optional orgUnitId to scope. |
| agent-deployment-status | Check agent deployment coverage — find sites with missing or low device counts |
| custom-property-audit | Audit custom property values across all customers for consistency |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| org-tree | Full org hierarchy: Service Orgs → Customers → Sites with IDs and names. |
| status | Server health and version info. |
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/theonlytruebigmac/n-central-rest-api-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server