io.github.antonio-mello-ai/mcp-pfsense
Manage pfSense firewalls through AI assistants — rules, DHCP, DNS, and more
Versions
0.1.1latestTools 19
list_dhcp_leases List active DHCP leases showing IP, MAC, hostname, and lease times.
list_dhcp_static_mappings List DHCP static mappings (IP reservations), optionally filtered by interface. Each mapping carries `parent_id` (its DHCP server / interface) — pass that as `interface` to delete_dhcp_static_mapping.
get_system_status Get pfSense system status including version, CPU, memory, uptime, and temperature.
get_interfaces List all network interfaces with status and configuration.
list_firewall_rules List firewall rules, optionally filtered by interface.
add_firewall_rule Add a firewall rule. Type is 'pass', 'block', or 'reject'. The rule is staged (not active) until apply_changes('firewall') is called or apply=true is passed here.
delete_firewall_rule Delete a firewall rule by its ID (the `id` from list_firewall_rules). Requires confirm=true. Staged until apply_changes('firewall') is called or apply=true is passed.
list_firewall_aliases List firewall aliases (IP groups, port groups, URL lists).
add_dhcp_static_mapping Create a DHCP static mapping (IP reservation) for a MAC address. Staged until apply_changes('dhcp') is called or apply=true is passed.
delete_dhcp_static_mapping Delete a DHCP static mapping. Requires confirm=true. `interface` is the mapping's DHCP server — the `parent_id` value returned by list_dhcp_static_mappings; `mapping_id` is its `id` there. Staged until apply_changes('dhcp') is called or apply=true is passed.
list_dns_host_overrides List DNS Resolver host overrides (local DNS entries).
add_dns_host_override Create a DNS host override entry in Unbound DNS Resolver. Staged until apply_changes('dns') is called or apply=true is passed.
delete_dns_host_override Delete a DNS host override by ID. Requires confirm=true. Staged until apply_changes('dns') is called or apply=true is passed.
get_pending_changes Check whether a subsystem ('firewall', 'dhcp' or 'dns') has staged, unapplied changes.
apply_changes Apply ALL staged changes of a subsystem ('firewall', 'dhcp' or 'dns'). Requires confirm=true. This reloads the subsystem, activating every pending change — including any a human staged in the pfSense WebGUI and has not reviewed yet.
get_gateway_status Get gateway status including latency, packet loss, and online state.
get_arp_table Get ARP table showing connected devices (IP, MAC, interface).
list_services List all services and their running status.
restart_service Restart a service by name. Requires confirm=true.
Permissions 1
network medium