Pfsense MCP server
io.github.antonio-mello-ai/mcp-pfsense·v0.3.1·6 starsManage pfSense firewalls through AI assistants — rules, DHCP, DNS, and more
not scanned yet
6 stars27 downloads/wk
Reviews
Write oneNobody has reviewed Pfsense yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Pfsense tools
No tool declarations could be read from the package source. They show once the server is installed.
How Pfsense compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 88/100
- higher than 75% of 48,255 servers
- GitHub stars
- 6
- more than 85% of 28,688 servers
- Downloads a week
- 27
- more than 14% of 12,191 servers with a package
Release history: 2 versions in the registry since 2026-08-17, latest 2026-11-04, typically one every 79 days.
Install Pfsense in Claude Code, Cursor or VS Code
claude mcp add mcp-pfsense -- uvx mcp-pfsense
What the publisher says
From the Pfsense repository's README, as published. We do not edit it. Read it on GitHub
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:
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 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.
- deletedhcpstaticmapping takes the mapping's interface (its parentid in listdhcpstaticmappings) and mappingid; a mapping is addressed by both.
Installation
# Using uvx (recommended)
uvx mcp-pfsense
# Using pip
pip install mcp-pfsensePrerequisites
- pfSense with pfrest package installed
- A user account with API access (typically admin)
Configuration
Set environment variables:
Claude Desktop
Add to claudedesktopconfig.json:
{
"mcpServers": {
"pfsense": {
"command": "uvx",
"args": ["mcp-pfsense"],
"env": {
"PFSENSE_HOST": "10.10.10.1",
"PFSENSE_PASSWORD": "your-password"
}
}
}
}Claude Code
claude mcp add pfsense -- uvx mcp-pfsenseThen set environment variables in your shell or .env file.
Usage Examples
Once connected, ask your AI assistant:
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Pfsense: common questions
- Is Pfsense MCP server safe?
- Yes, by our scan: it is graded A (88/100). Read the Pfsense safety report
- How do I install Pfsense?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Pfsense need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Pfsense maintained?
- The last commit was 44 days ago (2026-09-21). The latest release is v0.3.1.
- How does Pfsense compare with other MCP servers?
- safety score 88/100 (higher than 75% of 48,255 servers); github stars 6 (more than 85% of 28,688 servers); downloads a week 27 (more than 14% of 12,191 servers with a package). Full comparison.