Skip to main content
Glama
jelmervdm

Sophos Firewall MCP Server

by jelmervdm

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
USE_ROUTERNoSet 'true' to enable FastEmbed semantic tool routing (default: false)
SOPHOS_HOSTNoSophos Firewall IP address or FQDN (default: 172.16.16.16)
SOPHOS_PORTNoWeb Console API port (default: 4444)
SOPHOS_TIMEOUTNoAPI request timeout in seconds (default: 30.0)
SOPHOS_PASSWORDYesAPI Administrator Password (required)
SOPHOS_USERNAMENoAPI Administrator Username (default: admin)
SOPHOS_VERIFY_SSLNoVerify SSL/TLS certificates (set 'false' for self-signed certs, default: false)
SOPHOS_API_VERSIONNoSophos XML API Version (default: 2200.1)

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
sophos_raw_api_requestA

Execute a low-level, generic Sophos Firewall XML API operation.

Use when executing custom or low-level SFOS XML API calls for tags or configuration settings not supported by dedicated high-level tools.

Args: operation: API operation type ('Get', 'Set', or 'Remove'). tag: Target Sophos XML entity tag. params: Optional payload dictionary or search filter criteria. client: Optional SophosFirewallClient instance.

Returns: Parsed API response dictionary or object list.

sophos_get_system_infoA

Retrieve system information including appliance model, firmware version, serial number, and uptime.

Use when inspecting hardware/firmware details and overall system status.

Args: client: Optional SophosFirewallClient instance.

Returns: System information parameters from Sophos Firewall.

sophos_get_service_statusA

Retrieve current operational status of system services (DNS, DHCP, IPS, Web Protection, AntiVirus).

Use when monitoring background service health or diagnosing firewall subsystem failures.

Args: client: Optional SophosFirewallClient instance.

Returns: Status details of core firewall services.

sophos_get_interface_listA

List network interfaces with configuration, IP addresses, network zones, and link state.

Use when inspecting physical or virtual interface configurations, subnets, and link states.

Args: client: Optional SophosFirewallClient instance.

Returns: List or dict of network interface configurations.

sophos_list_firewall_rulesA

List firewall security rules configured on the appliance.

Use when browsing security policies or searching for rules matching a specific name.

Args: name: Optional firewall rule name filter. client: Optional SophosFirewallClient instance.

Returns: List or dict of firewall rule configurations.

sophos_get_firewall_ruleA

Retrieve details for a specific firewall rule by name.

Use when inspecting full policy configuration for a single firewall rule.

Args: name: Name of the firewall rule. client: Optional SophosFirewallClient instance.

Returns: Firewall rule configuration.

sophos_create_firewall_ruleA

Create a new IPv4 firewall security rule.

Use when defining new network access control policies between zones and host objects.

Args: name: Unique name for the firewall rule. action: Rule policy action ('Accept', 'Drop', or 'Reject'). Default is 'Accept'. source_zones: List of source network zone names (e.g. ['LAN']). destination_zones: List of destination network zone names (e.g. ['WAN']). source_networks: List of source host/network object names (e.g. ['Any']). destination_networks: List of destination host/network object names (e.g. ['Any']). services: List of service object names (e.g. ['HTTP', 'HTTPS']). status: Rule status ('Enable' or 'Disable'). Default is 'Enable'. client: Optional SophosFirewallClient instance.

Returns: API response status dictionary.

sophos_update_firewall_ruleA

Update configuration fields on an existing firewall rule.

Use when modifying parameters such as logging, action, zones, host objects, or status on an existing security policy.

Args: name: Name of the firewall rule to update. action: Optional new rule policy action ('Accept', 'Drop', or 'Reject'). source_zones: Optional list of source network zone names. destination_zones: Optional list of destination network zone names. source_networks: Optional list of source host/network object names. destination_networks: Optional list of destination host/network object names. services: Optional list of service object names. log_traffic: Optional logging setting ('Enable' or 'Disable'). status: Optional rule status ('Enable' or 'Disable'). client: Optional SophosFirewallClient instance.

Returns: API response status dictionary.

sophos_update_firewall_rule_statusA

Enable or disable an existing firewall rule.

Use when toggling a security policy active state without deleting the rule.

Args: name: Name of the firewall rule. status: Desired state ('Enable' or 'Disable'). client: Optional SophosFirewallClient instance.

Returns: API response status dictionary.

sophos_delete_firewall_ruleA

Delete a firewall rule by name.

Use when permanently removing an obsolete security policy.

Args: name: Name of the firewall rule to delete. client: Optional SophosFirewallClient instance.

Returns: API response status dictionary.

sophos_list_ip_hostsA

List IP host objects defined on Sophos Firewall.

Use when browsing IP address, network subnet, or IP range objects.

Args: name: Optional IP host name filter. client: Optional SophosFirewallClient instance.

Returns: List or dict of IP host objects.

sophos_get_ip_hostA

Retrieve configuration details for a specific IP host object.

Use when inspecting target IP address or subnet definition for an object.

Args: name: Name of the IP host object. client: Optional SophosFirewallClient instance.

Returns: IP host configuration.

sophos_create_ip_hostA

Create a new IP host object (IP Address, Network, IP Range, or IP List).

Use when registering host IP or network subnet definitions for firewall policies.

Args: name: Unique name for the host object. host_type: Type of host object ('IP', 'Network', 'IPRange', or 'IPList'). Default is 'IP'. ip_address: IP address or starting IP address/subnet. subnet_mask: Subnet mask if host_type is 'Network' (e.g. '255.255.255.0' or '24'). ip_family: IP protocol family ('IPv4' or 'IPv6'). Default is 'IPv4'. client: Optional SophosFirewallClient instance.

Returns: API response status dictionary.

sophos_delete_ip_hostA

Delete an IP host object by name.

Use when deleting unused IP host objects from the firewall database.

Args: name: Name of the IP host to remove. client: Optional SophosFirewallClient instance.

Returns: API response status dictionary.

sophos_list_ip_host_groupsA

List IP host groups configured on Sophos Firewall.

Use when viewing grouped IP host definitions used in rule sets.

Args: name: Optional group name filter. client: Optional SophosFirewallClient instance.

Returns: List or dict of IP host groups.

sophos_create_ip_host_groupA

Create an IP host group containing multiple IP host objects.

Use when bundling multiple IP host objects together for unified security policies.

Args: name: Unique name for the host group. host_list: List of IP host object names to include in the group. client: Optional SophosFirewallClient instance.

Returns: API response status dictionary.

sophos_delete_ip_host_groupA

Delete an IP host group by name.

Use when deleting an obsolete host group object from Sophos Firewall.

Args: name: Name of the host group to remove. client: Optional SophosFirewallClient instance.

Returns: API response status dictionary.

sophos_list_fqdn_hostsA

List FQDN (Fully Qualified Domain Name) host objects.

Use when inspecting domain-based network host objects.

Args: name: Optional FQDN host name filter. client: Optional SophosFirewallClient instance.

Returns: List or dict of FQDN host objects.

sophos_create_fqdn_hostA

Create a new FQDN host object.

Use when defining domain name target objects for firewall or NAT rules.

Args: name: Unique name for the FQDN host object. fqdn: Fully qualified domain name (e.g. 'api.example.com'). client: Optional SophosFirewallClient instance.

Returns: API response status dictionary.

sophos_delete_fqdn_hostA

Delete an FQDN host object by name.

Use when deleting domain-based host objects from Sophos Firewall.

Args: name: Name of the FQDN host object to remove. client: Optional SophosFirewallClient instance.

Returns: API response status dictionary.

sophos_list_servicesA

List service objects (TCP, UDP, ICMP, IP protocol definitions).

Use when inspecting custom or predefined port and protocol definitions.

Args: name: Optional service name filter. client: Optional SophosFirewallClient instance.

Returns: List or dict of service definitions.

sophos_get_serviceA

Retrieve details of a specific service definition.

Use when verifying target port ranges or protocol parameters for a service.

Args: name: Name of the service object. client: Optional SophosFirewallClient instance.

Returns: Service definition configuration.

sophos_create_serviceA

Create a custom TCP/UDP service definition.

Use when adding new port or protocol definitions for firewall rules.

Args: name: Unique name for the service definition. protocol: Protocol type ('TCP', 'UDP', 'TCP/UDP', or 'ICMP'). Default is 'TCP'. source_port: Source port range (e.g. '1:65535'). Default is '1:65535'. destination_port: Destination port or port range (e.g. '8080' or '8000:8080'). client: Optional SophosFirewallClient instance.

Returns: API response status dictionary.

sophos_delete_serviceA

Delete a custom service definition object by name.

Use when deleting obsolete service port definitions from Sophos Firewall.

Args: name: Name of the service object to delete. client: Optional SophosFirewallClient instance.

Returns: API response status dictionary.

sophos_list_service_groupsA

List service group objects configured on Sophos Firewall.

Use when browsing bundled groups of services used in rule policies.

Args: name: Optional service group name filter. client: Optional SophosFirewallClient instance.

Returns: List or dict of service groups.

sophos_create_service_groupA

Create a new service group object.

Use when bundling multiple service port definitions into a single named group for security rules.

Args: name: Unique name for the service group. service_list: List of service object names to include in the group. client: Optional SophosFirewallClient instance.

Returns: API response status dictionary.

sophos_delete_service_groupA

Delete a service group object by name.

Use when removing an obsolete service group definition from Sophos Firewall.

Args: name: Name of the service group to remove. client: Optional SophosFirewallClient instance.

Returns: API response status dictionary.

sophos_list_nat_rulesA

List NAT and DNAT port-forwarding rules on Sophos Firewall.

Use when reviewing Network Address Translation rules and port forwarding.

Args: name: Optional NAT rule name filter. client: Optional SophosFirewallClient instance.

Returns: List or dict of NAT rules.

sophos_get_nat_ruleA

Retrieve detailed configuration of a specific NAT rule.

Use when auditing original/translated source, destination, and service parameters.

Args: name: Name of the NAT rule. client: Optional SophosFirewallClient instance.

Returns: NAT rule configuration details.

sophos_create_nat_ruleA

Create a Network Address Translation (NAT or DNAT) rule.

Use when defining port forwarding, SNAT masquerading, or DNAT inbound translation rules.

Args: name: Unique name for the NAT rule. status: Rule status ('Enable' or 'Disable'). Default is 'Enable'. original_source: Original source host/network object names. original_destination: Original destination host/network object names. original_service: Original service object names. translated_source: Translated source object ('MASQUERADE', 'Original', etc.). translated_destination: Translated destination host/network object. translated_service: Translated service object name. client: Optional SophosFirewallClient instance.

Returns: API response status dictionary.

sophos_update_nat_ruleA

Update fields on an existing NAT rule.

Use when updating status or target translation parameters on an existing NAT or port-forwarding rule.

Args: name: Name of the NAT rule to update. status: Optional new status ('Enable' or 'Disable'). translated_source: Optional new translated source object. translated_destination: Optional new translated destination object. translated_service: Optional new translated service object. client: Optional SophosFirewallClient instance.

Returns: API response status dictionary.

sophos_delete_nat_ruleA

Delete a NAT rule by name.

Use when permanently removing a NAT or port-forwarding policy.

Args: name: Name of the NAT rule to remove. client: Optional SophosFirewallClient instance.

Returns: API response status dictionary.

sophos_list_usersA

List local user accounts configured on Sophos Firewall.

Use when browsing local user accounts and group memberships.

Args: username: Optional username filter. client: Optional SophosFirewallClient instance.

Returns: List or dict of user accounts.

sophos_get_userA

Retrieve details for a specific local user account.

Use when inspecting permissions, email, or profile settings for a user.

Args: username: Username of the user account. client: Optional SophosFirewallClient instance.

Returns: User account details.

sophos_create_userA

Create a new local user account on Sophos Firewall.

Use when registering new local user accounts for VPN or portal access.

Args: username: Login username for the account. name: Full display name of the user. password: User login password. group: User group name (e.g. 'Open Group' or 'Administrator'). Default is 'Open Group'. email: Optional user email address. client: Optional SophosFirewallClient instance.

Returns: API response status dictionary.

sophos_delete_userA

Delete a local user account by username.

Use when removing obsolete or revoked user accounts from Sophos Firewall.

Args: username: Username of the account to delete. client: Optional SophosFirewallClient instance.

Returns: API response status dictionary.

sophos_list_live_usersA

List active logged-in user sessions on Sophos Firewall.

Use when monitoring live user logins, active session counts, or connected users.

Args: client: Optional SophosFirewallClient instance.

Returns: List or dict of live user sessions.

sophos_list_ipsec_vpnsA

List IPsec site-to-site VPN connection configurations and status.

Use when inspecting site-to-site IPsec tunnel states and gateway parameters.

Args: client: Optional SophosFirewallClient instance.

Returns: List or dict of IPsec VPN connections.

sophos_list_sslvpn_policiesA

List SSL VPN remote access policies configured on Sophos Firewall.

Use when viewing user access policies, SSL VPN IP pools, and permitted networks.

Args: client: Optional SophosFirewallClient instance.

Returns: List or dict of SSL VPN remote access policies.

route_toolsA

Find relevant Sophos Firewall tools matching a natural language prompt.

Args: query: Natural language task description or question. top_k: Number of relevant tools to return. Default is 5.

Returns: List of matching tool schema definitions or status string.

call_routed_toolB

Dynamically execute a routed tool by name with arguments.

Args: tool_name: Name of the registered tool to call. arguments: Optional dictionary of arguments to pass to the tool function.

Returns: Result of the executed tool function.

Prompts

Interactive templates invoked by user choice

NameDescription
audit_firewall_rulesPrompt template for conducting a security audit of firewall rules. Args: focus_zone: Network zone to audit (e.g. 'WAN', 'LAN', 'DMZ'). Default is 'WAN'.
troubleshoot_connectivityPrompt template for troubleshooting network connectivity issues between hosts. Args: source_ip: IP address or host name attempting connection. destination_ip: Target destination IP address or service.

Resources

Contextual data attached and managed by the client

NameDescription
get_system_info_resourceResource providing system details, appliance model, serial number, and firmware version.
get_interfaces_resourceResource providing network interface configuration, zones, and link state.
get_service_status_resourceResource providing operational status of core firewall background services.

Latest Blog Posts

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/jelmervdm/sophos-firewall-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server