pfSense MCP Server
by Jean89899
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_HOST | No | Bind address for HTTP mode | 127.0.0.1 |
| MCP_PORT | No | Port for HTTP mode | 3000 |
| LOG_LEVEL | No | Log level: DEBUG, INFO, WARNING, or ERROR | INFO |
| VERIFY_SSL | No | Set to false to disable certificate checking entirely; prefer PFSENSE_CA_FILE | true |
| API_TIMEOUT | No | API request timeout in seconds | 30 |
| AUTH_METHOD | No | Authentication method: api_key, basic, or jwt | api_key |
| MCP_API_KEY | No | Bearer token for HTTP transport; required when MCP_TRANSPORT=streamable-http | |
| PFSENSE_URL | Yes | The pfSense URL, for example https://192.168.1.1 | |
| MCP_AUDIT_LOG | No | Path to audit log file in JSON lines format | |
| MCP_BIND_ADDR | No | Docker Compose only: host address the published port binds to | 127.0.0.1 |
| MCP_READ_ONLY | No | Set to true to expose only read-only tools | false |
| MCP_TRANSPORT | No | Transport mode: stdio or streamable-http | stdio |
| ENABLE_HATEOAS | No | Enable HATEOAS links in API responses | false |
| PFSENSE_API_KEY | No | pfSense REST API key, used when AUTH_METHOD=api_key | |
| PFSENSE_CA_FILE | No | Path to a PEM file for pfSense's private/self-signed CA so certificate verification stays enabled | |
| PFSENSE_VERSION | No | pfSense version. Current values include CE_2_8_1, CE_2_9_0, PLUS_25_11_1, PLUS_26_03, PLUS_26_03_1, PLUS_26_07. Legacy values still accepted: CE_2_8_0, PLUS_24_11, PLUS_25_11, CE_26_03 | CE_2_8_1 |
| RESPONSE_FORMAT | No | Response format. Set to gcf to re-encode eligible tool results as Graph Compact Format | json |
| PFSENSE_PASSWORD | No | pfSense password, used when AUTH_METHOD=basic or AUTH_METHOD=jwt | |
| PFSENSE_USERNAME | No | pfSense username, used when AUTH_METHOD=basic or AUTH_METHOD=jwt | |
| MCP_ALLOWED_TOOLS | No | Comma-separated allowlist of write tools. Read tools remain available; get_log_file is controlled by MCP_ENABLE_LOG_FILES | all |
| MCP_ALLOWED_ORIGINS | No | Comma-separated allowed origins | localhost |
| MCP_ROLLBACK_BUFFER | No | Number of rollback entries kept in memory | 50 |
| MCP_ENABLE_LOG_FILES | No | Set to false to remove get_log_file, which reads raw /var/log/* files | true |
| MCP_RATE_LIMIT_CREATE | No | Maximum creates per 60 seconds | 20 |
| MCP_RATE_LIMIT_DELETE | No | Maximum deletes per 60 seconds | 10 |
| MCP_RATE_LIMIT_UPDATE | No | Maximum settings changes per 60 seconds | 30 |
| MCP_RATE_LIMIT_CRITICAL | No | Maximum critical operations per 300 seconds | 2 |
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
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
No tools | |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
This server cannot be deployed
Maintenance
ActivityActive
ResponsivenessResponsive