
antonio-mello-ai/mcp-pfsense
Developer tools이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기
MCP server for managing pfSense firewalls through AI assistants
개요
MCP server for managing through AI assistants like Claude, ChatGPT, and Copilot. : pfrest package installed on your pfSense instance (provides the REST API). - for destructive operations (delete rules, delete mappings, restart services, apply changes): the tool returns a warning on first call and only executes when called again with confirm=true. - Like the pfSense WebGUI, add_* and delete_* store the change in the config but do not activate it. The tool response says so (applied: false, plus a pending note). Activate with apply_changes(subsystem, confirm=true) — which reloads that subsystem, including anything a human left staged in the WebGUI — or pass apply=true on the write itself when you explicitly want a one-shot change. Nothing the assistant does reaches the packet filter without one of those two explicit steps. - delete_dhcp_static_mapping takes the mapping's interface (its parent_id in list_dhcp_static_mappings) and mapping_id; a mapping is addressed by both. 1.
README
원문 README의 일부입니다. 원문 보기.
mcp-pfsense
MCP server for managing pfSense firewalls through AI assistants like Claude, ChatGPT, and Copilot.
Requires: pfrest package installed on your pfSense instance (provides the REST API).
Features
20 tools across 7 categories:
| Category | Tools | Description |
|---|---|---|
| System | get_system_status, get_interfaces |
Version, CPU, memory, uptime, temperature, network interfaces |
| Firewall | list_firewall_rules, add_firewall_rule, delete_firewall_rule, list_firewall_aliases |
Rule management with interface filtering, alias listing |
| DHCP | list_dhcp_leases, list_dhcp_static_mappings, add_dhcp_static_mapping, delete_dhcp_static_mapping |
Active leases, IP reservations |
| DNS | list_dns_host_overrides, add_dns_host_override, delete_dns_host_override |
Unbound DNS Resolver host overrides |
| Pending changes | get_pending_changes, apply_changes |
See what is staged per subsystem (firewall, dhcp, dns) and apply it |
| Monitoring | get_gateway_status, get_arp_table, list_services, get_firewall_logs |
Gateway health, connected devices, service status, recent raw firewall log entries |
| Services | restart_service |
Restart any pfSense service |
Safety
- Two-step confirmation for destructive operations (delete rules, delete mappings, restart services, apply changes): the tool returns a warning on first call and only executes when called again with
confirm=true. - Writes are staged, not live. Like the pfSense WebGUI,
add_*anddelete_*store the change in the config but do not activate it. The tool response says so (applied: false, plus apendingnote). Activate withapply_changes(subsystem, confirm=true)— which reloads that subsystem, including anything a human left staged in the WebGUI — or passapply=trueon the write itself when you explicitly want a one-shot change. Nothing the assistant does reaches the packet filter without one of those two explicit steps. delete_dhcp_static_mappingtakes the mapping’sinterface(itsparent_idinlist_dhcp_static_mappings) andmapping_id; a mapping is addressed by both.
Installation
# Using uvx (recommended)
uvx mcp-pfsense
# Using pip
pip install mcp-pfsense
Prerequisites
- pfSense with pfrest package installed
- A user account with API access (typically
admin)
Configuration
Set environment variables:
| Variable | Required | Default | Description |
|---|
설치
uvx mcp-pfsense설정
{
"mcpServers": {
"pfsense": {
"command": "uvx",
"args": ["mcp-pfsense"],
"env": {
"PFSENSE_HOST": "10.10.10.1",
"PFSENSE_PASSWORD": "your-password"
}
}
}
}