Skip to main content
Glama
FortiManager MCP Server

FortiManager MCP Server

by rstierli

list_policy_blocks

Lists reusable policy blocks in a specified ADOM so you can identify each block and then retrieve its individual policies.

Instructions

List the policy blocks of an ADOM.

A policy block is a reusable set of policies. A package shows it as a single entry with _policy_block and empty fields; read its policies with list_policy_block_policies.

Args: adom: ADOM name

Returns: dict: status, count, blocks, or message on failure

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "adom": "<adom>"
    },
    "name": "list_policy_blocks"
  }
}

Input Schema

NameRequiredDescriptionDefault
adomYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.13.1

TDQS

A4.1/5.0
Behavior4/5

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

No annotations exist, so the description carries the full behavioral burden, and it does disclose a genuine gotcha: blocks can appear as entries with ``_policy_block`` and empty fields in package context. It also states the likely failure shape (message on failure) and implies a read-only list operation. It does not address pagination, permissions, or whether all blocks are always returned.

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?

Front-loaded with the core action, followed by a short clarifying paragraph and clean Args/Returns sections. Every sentence contributes, though the Returns block is somewhat redundant given an output schema exists.

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 one-parameter list tool with an output schema, this covers purpose, a key ambiguity about package representation, and the follow-up tool. Missing only minor operational details like pagination or ADOM validity constraints.

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?

The single parameter has 0% schema description coverage, so the description should compensate, but "adom: ADOM name" only restates the parameter name. No format, example, or note on what happens with an invalid ADOM is provided. Useful but minimally so for a one-parameter tool.

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?

States a specific verb and resource ("List the policy blocks of an ADOM") and goes further by defining what a policy block is and how it appears inside a package. An agent can distinguish this from list_policy_block_policies and from package-level listing tools without opening a schema.

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 tells the agent when to use a sibling instead: to read the actual policies inside a block, call list_policy_block_policies. That is real routing guidance, and the note that a package shows a block as a single entry with empty fields explains an otherwise confusing outcome. It stops short of an explicit when/when-not statement against other list tools such as list_policy_revisions.

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