Skip to main content
Glama
mdemirn

FortiGate MCP Server

by mdemirn

create_address_object

Creates IP-mask, IP-range, or FQDN address objects on a FortiGate device for use in firewall policies and security rules.

Instructions

Create a new address object on a FortiGate device.

This tool adds a new network address object that can be used in firewall policies and other security rules.

Parameters:

  • device_id: Identifier of the FortiGate device

  • address_data: Address object configuration as JSON

  • vdom: Virtual Domain name (optional, uses device default)

Address data should include:

  • name: Object name

  • type: ipmask, iprange, or fqdn

  • subnet: IP/netmask (for ipmask type)

  • start-ip/end-ip: IP range (for iprange type)

  • fqdn: Domain name (for fqdn type)

  • comment: Optional description

Returns:

  • Creation status

  • Object configuration summary

Input Schema

NameRequiredDescriptionDefault
vdomNoVirtual Domain
device_idYesFortiGate device identifier
address_dataYesAddress object configuration

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A4.1/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 discloses that this is a create operation and summarizes return values, but it does not cover permissions, duplicate-name behavior, or failure modes for a mutation tool.

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?

The description is front-loaded and organized into purpose, parameters, address_data guidance, and returns. It is efficient, though it repeats some schema parameter names and could be slightly tighter.

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 create tool with no output schema and no annotations, it covers purpose, required inputs, optional vdom behavior, address_data fields, and expected returns. It still omits duplicate handling and permission requirements, which would fully round out the behavioral context.

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

Parameters4/5

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

Top-level parameter descriptions already have 100% schema coverage, establishing a baseline of 3. The description adds meaningful semantics for the nested address_data object by listing supported fields and their purposes, which the schema leaves generic via additionalProperties.

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 and resource: create a new address object on a FortiGate device. It also clarifies the object's role in firewall policies, distinguishing it from sibling operations like list, update, and delete address objects.

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

Usage Guidelines4/5

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

It clearly frames the tool as adding a new network address object usable in security rules, which gives an agent a clear use context. It does not explicitly say when to use update_address_object instead or how to handle existing objects, so it lacks exclusion guidance.

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