A side-by-side look at the MCP Pfsense and Kubernetes MCP Server MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose MCP Pfsense for cloud platforms work as a local process; choose Kubernetes MCP Server for cloud platforms as a local process. You can also run both side by side in one mcpServers block.
PFSENSE_HOST, PFSENSE_PASSWORD.get_system_status, get_interfaces, list_firewall_rules.configuration_contexts_list, targets_list, configuration_view.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Cloud Platforms | Cloud Platforms |
| Quality signal | 61/100 · Good | 67/100 · Great |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | other | other |
| Pricing | Free | Free |
| Required env vars | PFSENSE_HOSTPFSENSE_PASSWORD | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 6 | 2,163 |
| Directory activity | 8 views 0 installs 0 upvotes | 3 views 0 installs 0 upvotes |
| Tools | 19 | 76 |
| Full listing | View MCP Pfsense | View Kubernetes MCP Server |
get_system_statusGet pfSense system status including version, CPU, memory, uptime, and temperature.get_interfacesList all network interfaces with status and configuration.list_firewall_rulesList firewall rules, optionally filtered by interface.add_firewall_ruleAdd 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_ruleDelete 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_aliasesList firewall aliases (IP groups, port groups, URL lists).list_dhcp_leasesList active DHCP leases showing IP, MAC, hostname, and lease times.list_dhcp_static_mappingsList 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.
add_dhcp_static_mappingCreate 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_mappingDelete 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_overridesList DNS Resolver host overrides (local DNS entries).add_dns_host_overrideCreate a DNS host override entry in Unbound DNS Resolver.
Staged until apply_changes('dns') is called or apply=true is passed.
configuration_contexts_listList all available context names and associated server urls from the kubeconfig filetargets_listList all available targetsconfiguration_viewGet the current Kubernetes configuration content as a kubeconfig YAMLevents_listList Kubernetes events (warnings, errors, state changes) for debugging and troubleshooting in the current cluster from all namespacesnamespaces_listList all the Kubernetes namespaces in the current clusterprojects_listList all the OpenShift projects in the current clusternodes_logGet logs from a Kubernetes node (kubelet, kube-proxy, or other system logs). This accesses node logs through the Kubernetes API proxy to the kubeletnodes_stats_summaryGet detailed resource usage statistics from a Kubernetes node via the kubelet's Summary API. Provides comprehensive metrics including CPU, memory, filesystem, and network usage at the node, pod, and container levels. On systems with cgroup v2 and kernel 4.20+, also includes PSI (Pressure Stall Info…nodes_topList the resource consumption (CPU and memory) as recorded by the Kubernetes Metrics Server for the specified Kubernetes Nodes or all nodes in the clusterpods_listList all the Kubernetes pods in the current cluster from all namespacespods_list_in_namespaceList all the Kubernetes pods in the specified namespace in the current clusterpods_getGet a Kubernetes Pod in the current or provided namespace with the provided namePaste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"antonio-mello-ai-mcp-pfsense": {
"command": "uvx",
"args": [
"mcp-pfsense"
],
"env": {
"PFSENSE_HOST": "YOUR_PFSENSE_HOST_HERE",
"PFSENSE_PASSWORD": "YOUR_PFSENSE_PASSWORD_HERE"
}
}
}
}
{
"mcpServers": {
"kubernetes-mcp-server": {
"command": "npx",
"args": [
"-y",
"kubernetes-mcp-server@latest"
]
}
}
}