mcp-pfsense
Provides read-only access to a pfSense firewall's REST API, exposing tools for viewing system status, interfaces, gateways, firewall rules, aliases, NAT, DHCP, DNS, WireGuard, and ARP.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
mcp-pfsense
Read-only MCP server for the
pfSense REST API (community package pfSense-pkg-RESTAPI).
Scope is intentional and finished: GET-only tools, aggressive secret redaction, least-privilege API key. There is no roadmap to add write/mutate operations. If you need an agent that changes firewall rules, VPN, DHCP, or DNS, use a different project (see Alternatives).
Designed for local MCP clients against a pfSense box reached over a private network (VPN / reverse proxy recommended).
When to use this
You want structured, current pfSense state in an MCP client (Cursor, Claude Desktop, Codex, …).
You want a hard read-only boundary (HTTP client cannot issue non-GET; no write tools registered).
You accept a small fixed tool catalog instead of hundreds of mutate endpoints.
When not to: if your agent already has a shell and you can call pfrest with env-backed wrappers / curl, that is often simpler and more flexible than maintaining an MCP server. Prefer that when the goal is personal automation, not a shared MCP tool surface.
Related MCP server: io.github.antonio-mello-ai/mcp-pfsense
Features
API key auth (
X-API-Key)HTTP client that only issues
GETAggressive secret redaction (WireGuard keys, passwords, bcrypt hashes…)
Tools: system, interfaces, gateways, firewall, aliases, NAT, DHCP, DNS, WireGuard, ARP
Requirements
Python 3.11+
pfSense CE with
pfSense-pkg-RESTAPI≥ v2.9.0 installed (see SETUP.md)Network path to the webGUI API (VPN + private reverse proxy recommended)
Setup
cp .env.example .env # set PFSENSE_URL, PFSENSE_API_KEY
poetry installSee SETUP.md for creating user mcp and a read-only API key.
Run (stdio)
poetry run mcp-pfsenseMCP client config
Point your client at the in-project Poetry venv (after poetry install with virtualenvs.in-project = true):
{
"mcpServers": {
"pfsense": {
"command": "/absolute/path/to/mcp-pfsense/.venv/bin/python",
"args": ["-m", "mcp_pfsense"],
"envFile": "/absolute/path/to/mcp-pfsense/.env"
}
}
}On Windows, use .venv\\Scripts\\python.exe instead of .venv/bin/python.
Works the same way for Cursor, Claude Desktop, Codex, or any stdio MCP client.
Inspector
npx @modelcontextprotocol/inspector poetry run mcp-pfsenseConnectivity check
poetry run mcp-pfsense-check
poetry run mcp-pfsense-check --check-write-denied # optional ACL probeTests
poetry run pytest
poetry run ruff check .
poetry run ruff format --check .Env vars
Variable | Description |
| Base URL, no trailing slash (required) |
| API key (required) |
|
|
| Seconds |
Security model
The HTTP wrapper exposes only
GET; non-GET methods are not available on the client.Responses are recursively redacted for known secret keys (WireGuard private/preshared keys, passwords, bcrypt hashes, …).
Prefer three locks: package Read only, a GET-only user, and this GET-only client.
Do not expose the pfSense webGUI on the WAN; reach it over VPN or a private reverse proxy.
Alternatives
Shell + API (often better for personal use): env file + GET-only
curl/ small wrappers. More flexible path coverage; no MCP process to maintain. Secrets stay in the environment instead of a separate MCP config if you already work that way.Write / manage pfSense: gensecaihq/pfsense-mcp-server — broad pfrest MCP surface with mutate tools and safety guardrails. Prefer that (or pfrest directly) if you need changes, not just inventory.
This repo stays read-only on purpose.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Read-only MCP access to a documented IT fleet: state, changes, posture. 15 tools.
XFA's remote MCP server — query device posture, compliance, policies & CVEs. Read-only.
Read-only MAC address, OUI, and vendor lookup tools for network diagnostics.
Query and manage PacketFabric NaaS: ports, virtual circuits, cloud routers, pricing, metrics.
Related MCP Servers
- AlicenseBqualityBmaintenanceOPNsense firewall operations via API & mcp. Query ARP, DHCP, firewall rules, logs, interfaces, system status, and packet capture via STDIO or SSE.1412MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to manage pfSense firewalls using 17 tools for system status, firewall rules, DHCP, DNS, monitoring, and service management via the pfSense REST API.20173 PyPI6MIT
- AlicenseAqualityDmaintenanceEnables interaction with OPNsense firewalls through MCP tools for managing firewall rules, interfaces, DHCP leases, and system monitoring.26MIT
- FlicenseNot gradedqualityAmaintenanceEnables users to manage a pfSense firewall — rules, NAT, VPNs, DNS, DHCP, routing, certificates, services, and diagnostics — in natural language from Claude Desktop, Claude Code, or any MCP client. Wraps 332 wire-format-verified tools for the pfSense REST API with multi-layer safety guardrails, rate limits, explicit confirmation for destructive actions, and config-revision rollback.-