Skip to main content
Glama
rstierli

FortiManager MCP Server

by rstierli

create_device_dhcp_server

Create a DHCP server scope on a managed FortiGate device, defining the interface, IP range, netmask, gateway, DNS servers, and lease time for client address assignment.

Instructions

Create a DHCP server scope in a device's device DB.

Args: device: Managed device name interface: Interface the scope serves (e.g. "vlan15") start_ip: First address of the lease range end_ip: Last address of the lease range netmask: Scope netmask (e.g. "255.255.255.0") default_gateway: Gateway handed to clients (defaults to the interface address if omitted, per FortiOS behavior) dns_servers: Up to three DNS servers to hand out; omitted means the device's system DNS is used (dns-service default) lease_time: Lease time in seconds vdom: VDOM the scope lives in (default "root")

Returns: Creation result including the new scope id

Input Schema

NameRequiredDescriptionDefault
vdomNoroot
deviceYes
end_ipYes
netmaskYes
start_ipYes
interfaceYes
lease_timeNo
dns_serversNo
default_gatewayNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.12.0

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It usefully discloses FortiOS defaulting behavior for default_gateway (interface address), dns_servers (system dns-service), and vdom ('root'), which the schema cannot convey. However it does not say whether the change is staged in the device DB and requires commit_adom/install to take effect, whether re-creating an overlapping scope errors, or what permissions are required.

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

Conciseness4/5

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

Purpose is front-loaded in one sentence, then a scannable args list where each line earns its place. The Returns line is slightly redundant given an output schema exists, and the wrapped default_gateway/dns_servers lines are a bit verbose, but nothing is filler.

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?

For a 9-parameter mutation tool with no annotations, the description covers purpose, all parameters, defaults, and return shape (with an output schema backing it). The remaining gap is deployment semantics — whether a commit/install step is needed for the scope to become active — which matters for a device DB write.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must do all the work, and it does: every one of the 9 parameters is explained with meaning, an example value ('vlan15', '255.255.255.0'), a cardinality limit (up to three DNS servers), a unit (lease time in seconds), and defaults. This is substantially more than the bare titles in the schema.

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

Purpose4/5

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

The opening line gives a specific verb+resource+scope: 'Create a DHCP server scope in a device's device DB.' That distinguishes it from the many other create_* siblings (interfaces, VAPs, IPsec phases). It stops short of naming the sibling it complements (update_device_dhcp_server / list_device_dhcp_servers) or the precondition that the device already be managed.

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

Usage Guidelines3/5

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

Usage is implied by the verb and the parameter set, and one behavioral hint is given for default_gateway ('per FortiOS behavior'). But there is no explicit when-to-use/when-not, no statement of prerequisites (device must exist in the ADOM/VDOM), and no mention of the list_device_dhcp_servers alternative for checking existing scopes.

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

Deploy Server

Other Tools