Sophos Central MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_HOST | No | Bind host for HTTP transports (default: 127.0.0.1) | 127.0.0.1 |
| MCP_PORT | No | Port for HTTP transports (default: 3001) | 3001 |
| MCP_TRANSPORT | No | Transport mode: stdio, sse, or streamable-http (default: stdio) | stdio |
| SOPHOS_CLIENT_ID | Yes | Partner Super Admin Client ID from Sophos Central | |
| SOPHOS_CLIENT_SECRET | Yes | Corresponding client secret |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| sophos_authenticateA | Authenticate to Sophos Central using OAuth2 client credentials and obtain a JWT access token. The token is managed automatically and refreshed as needed. Call this first to verify credentials are working. Returns success status and authentication state. |
| sophos_whoami | Call GET /whoami/v1 to discover the authenticated entity's identity. Returns idType ('partner', 'organization', or 'tenant'), the entity's UUID (id), and regional API hosts (global and dataRegion). Use this to determine which account type is connected and which regional API base URL to use for tenant-scoped calls. |
| sophos_list_tenantsA | List all tenants managed by this Sophos Central Partner account. Returns tenant ID, name, data region, billing type, and regional API host for each tenant. |
| sophos_get_tenantA | Get details for a specific managed tenant by ID, including its regional API host. |
| sophos_create_tenantA | Create a new tenant under this Sophos Central Partner account. Requires tenant name, data geography, billing type, and primary contact details. |
| sophos_list_admins | List all partner-level administrators for this Sophos Central Partner account. |
| sophos_create_admin | Create a new partner-level administrator. The admin will receive an invitation email. |
| sophos_get_partner_adminB | Get details for a specific partner-level administrator. |
| sophos_list_roles | List all available partner-level roles that can be assigned to administrators. |
| sophos_get_partner_roleA | Get details for a specific partner role. |
| sophos_create_partner_roleB | Create a new partner-level role with the specified name and permission sets. |
| sophos_update_partner_role | Update a partner role's name or description. |
| sophos_list_permission_sets | List all available permission sets that can be used when creating partner roles. |
| sophos_list_role_assignmentsB | List all admins assigned to a specific partner role. |
| sophos_create_role_assignment | Assign a partner role to an admin (principal). |
| sophos_list_tenant_adminsB | List all administrators for a specific managed tenant using the partner-level endpoint. For tenant-scoped admin management (common/v1), use the tenant admin tools instead. |
| sophos_create_tenant_adminA | Create an administrator for a specific managed tenant using the partner-level endpoint. The admin will receive an invitation email. |
| sophos_get_billing_usage | Get billing usage data for a specific month. Shows per-tenant, per-product usage quantities. |
| sophos_list_partner_admin_role_assignments | List role assignments for a specific partner admin (shows which roles this admin holds). |
| sophos_create_partner_admin_role_assignmentA | Assign a role to a partner admin (add a role to an admin's existing role set). |
| sophos_org_list_tenants | List tenants under this Sophos Central Organization account. Use this when your identity type is 'organization' rather than 'partner'. Supports pagination via page_key. |
| sophos_org_get_tenantB | Get details for a specific tenant under this Sophos Central Organization account. |
| sophos_list_account_access_tokens | List all account-level access tokens for a tenant. These tokens are used to authenticate downloads of Sophos products such as Sophos Linux Sensor. Returns token metadata (ID, label, type, expiry) but NOT the actual token secret. |
| sophos_create_account_access_token | Create a new account-level access token for a tenant. Currently supported token type: 'sophosLinuxSensor' — used to authenticate downloads of the Sophos Linux Sensor package. The token secret is returned only on creation; store it securely as it cannot be retrieved again. |
| sophos_update_account_access_tokenA | Update an existing account-level access token. Supports updating the token's label and/or expiry date. At least one of label or expires_at must be provided. |
| sophos_get_licenses | Get all product licenses (with current usage) for a Sophos Central tenant. Returns license type, quantity, start/end dates, perpetual flag, and current usage counts. |
| sophos_get_firewall_licensesA | Get firewalls and their licenses for a Sophos Central tenant or partner. Provide either tenant_id (for tenant context) or partner_id (for partner context), but not both. |
| sophos_list_quotesA | List distributor quotes from the Sophos Business Automation API. Only approved quotes are returned. Requires a Distributor ID. |
| sophos_get_quoteA | Get full details for a specific Sophos Business Automation quote by proposal number. |
| sophos_get_partner_levelA | Return partner level information for a distributor's partners. Filters by billing sub-region and optionally by name, update date, or EDI number. |
| sophos_list_endpointsA | List endpoints in a Sophos Central tenant with optional filtering by type, health status, tamper protection, hostname, or free-text search. Returns paginated results. |
| sophos_get_endpoint | Get detailed information about a specific endpoint by its ID, including health, OS, network, assigned products, and isolation status. |
| sophos_get_isolation_status | Get the current isolation status of an endpoint. |
| sophos_get_tamper_protection | Get the tamper protection status and password for an endpoint. Tamper protection prevents unauthorized changes to Sophos agent settings. |
| sophos_set_tamper_protectionB | Enable or disable tamper protection on an endpoint. When enabled, Sophos agent settings cannot be changed without the tamper protection password. Optionally regenerate the password. |
| sophos_request_forensic_logs | Request forensic log collection from an endpoint for investigation. Returns a forensicLogRequestId to poll for status. |
| sophos_get_forensic_log_statusA | Get the status of a forensic log collection request previously initiated with sophos_request_forensic_logs. |
| sophos_request_memory_dumpA | Request a memory dump from an endpoint for forensic investigation. Requires specifying the dump mode and expiry time. Returns a memoryDumpRequestId to poll for status. |
| sophos_get_memory_dump_statusA | Get the status of a memory dump request previously initiated with sophos_request_memory_dump. |
| sophos_get_adaptive_attack_protection | Get Adaptive Attack Protection (AAP) settings for an endpoint. AAP temporarily increases protection during active attacks. |
| sophos_update_adaptive_attack_protectionA | Enable or disable Adaptive Attack Protection (AAP) on an endpoint. When enabled with an expiry duration, AAP automatically disables after that period. |
| sophos_list_peripherals | List peripheral devices detected by peripheral control across the tenant. |
| sophos_get_peripheral | Get details for a specific peripheral device. |
| sophos_list_endpoint_migrations | List endpoint migration jobs for a tenant. Shows status of endpoint migrations between Sophos Central tenants. |
| sophos_start_migrationA | Start an endpoint migration job on the sending tenant. Generates a migration job token that the receiving tenant uses to accept the migration via sophos_accept_migration. |
| sophos_get_migration_jobA | Get the status and details of a specific endpoint migration job. |
| sophos_accept_migrationA | Accept an endpoint migration job on the receiving tenant using the job token generated by the sending tenant. This completes the migration transfer. |
| sophos_list_migration_endpointsA | List the endpoints included in a specific endpoint migration job and their migration status. |
| sophos_get_installer_downloadsB | Get available Sophos agent installer download links for specified products and platforms. |
| sophos_list_endpoint_groups | List all endpoint groups in a tenant. Groups are used to organize endpoints for policy assignment and management. |
| sophos_get_endpoint_groupA | Get details of a specific endpoint group, including its name, description, type, and endpoint count. |
| sophos_create_endpoint_groupA | Create a new endpoint group in a tenant. Groups organize endpoints by type (computer or server) and can be used for targeted policy assignment. |
| sophos_update_endpoint_group | Update the name and/or description of an existing endpoint group. |
| sophos_add_endpoints_to_groupA | Add one or more endpoints to an endpoint group. The endpoints will inherit any policies assigned to the group. |
| sophos_list_group_endpoints | List all endpoints that are members of a specific endpoint group. |
| sophos_list_policies | List endpoint policies in a tenant. Optionally filter by policy type. Supported types: threat-protection, web-control, application-control, peripheral-control, data-collection-and-investigation, device-encryption, server-threat-protection, server-peripheral-control, server-application-control, server-lockdown. |
| sophos_get_policy | Get detailed information about a specific endpoint policy, including its settings, priority, and which endpoints it applies to. |
| sophos_create_policyA | Create a new endpoint policy. Specify the policy type, name, and optionally priority, enabled state, and settings as a JSON string. |
| sophos_update_policyA | Update an existing endpoint policy. You can modify its name, enabled state, priority, and/or settings. |
| sophos_clone_policy | Clone an existing endpoint policy. Creates a copy with a new name, inheriting all settings from the source policy. |
| sophos_list_policy_endpointsB | List the endpoints or endpoint groups governed by a specific policy. |
| sophos_list_mobile_devicesB | List mobile devices enrolled in Sophos Mobile for a tenant. Supports filtering by platform, management type, compliance status, health state, ownership, device groups, and date ranges. Returns paginated results. |
| sophos_get_mobile_deviceA | Get full details for a specific mobile device by its ID, including compliance status, installed apps, platform, and assigned policies. |
| sophos_create_mobile_deviceC | Register a new mobile device in Sophos Mobile MDM. Requires device name, ownership type (corporate/employee), and platform (iOS, macOS, android, chrome, windows). |
| sophos_update_mobile_device | Update a mobile device's attributes (name, ownership type, group assignment, etc.). This is a full PUT replacement of the device record — all required fields must be supplied. |
| sophos_list_mobile_device_violations | List compliance violations for a specific mobile device. |
| sophos_list_mobile_device_apps | List applications installed on a specific mobile device. |
| sophos_get_mobile_device_location | Get the last known GPS location for a specific mobile device. |
| sophos_list_mobile_device_policiesA | List MDM policies assigned to a specific mobile device. |
| sophos_list_mobile_device_properties | List custom device properties for a specific mobile device. |
| sophos_create_mobile_device_propertyA | Add a custom property (key/value pair) to a mobile device. The key must follow the pattern 'custom.'. |
| sophos_update_mobile_device_property | Update the value of an existing custom device property identified by its key. |
| sophos_list_mobile_device_groupsB | List mobile device groups in a Sophos Mobile tenant. |
| sophos_get_mobile_device_groupA | Get details for a specific mobile device group by its ID. |
| sophos_create_mobile_device_group | Create a new mobile device group in Sophos Mobile. Requires name and compliance policy IDs for both employee- and corporate-owned devices. |
| sophos_update_mobile_device_groupA | Update a mobile device group. This is a full PUT replacement — all required fields must be provided. |
| sophos_list_mobile_actions | List MDM actions (sync, scan, lock, wipe, etc.) for a tenant with filtering by type, state, endpoint IDs, and date ranges. |
| sophos_get_mobile_actionB | Get details for a specific MDM action by its ID. |
| sophos_mobile_action_syncA | Trigger a sync action on up to 50 mobile devices — forces devices to check in with Sophos Mobile and apply pending policies. |
| sophos_mobile_action_get_logsB | Request log collection from up to 50 mobile devices for investigation purposes. |
| sophos_mobile_action_send_messageA | Send a push message to up to 50 mobile devices. The message is displayed as a notification on the device. |
| sophos_mobile_action_locateA | Trigger a GPS location request on up to 50 mobile devices. A reason is required and will be logged in the Sophos Mobile privacy log. |
| sophos_list_mobile_app_groupsA | List mobile app groups (managed app collections) in a Sophos Mobile tenant. |
| sophos_get_mobile_app_groupA | Get details for a specific mobile app group by its ID. |
| sophos_create_mobile_app_groupB | Create a new mobile app group. Provide a name, target platform, and a JSON array of app objects to include in the group. |
| sophos_update_mobile_app_groupA | Update a mobile app group's name or apps list (PATCH — only provided fields are updated). |
| sophos_list_mobile_operating_systemsA | List mobile operating systems known to Sophos Mobile, with optional filtering by platform or version prefix. |
| sophos_get_mobile_operating_systemA | Get details for a specific mobile operating system by its ID. |
| sophos_get_mobile_ixm_enrollmentB | Get static setup data for IXM (Intercept X for Mobile) auto-enrollment, including the connection code required to enroll the IXM app. |
| sophos_list_alertsB | List alerts from Sophos Central for a given tenant, with optional severity, product, category, date range, and pagination filters. |
| sophos_search_alertsA | Search alerts using a POST request body. Equivalent to sophos_list_alerts but filters are sent in a JSON body — useful for filtering by multiple IDs or long lists of categories/products. |
| sophos_get_alertA | Get the full details of a specific alert by ID, including its allowedActions list. |
| sophos_take_alert_actionA | Perform an action on a specific alert. Valid actions depend on the alert type and are listed in the alert's allowedActions field. Common actions include: 'acknowledge', 'cleanPua', 'authPua', 'clearThreat', 'clearHmpa', 'sendMsgPua', 'sendMsgThreat'. |
| sophos_acknowledge_alertA | Acknowledge a specific alert. Convenience shortcut — equivalent to sophos_take_alert_action with action='acknowledge'. |
| sophos_start_detections_queryA | Start an async detections query run. Returns a run ID. Poll sophos_get_detections_query_status until status is 'finished', then retrieve results with sophos_get_detections_query_results. |
| sophos_get_detections_query_statusA | Get the status of a running detections query. Poll until status is 'finished'. Result will be 'succeeded' or 'failed'. |
| sophos_get_detections_query_resultsA | Get results of a completed detections query. Only call after sophos_get_detections_query_status returns status='finished'. |
| sophos_get_detection_countsA | Get detection counts grouped by severity and type over a time range. Returns per-hour or per-day buckets. |
| sophos_start_detections_group_queryA | Start an async detection-groups query run. Groups detections by detection rule and device for a summary view. Returns a run ID to poll. |
| sophos_get_detections_group_query_statusA | Get the status of a running detection-groups query. Poll until status is 'finished'. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/rijul170/sophos-central-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server