Ext Ops Panel
Open dashboard
Comparison

Firewalla vs Zscaler Zero Trust Exchange

Firewalla is an MCP server published by amittell. Marketplaces we read that list it: 1 (Docker MCP Catalog). Zscaler Zero Trust Exchange is an MCP server published by zscaler. Marketplaces we read that list it: 5 (Official MCP Registry, Claude Code: claude-plugins-official, Docker MCP Catalog, Claude Code: claude-plugins-community, Community GitHub marketplaces). As of our marketplace pass on 2026-10-24. This pair was picked by a reader, not by our comparison rule, so search engines are asked not to index the page.

Where each is published

Where each is published
MarketplaceFirewallaZscaler Zero Trust Exchange
Docker MCP Catalog Listed
Version: sha256:af186f868759
Forks (GitHub): 13
Pulls (Docker Hub): 31 034
Stars (Docker Hub): 0
Stars (GitHub): 39
Not marked · First seen
Listed
Version: sha256:a3951ea456e1
Forks (GitHub): 34
Pulls (Docker Hub): 7 309
Stars (Docker Hub): 0
Stars (GitHub): 51
Not marked · First seen
Official MCP Registry Not listed Listed
Version: 0.15.4
Downloads/month (PyPI): 1 348
Downloads/week (PyPI): 520
Forks (GitHub): 34
Stars (GitHub): 51
Not marked · First seen
Claude Code: claude-plugins-official Not listed Listed
Version: 0.15.4
Forks (GitHub): 34
Stars (GitHub): 51
Not marked · First seen
Claude Code: claude-plugins-community Not listed Listed
Version: 0.15.0
Forks (GitHub): 34
Stars (GitHub): 51
Not marked · First seen

Each figure is the marketplace's own and is never added up across marketplaces. A marketplace that publishes no figure shows none: no number is not zero.

The facts side by side

Firewalla vs Zscaler Zero Trust Exchange
FactFirewallaZscaler Zero Trust Exchange
Marketplaces that list it (differs)1 (worse)5 (better)
Stars (GitHub) (differs)39 (worse)51 (better)
Pulls (Docker Hub) (differs)31 034 (better)7 309 (worse)
Forks (GitHub) (differs)13 (worse)34 (better)
Last releaseNot publishedNot published
Where it runs (differs)On your machine (mcp/firewalla-mcp-server)On your machine (zscaler-mcp)
Transportstdiostdio
Tools it declares (differs)28302
Environment variables it asks for (differs)12, secrets among them: 110, secrets among them: 5
Parts of the bundle (differs)Not a bundle28
LicenceMITMIT
Repository (differs)github.com/amittell/firewalla-mcp-servergithub.com/zscaler/zscaler-mcp-server
Changes in the last 7 days00
First seen2026-10-112026-10-11

Lines where the two differ have a tinted background and bold values. Where the data itself says which value is better (more marketplaces, a larger figure of the same marketplace, a fresher release, a verified mark on a marketplace that lists both), the better one is also marked green with ▲ and the worse one red with ▼. Where it runs, the transport, the tools, the settings, hooks, the bundle's parts, the licence and the week's changes are marked only as different: more or fewer is not better in itself.

What each says it does

Firewalla

In its own words, on Docker MCP Catalog:

Real-time network monitoring, security analysis, and firewall management through 28 specialized tools. Access security alerts, network flows, device status, and firewall rules directly from your Firewalla device.

Zscaler Zero Trust Exchange

In its own words, on Official MCP Registry:

Manage Zscaler Zero Trust Exchange via 400+ tools — ZPA, ZIA, ZDX, ZCC, ZTW, ZMS, EASM, and more.

How to run each

Firewalla As a local MCP server: Docker image

Claude Code
claude mcp add --env "FIREWALLA_MSP_TOKEN=<YOUR_FIREWALLA_MSP_TOKEN>" --transport stdio firewalla-mcp-server -- docker run -i --rm -e FIREWALLA_MSP_TOKEN mcp/firewalla-mcp-server

Requires: FIREWALLA_MSP_TOKEN (secret)

Zscaler Zero Trust Exchange As a local MCP server: PyPI package

Claude Code
claude mcp add --env "ZSCALER_CLIENT_ID=<YOUR_ZSCALER_CLIENT_ID>" --env "ZSCALER_CLIENT_SECRET=<YOUR_ZSCALER_CLIENT_SECRET>" --env "ZSCALER_CUSTOMER_ID=<YOUR_ZSCALER_CUSTOMER_ID>" --env "ZSCALER_VANITY_DOMAIN=<YOUR_ZSCALER_VANITY_DOMAIN>" --transport stdio zscaler-mcp-server -- uvx zscaler-mcp

Requires: ZSCALER_CLIENT_ID (secret), ZSCALER_CLIENT_SECRET (secret), ZSCALER_CUSTOMER_ID, ZSCALER_VANITY_DOMAIN

Commands built only from what the marketplaces declare; the full set for every client is on each card.

Tools each declares

Only Firewalla declares

  • create_target_list
  • delete_target_list
  • get_active_alarms
  • get_alarm_trends
  • get_bandwidth_usage
  • get_boxes
  • get_device_status
  • get_flow_data
  • get_flow_insights
  • get_network_rules
  • get_network_rules_summary
  • get_offline_devices
Show the remaining 16
  • get_recent_flow_activity
  • get_rule_trends
  • get_simple_statistics
  • get_specific_alarm
  • get_specific_target_list
  • get_statistics_by_box
  • get_statistics_by_region
  • get_target_lists
  • pause_rule
  • resume_rule
  • search_alarms
  • search_devices
  • search_flows
  • search_rules
  • search_target_lists
  • update_target_list

Only Zscaler Zero Trust Exchange declares

  • get_zia_dlp_dictionaries
  • get_zia_dlp_engines
  • get_zia_user_departments
  • get_zia_user_groups
  • get_zia_users
  • get_zpa_app_protection_profile
  • get_zpa_app_segments_by_type
  • get_zpa_enrollment_certificate
  • get_zpa_isolation_profile
  • get_zpa_posture_profile
  • get_zpa_saml_attribute
  • get_zpa_scim_attribute
Show the remaining 188
  • get_zpa_scim_group
  • get_zpa_trusted_network
  • zcc_list_devices
  • zcc_list_forwarding_profiles
  • zcc_list_trusted_networks
  • zdx_delete_analysis
  • zdx_delete_deeptrace
  • zdx_get_alert
  • zdx_get_analysis
  • zdx_get_application
  • zdx_get_application_metric
  • zdx_get_application_score_trend
  • zdx_get_application_user
  • zdx_get_deeptrace_cloudpath
  • zdx_get_deeptrace_cloudpath_metrics
  • zdx_get_deeptrace_events
  • zdx_get_deeptrace_health_metrics
  • zdx_get_deeptrace_webprobe_metrics
  • zdx_get_device
  • zdx_get_device_deep_trace
  • zdx_get_software_details
  • zdx_get_web_probes
  • zdx_list_alert_affected_devices
  • zdx_list_alerts
  • zdx_list_application_users
  • zdx_list_applications
  • zdx_list_cloudpath_probes
  • zdx_list_deeptrace_top_processes
  • zdx_list_departments
  • zdx_list_device_deep_traces
  • zdx_list_devices
  • zdx_list_historical_alerts
  • zdx_list_locations
  • zdx_list_software
  • zdx_start_analysis
  • zdx_start_deeptrace
  • zeasm_get_finding_details
  • zeasm_get_finding_evidence
  • zeasm_get_finding_scan_output
  • zeasm_get_lookalike_domain
  • zeasm_list_findings
  • zeasm_list_lookalike_domains
  • zeasm_list_organizations
  • zia_activate_configuration
  • zia_add_atp_malicious_urls
  • zia_add_auth_exempt_urls
  • zia_add_urls_to_category
  • zia_bulk_update_cloud_applications
  • zia_create_cloud_firewall_rule
  • zia_create_gre_tunnel
  • zia_create_ip_destination_group
  • zia_create_ip_source_group
  • zia_create_location
  • zia_create_network_app_group
  • zia_create_network_service
  • zia_create_network_svc_group
  • zia_create_rule_label
  • zia_create_ssl_inspection_rule
  • zia_create_static_ip
  • zia_create_url_category
  • zia_create_url_filtering_rule
  • zia_create_vpn_credential
  • zia_create_web_dlp_rule
  • zia_delete_atp_malicious_urls
  • zia_delete_auth_exempt_urls
  • zia_delete_cloud_firewall_rule
  • zia_delete_gre_tunnel
  • zia_delete_ip_destination_group
  • zia_delete_ip_source_group
  • zia_delete_location
  • zia_delete_network_app_group
  • zia_delete_network_service
  • zia_delete_network_svc_group
  • zia_delete_rule_label
  • zia_delete_ssl_inspection_rule
  • zia_delete_static_ip
  • zia_delete_url_category
  • zia_delete_url_filtering_rule
  • zia_delete_vpn_credential
  • zia_delete_web_dlp_rule
  • zia_geo_search
  • zia_get_activation_status
  • zia_get_cloud_firewall_rule
  • zia_get_gre_tunnel
  • zia_get_ip_destination_group
  • zia_get_ip_source_group
  • zia_get_location
  • zia_get_network_app
  • zia_get_network_app_group
  • zia_get_network_service
  • zia_get_network_svc_group
  • zia_get_rule_label
  • zia_get_sandbox_behavioral_analysis
  • zia_get_sandbox_file_hash_count
  • zia_get_sandbox_quota
  • zia_get_sandbox_report
  • zia_get_ssl_inspection_rule
  • zia_get_static_ip
  • zia_get_url_category
  • zia_get_url_filtering_rule
  • zia_get_vpn_credential
  • zia_get_web_dlp_rule
  • zia_list_atp_malicious_urls
  • zia_list_auth_exempt_urls
  • zia_list_cloud_app_control_actions
  • zia_list_cloud_application_custom_tags
  • zia_list_cloud_applications
  • zia_list_cloud_firewall_rules
  • zia_list_device_groups
  • zia_list_devices
  • zia_list_devices_lite
  • zia_list_gre_ranges
  • zia_list_gre_tunnels
  • zia_list_ip_destination_groups
  • zia_list_ip_source_groups
  • zia_list_locations
  • zia_list_network_app_groups
  • zia_list_network_apps
  • zia_list_network_services
  • zia_list_network_svc_groups
  • zia_list_rule_labels
  • zia_list_ssl_inspection_rules
  • zia_list_static_ips
  • zia_list_url_categories
  • zia_list_url_filtering_rules
  • zia_list_vpn_credentials
  • zia_list_web_dlp_rules
  • zia_list_web_dlp_rules_lite
  • zia_remove_urls_from_category
  • zia_update_cloud_firewall_rule
  • zia_update_ip_destination_group
  • zia_update_ip_source_group
  • zia_update_location
  • zia_update_network_app_group
  • zia_update_network_service
  • zia_update_network_svc_group
  • zia_update_rule_label
  • zia_update_ssl_inspection_rule
  • zia_update_static_ip
  • zia_update_url_category
  • zia_update_url_filtering_rule
  • zia_update_vpn_credential
  • zia_update_web_dlp_rule
  • zia_url_lookup
  • zid_get_group
  • zid_get_group_users
  • zid_get_group_users_by_name
  • zid_get_user
  • zid_get_user_groups
  • zid_get_user_groups_by_name
  • zid_list_groups
  • zid_list_users
  • zid_search_groups
  • zid_search_users
  • zins_get_casb_app_report
  • zins_get_cyber_incidents
  • zins_get_cyber_incidents_by_location
  • zins_get_cyber_incidents_by_threat_and_app
  • zins_get_cyber_incidents_daily
  • zins_get_firewall_by_action
  • zins_get_firewall_by_location
  • zins_get_firewall_network_services
  • zins_get_iot_device_stats
  • zins_get_shadow_it_apps
  • zins_get_shadow_it_summary
  • zins_get_threat_class
  • zins_get_threat_super_categories
  • zins_get_web_protocols
  • zins_get_web_traffic_by_location
  • zins_get_web_traffic_no_grouping
  • zms_get_agent_connection_status_statistics
  • zms_get_agent_group_totp_secrets
  • zms_get_agent_version_statistics
  • zms_get_metadata
  • zms_get_nonce
  • zms_get_resource_group_members
  • zms_get_resource_group_protection_status
  • zms_get_resource_protection_status
  • zms_list_agent_groups
  • zms_list_agents
  • zms_list_app_catalog
  • zms_list_app_zones
  • zms_list_default_policy_rules
  • zms_list_nonces
  • zms_list_policy_rules
  • zms_list_resource_groups
  • zms_list_resources
  • zms_list_tag_keys

Both declare

None

Tool names as each marketplace publishes them. More tools is not better in itself: compare what each needs for the job.

Settings each asks for

Only Firewalla asks for

  • FIREWALLA_BOX_ID
  • FIREWALLA_MSP_ID
  • FIREWALLA_MSP_TOKEN (secret)
  • LOG_LEVEL
  • MCP_CACHE_ENABLED
  • MCP_CACHE_TTL
  • MCP_DEBUG_MODE
  • MCP_RATE_LIMIT_MAX_REQUESTS
  • MCP_RATE_LIMIT_WINDOW
  • MCP_READ_ONLY_MODE
  • MCP_WAVE0_ENABLED
  • NODE_ENV

Only Zscaler Zero Trust Exchange asks for

  • ZSCALER_CLIENT_ID (secret)
  • ZSCALER_CLIENT_SECRET (secret)
  • ZSCALER_CLOUD (secret)
  • ZSCALER_CUSTOMER_ID (secret)
  • ZSCALER_MCP_DISABLED_SERVICES
  • ZSCALER_MCP_DISABLED_TOOLS
  • ZSCALER_MCP_SKIP_CONFIRMATIONS
  • ZSCALER_MCP_WRITE_ENABLED
  • ZSCALER_MCP_WRITE_TOOLS
  • ZSCALER_VANITY_DOMAIN (secret)

Settings as each marketplace publishes them. Asking for fewer is not better in itself.

What it can do: Firewalla · What it can do: Zscaler Zero Trust Exchange · Compare two other plugins

Data comes from the Docker MCP Catalog (desktop.docker.com/mcp/catalog) and Docker Hub. Data comes from the Official MCP Registry (registry.modelcontextprotocol.io), CC0 1.0. Data comes from the public marketplace file https://github.com/anthropics/claude-plugins-official/blob/HEAD/.claude-plugin/marketplace.json. Data comes from the public marketplace file https://github.com/anthropics/claude-plugins-community/blob/HEAD/.claude-plugin/marketplace.json. Data comes from public marketplace files in GitHub repositories of their authors. Figures come from our own regular passes over the marketplaces, last read on . We publish no contact details for plugin publishers.

Where the data comes from: how the catalog is built