Sophos XGS MCP服务器
只读 模型上下文协议(MCP) Sophos XGS Firewall XML API的服务器。让像克劳德这样的人工智能助手能够查看您的防火墙配置,而无需对其进行任何修改。
特性
- 60+只读工具 涵盖防火墙规则、NAT、VPN、网络过滤、网络配置、路由、DHCP、DNS、IPS、SSL/TLS检查和管理设置
- 按设计只读 --仅使用 `
API操作,无或` - XML注入保护 --对所有输入进行实体名称验证和XML转义
- 凭证隔离 --从受保护的配置文件加载的凭据,从未硬编码
- 错误清理 --在到达MCP客户端之前,密码会从错误消息中删除
- 范围TLS处理 --自签名证书旁路的作用域是针对每个请求的,而不是全局的
工具
| 类别 | 工具 |
|---|---|
| 防火墙 | list_firewall_rules, list_firewall_rule_groups, get_firewall_rule, search_firewall_rules |
| 网络对象 | list_ip_hosts, list_ip_host_groups, list_fqdn_hosts, list_fqdn_host_groups, list_mac_hosts, get_ip_host, search_ip_hosts |
| 服务项目 | list_services, list_service_groups, get_service |
| 区域和接口 | list_zones, list_interfaces, list_vlans, list_interface_aliases, list_lag_interfaces, get_zone, get_interface |
| NAT | list_nat_rules |
| VPN | list_sslvpn_policies, list_vpn_ipsec_connections |
| Web筛选 | list_web_filter_policies, list_url_groups, list_web_filter_exceptions |
| SSL/TLS检测 | list_ssl_tls_inspection_rules, get_ssl_tls_inspection_settings, list_decryption_profiles |
| IPS | list_ips_policies |
| 路由和SD-WAN | list_static_routes, list_sdwan_policy_routes, list_sdwan_profiles, list_gateway_hosts, list_gateway_configurations |
| DHCP和DNS | list_dhcp_servers, list_dns_forwarders, list_dns_request_routes, list_dns_host_entries |
| 用户和管理员 | list_users, list_admin_profiles, get_admin_settings, get_admin_authen, get_user_activity |
| 系统 | get_backup_config, get_backup_restore_settings, get_time_settings, get_reports_retention, list_syslog_servers, list_notifications, list_snmpv3_users, get_pim_settings, get_captive_portal |
| 电子邮件 | list_smtp_policies |
| 访问控制 | list_acl_rules, list_local_service_acl, list_schedules, list_access_time_policies, list_surfing_quota_policies, list_data_transfer_policies |
IPv6 的 list_router_advertisements | |
| 高级 | raw_api_query --使用可选筛选器查询任何实体 |
先决条件
- Node.js 18+
- 启用XML API的Sophos XGS防火墙(默认端口4444)
- API管理员帐户(a 强烈建议使用只读配置文件)
启用Sophos XML API
- 登录您的Sophos XGS网络管理员
- 首选 备份和固件 > API
- 启用API并允许从运行MCP服务器的主机进行访问
设置
1.安装
git clone https://github.com/Leon69924/sophos-xgs-mcp.git
cd sophos-xgs-mcp
pnpm install
pnpm build2.配置凭据
创建配置目录:
mkdir -p ~/.config/sophos-xgs
chmod 700 ~/.config/sophos-xgs创建 ~/.config/sophos-xgs/config.json:
{
"host": "your-sophos-hostname-or-ip",
"port": "4444",
"username": "your-api-user"
}创建 ~/.config/sophos-xgs/credentials 只需输入密码:
echo -n "your-password" > ~/.config/sophos-xgs/credentials
chmod 600 ~/.config/sophos-xgs/config.json ~/.config/sophos-xgs/credentials或者,使用环境变量:
export SOPHOS_HOST=your-sophos-hostname-or-ip
export SOPHOS_PORT=4444
export SOPHOS_USERNAME=your-api-user
export SOPHOS_PASSWORD=your-password3.添加到您的MCP客户端
对于Claude Code,请添加 ~/.mcp.json:
{
"mcpServers": {
"sophos-xgs": {
"type": "stdio",
"command": "node",
"args": ["/path/to/sophos-xgs-mcp/dist/index.js"]
}
}
}安全
- 只读 --服务器仅使用 `` XML API操作
- 没有硬编码凭据 --加载自
~/.config/sophos-xgs/或环境变量 - XML注入预防 --实体名称根据以下内容进行验证
^[A-Za-z][A-Za-z0-9]*$,所有插值都是XML转义的 - 错误清理 --从错误消息中删除凭据
- 传输层安全 --所有连接都使用HTTPS;自签名证书旁路仅限于Sophos连接
- 最佳实践:在Sophos上创建专用的只读管理员配置文件,以便访问API
许可证
仅限AGPL-3.0——见 许可证
