Skip to main content
Glama
gensecaihq

pfSense MCP Server

by gensecaihq

create_firewall_schedule

Create a pfSense firewall schedule with an initial time range, supporting weekly, monthly, or yearly recurrence. Apply changes immediately.

Instructions

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dayNoDays of month pairing with `month` (e.g., month=[12], day=[25] for every Dec 25)
hourYesStart/end time for the initial time range in 24-hour format (e.g., "8:00-17:00")
nameYesSchedule name (alphanumeric and underscores only)
descrNoOptional description
monthNoMonths (1-12) for specific calendar dates; each entry pairs with the same-index `day` entry
positionNoDays of week for a weekly-recurring range (1=Monday ... 7=Sunday, e.g., [1,2,3,4,5]). Required unless month/day are given.
rangedescrNoDescription for the initial time range
schedlabelNoOptional schedule label
apply_immediatelyNoWhether to apply changes immediately

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations report readOnlyHint=false and destructiveHint=false, providing no safety profile. The description adds a meaningful constraint (API requires at least one time range), but does not disclose other behavioral aspects like apply_immediately semantics, validation errors, or the relationship between initial and subsequent ranges. It provides some context beyond annotations but not rich detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, front-loaded with the primary purpose, and provides a key constraint plus an alternative in a compact form. Every sentence earns its place with no redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the rich schema (100% parameter coverage) and output schema, the description covers the essential creation constraint (initial time range required) and points to the sibling for extending ranges. It stops short of explaining all edge cases, but is sufficient for a create tool with such detailed structured metadata.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 9 parameters completely. The description adds minimal parameter-level meaning, only mentioning the 'initial time range' concept which maps to the hour parameter already documented in the schema. No additional semantic value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Create') and resource ('firewall schedule'), and explicitly distinguishes this tool from create_schedule_time_range by noting it creates the initial time range. This clearly differentiates it from the sibling tool that adds further ranges.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly states when to use this tool (creating a schedule with an initial time range) and names the alternative for adding more ranges (create_schedule_time_range). It also discloses the API requirement that at least one time range must exist at creation, giving clear contextual guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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