Skip to main content
Glama
gensecaihq

pfSense MCP Server

by gensecaihq

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCP_MODENoThe mode for MCP communicationstdio
PFSENSE_URLYesThe URL of your pfSense instance
PFSENSE_API_KEYYesYour pfSense API key

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
search_aliasesB

Search aliases with advanced filtering options

manage_alias_addressesA

Add or remove addresses from an existing alias

create_aliasC

Create a new firewall alias

update_aliasC

Update an existing alias by ID

delete_aliasA

Delete an alias by ID. WARNING: This is irreversible.

search_certificatesB

Search certificates configured on pfSense with optional filtering

create_certificateA

Create or import a certificate on pfSense

Import and internal generation use different API endpoints with different required fields, so this routes on method.

update_certificateA

Update an existing certificate by ID (idempotent)

delete_certificateA

Delete a certificate by ID. WARNING: This is irreversible.

generate_certificateA

Generate a new certificate signed by an existing CA on pfSense

renew_certificateA

Renew an existing certificate by ID

export_certificate_pkcs12B

Export a certificate in PKCS#12 format

search_certificate_authoritiesA

Search Certificate Authorities (CAs) configured on pfSense

create_certificate_authorityA

Create or import a Certificate Authority on pfSense

Import and internal generation use different API endpoints; this routes on method.

update_certificate_authorityA

Update an existing Certificate Authority by ID (idempotent)

delete_certificate_authorityA

Delete a Certificate Authority by ID. WARNING: This is irreversible.

search_crlsA

Search Certificate Revocation Lists (CRLs) configured on pfSense

create_crlB

Create a Certificate Revocation List (CRL) on pfSense

update_crlB

Update a Certificate Revocation List (CRL) by ID

delete_crlA

Delete a Certificate Revocation List (CRL) by ID. WARNING: This is irreversible.

search_dhcp_leasesA

Search DHCP leases with advanced filtering

search_dhcp_static_mappingsA

Search DHCP static mappings (reservations) with filtering

create_dhcp_static_mappingB

Create a DHCP static mapping (reservation)

update_dhcp_static_mappingA

Update an existing DHCP static mapping by ID

delete_dhcp_static_mappingA

Delete a DHCP static mapping by ID. WARNING: This is irreversible.

get_dhcp_server_configA

Get DHCP server configuration including pool ranges, lease times, etc.

update_dhcp_server_configC

Update DHCP server configuration (pool range, lease times, etc.)

search_dhcp_address_poolsA

Search DHCP server address pools with filtering and pagination

create_dhcp_address_poolB

Create a DHCP address pool for an interface

update_dhcp_address_poolA

Update an existing DHCP address pool by ID

delete_dhcp_address_poolA

Delete a DHCP address pool by ID. WARNING: This is irreversible.

search_dhcp_custom_optionsA

Search DHCP server custom options with filtering and pagination

create_dhcp_custom_optionB

Create a DHCP custom option

update_dhcp_custom_optionB

Update an existing DHCP custom option by ID

delete_dhcp_custom_optionA

Delete a DHCP custom option by ID. WARNING: This is irreversible.

apply_dhcp_changesA

Apply pending DHCP server changes

Use this after making changes with apply_immediately=False to batch-apply them.

update_dhcp_backendA

Update the DHCP server backend (ISC DHCP vs Kea)

run_ping_diagnosticA

Run a ping diagnostic from the pfSense firewall

reboot_systemA

Reboot the pfSense system. WARNING: This will cause a service interruption.

halt_systemA

Halt (shut down) the pfSense system. WARNING: This will power off the system.

get_config_historyB

Get configuration history revisions with pagination

get_config_revisionA

Get a specific configuration history revision by ID

delete_config_revisionA

Delete a configuration history revision by ID. WARNING: This is irreversible.

search_pf_tablesB

Search pf firewall tables with filtering and pagination

get_pf_tableA

Get the contents of a specific pf firewall table

restore_config_backupA

Restore pfSense configuration to a previous revision. WARNING: This replaces the running config.

Every destructive operation automatically captures the pre-change config revision ID. Use get_config_history to find the revision to restore.

compare_config_revisionsA

Compare two configuration revisions to see what changed.

If revision_id_after is not provided, compares against the current running config.

get_dns_forwarder_settingsA

Get the DNS Forwarder (dnsmasq) service settings

search_dns_forwarder_host_overridesB

Search DNS Forwarder host overrides with filtering and pagination

create_dns_forwarder_host_overrideB

Create a DNS Forwarder host override entry

update_dns_forwarder_host_overrideB

Update an existing DNS Forwarder host override by ID

delete_dns_forwarder_host_overrideA

Delete a DNS Forwarder host override by ID. WARNING: This is irreversible.

search_dns_forwarder_host_override_aliasesA

Search aliases for a DNS Forwarder host override

manage_dns_forwarder_host_override_aliasB

Add or remove an alias for a DNS Forwarder host override

apply_dns_forwarder_changesA

Apply pending DNS Forwarder changes

Use this after making changes with apply_immediately=False to batch-apply them.

get_dns_resolver_settingsA

Get the current DNS Resolver (Unbound) settings

Returns the full Unbound configuration including enable state, DNSSEC, forwarding mode, DHCP registration, and custom options.

update_dns_resolver_settingsC

Update DNS Resolver (Unbound) settings

search_dns_host_overridesB

Search DNS host overrides with filtering and pagination

create_dns_host_overrideB

Create a DNS host override entry

update_dns_host_overrideB

Update an existing DNS host override by ID

delete_dns_host_overrideA

Delete a DNS host override by ID. WARNING: This is irreversible.

search_dns_host_override_aliasesA

Search aliases for a specific DNS host override

search_dns_domain_overridesA

Search DNS domain overrides with filtering and pagination

create_dns_domain_overrideC

Create a DNS domain override entry

update_dns_domain_overrideA

Update an existing DNS domain override by ID

delete_dns_domain_overrideA

Delete a DNS domain override by ID. WARNING: This is irreversible.

search_dns_access_listsA

Search DNS Resolver access lists with pagination

create_dns_access_listA

Create a DNS Resolver access list entry

apply_dns_resolver_changesA

Apply pending DNS Resolver configuration changes

Sends a POST to the DNS Resolver apply endpoint to activate any pending host override, domain override, access list, or settings changes.

update_dns_access_listB

Update an existing DNS Resolver access list

delete_dns_access_listA

Delete a DNS Resolver access list. WARNING: This is irreversible.

search_firewall_rulesB

Search firewall rules with advanced filtering and pagination.

find_blocked_rulesA

Find all firewall rules that block or reject traffic

create_firewall_rule_advancedA

Create a firewall rule on the live pfSense appliance.

WARNING: This modifies the running firewall configuration.

move_firewall_ruleA

Move a firewall rule to a new position in the rule order

update_firewall_ruleA

Update an existing firewall rule by ID

delete_firewall_ruleA

Delete a firewall rule from the live pfSense appliance. WARNING: This is irreversible.

bulk_block_ipsA

Block multiple IP addresses on the live pfSense firewall. WARNING: Creates block rules.

apply_firewall_changesA

Force apply pending firewall changes and recompile the pf ruleset.

Use this after any firewall config change to ensure the compiled ruleset (/tmp/rules.debug) matches the configuration. The apply_immediately parameter on other tools doesn't always trigger full recompilation.

get_pf_rulesA

Read the compiled pf ruleset (/tmp/rules.debug) to verify what pf is actually enforcing vs what's in config.xml.

Returns the raw compiled rules that the packet filter is using.

search_firewall_schedulesB

Search firewall schedules with filtering and pagination

create_firewall_scheduleA

Create a firewall schedule with an initial time range.

The pfSense API requires at least one time range at creation. Use create_schedule_time_range to add further ranges afterwards.

update_firewall_scheduleB

Update an existing firewall schedule by ID

delete_firewall_scheduleA

Delete a firewall schedule by ID. WARNING: This is irreversible.

search_schedule_time_rangesA

Search time ranges within a firewall schedule

create_schedule_time_rangeA

Create a time range within a firewall schedule

update_schedule_time_rangeA

Update an existing time range within a firewall schedule by ID

delete_schedule_time_rangeA

Delete a time range from a firewall schedule by ID. WARNING: This is irreversible.

search_firewall_statesA

Search firewall states (active connections) with filtering and pagination

delete_firewall_stateA

Delete a specific firewall state (active connection) by ID. WARNING: This is irreversible.

Terminating a state will immediately drop the associated connection.

get_firewall_state_sizeA

Get the current firewall state table size and limits

Returns the current number of active states and the configured maximum.

get_firewall_advanced_settingsA

Get firewall advanced settings

Returns advanced firewall configuration including optimization mode, state timeout values, and other tuning parameters.

search_interface_configsB

Search interface configurations with filtering and pagination

create_interfaceC

Create (assign) a network interface

update_interfaceC

Update an existing interface by ID

delete_interfaceA

Delete (unassign) an interface by ID. WARNING: This is irreversible.

apply_interface_changesA

Apply pending interface changes

Use this after making changes with apply_immediately=False to batch-apply them.

search_vlansA

Search VLANs with filtering and pagination

create_vlanC

Create a VLAN

update_vlanA

Update an existing VLAN by ID

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/gensecaihq/pfsense-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server