Manage pfSense firewall rules, DHCP, DNS, gateways, ARP data, and services through MCP tools with staged writes and confirmations.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag — we're steadily working through the catalog.
💡 Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by MCP Pfsense.
The antonio-mello-ai/mcp-pfsense MCP server connects an MCP-compatible assistant to a pfSense firewall through pfrest REST API v2. It covers operational inspection and configuration tasks across seven areas:
The package supports pfSense 2.7.x and 2.8.x, Python 3.11 or newer, and pfrest REST API v2. Static DHCP mapping listing requires pfrest 2.7.0 or later.
The antonio-mello-ai/mcp-pfsense MCP server runs locally as a Python command and sends requests to the pfSense REST API. The pfSense host, port, URL scheme, username, password, and TLS verification behavior come from environment variables.
Configuration writes are intentionally staged by default, matching the pfSense WebGUI workflow. Adding or deleting a rule, DHCP mapping, or DNS override changes the stored configuration but does not activate it. An assistant can inspect pending changes and apply them for a subsystem, or request a one-shot write with apply=true. Applying a subsystem also activates other changes already staged there, including changes made through the WebGUI.
Destructive operations use a confirmation step. Deleting firewall rules or mappings, restarting services, and applying changes first return a warning; the operation runs only when called again with confirm=true.
Install the package with uvx:
The pfSense installation must have the pfrest package installed, and the API user must have permissions for the endpoints the assistant will use. Endpoint-specific api-v2-* privileges can be granted in System → User Manager; page-all provides full access. The pfrest service may use a different port and web server from the pfSense WebGUI, so configure the connection accordingly.
Required variables are PFSENSE_HOST and PFSENSE_PASSWORD. PFSENSE_USERNAME defaults to admin, PFSENSE_PORT defaults to 443, PFSENSE_SCHEME defaults to https, and PFSENSE_VERIFY_SSL defaults to false.
For Claude Desktop, configure a server entry using the uvx command and pass the pfSense host and password in its environment. Claude Code can register the same server with claude mcp add pfsense -- uvx mcp-pfsense.
The package provides 19 tools, including:
The pfrest package is a hard prerequisite; this server does not provide the REST API itself. API permissions can cause individual reads or writes to return 403. Older releases, 0.1.1 and earlier, used endpoints that are incompatible with pfrest v2, so use version 0.2.0 or newer. If writes return successfully but no configuration is stored, check whether pfrest is configured as read-only.
The delete_dhcp_static_mapping operation requires both the mapping interface, represented by parent_id in the listing response, and the mapping ID. Applying changes can activate any other pending changes in the selected subsystem, not only changes made by the assistant.
Factual signals from GitHub, npm, and our automated checks — not a rating.
No reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/antonio-mello-ai-mcp-pfsense)<a href="https://allmcps.com/mcp/antonio-mello-ai-mcp-pfsense"><img src="https://allmcps.com/api/badge/antonio-mello-ai-mcp-pfsense?style=directory" alt="MCP Pfsense on AllMCPs" /></a>