Skip to main content
Glama
mdemirn

FortiGate MCP Server

by mdemirn

create_virtual_ip

Create a FortiGate Virtual IP object to enable port forwarding, NAT, and external access to internal services. Define external IP, mapped internal IP, interface, and optional port forwarding rules.

Instructions

Create a new Virtual IP on a FortiGate device.

This tool adds a new Virtual IP object that can be used for port forwarding, NAT, and external access to internal services.

Parameters:

  • device_id: Identifier of the FortiGate device

  • name: Virtual IP name

  • extip: External IP address

  • mappedip: Mapped internal IP address

  • extintf: External interface name

  • portforward: Enable/disable port forwarding (default: disable)

  • protocol: Protocol type (tcp/udp, default: tcp)

  • extport: External port (optional)

  • mappedport: Mapped port (optional)

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

Returns:

  • Creation status

  • Virtual IP configuration summary

Input Schema

NameRequiredDescriptionDefault
nameYesVirtual IP name
vdomNoVirtual Domain
extipYesExternal IP address
extintfYesExternal interface name
extportNoExternal port
mappedipYesMapped internal IP address
protocolNoProtocol typetcp
device_idYesFortiGate device identifier
mappedportNoMapped port
portforwardNoEnable/disable port forwardingdisable

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It states that a new object is added and lists basic returns, but does not disclose permission/auth requirements, duplicate-name behavior, dependency constraints, idempotency, or whether creation is reversible.

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 with purpose and usage, then uses a structured parameter list and returns section. It is readable, but the parameter list largely repeats schema descriptions that already have 100% coverage.

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

Completeness3/5

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

It covers purpose, use cases, all parameters, defaults, and a basic return summary, which is enough to attempt invocation. However, for a mutation tool with no annotations and no output schema, it does not address prerequisites, authorization, or failure modes.

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?

Schema description coverage is 100%, so the baseline is 3. The description adds some meaning beyond the schema by naming protocol values (tcp/udp), stating that portforward defaults to disable, and noting extport, mappedport, and vdom as optional, though it does not detail IP/port formats or parameter interdependencies.

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?

States a specific verb 'Create' and resource 'Virtual IP' on a FortiGate device, and explains the object's role in port forwarding, NAT, and external access. It is clear but does not explicitly differentiate itself from sibling list/update/delete virtual IP tools.

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?

Offers use cases for the created object, which implies when to use the tool, but gives no explicit when-to-use guidance versus alternatives such as update_virtual_ip, list_virtual_ips, or create_firewall_policy. It also omits prerequisites like device reachability or interface existence.

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