Skip to main content
Glama
mdemirn

FortiGate MCP Server

by mdemirn

lookup_route

Queries the FortiGate routing table to show which route, interface, and gateway reach a destination IPv4 address.

Instructions

Ask the routing table which route, interface and gateway reach a destination (monitor/router/lookup).

Parameters:

  • device_id: Identifier of the FortiGate device

  • destination: Destination IPv4 address

  • vdom: Virtual Domain name (optional)

Returns:

  • Matched route details (interface, gateway, type, distance, metric)

Input Schema

NameRequiredDescriptionDefault
vdomNoVirtual Domain
device_idYesFortiGate device identifier
destinationYesDestination IPv4 address

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the disclosure burden. It does usefully signal a read-only query against the routing table and enumerates what fields come back (interface, gateway, type, distance, metric), but it does not mention permissions, VDOM scoping behavior, or what happens when no route matches.

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

Conciseness3/5

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

The purpose line is front-loaded and efficient, and the Returns section earns its place given there is no output schema. The Parameters block, however, duplicates schema content and adds bulk without value, slightly dragging down an otherwise well-structured definition.

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?

With no output schema, the Returns section usefully compensates by naming the fields an agent should expect. Combined with a precise one-line purpose statement, an agent has enough to call this correctly, though the lack of guidance on no-match behavior and VDOM scoping leaves a small gap.

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 device_id, destination, and vdom. The Parameters section in the description essentially restates those schema descriptions verbatim with no added syntax, format, or defaulting guidance, so the baseline 3 is appropriate.

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 description states a specific verb (lookup) and resource (route) and explains the question the tool answers: which route, interface, and gateway reach a destination. This is clear and distinct in phrasing, though it does not explicitly distinguish itself from close siblings like get_routing_table or lookup_policy.

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 'reach a destination' and the '(monitor/router/lookup)' endpoint hint, giving an agent a reasonable idea of when to reach for it. However there are no explicit when/when-not statements and no mention of the alternative siblings (get_routing_table, lookup_policy), which are easy to confuse with this tool.

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