Skip to main content
Glama
Lynsoft

fortimail-mcp-server

by Lynsoft

Generate Mail Statistics Report

fortimail.reports.generate.mail_stats

Generate FortiMail mail statistics reports by providing a task name, enabling AI agents to analyze email security metrics and traffic.

Instructions

Purpose: POST /v1/reports/mail-stats.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
task_nameYesTask mmkey e.g. Daily_Stats

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

C2/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=true, and the description adds nothing to that profile. It does not disclose whether the report is generated asynchronously, what the task_name keys against, whether results must be fetched via `reports.download`/`reports.list`, or any rate/permission constraints. It contradicts nothing, but contributes no behavioral context.

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

Conciseness2/5

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

It is a single brief line, but this is under-specification rather than conciseness: nothing is front-loaded except the HTTP verb and path, and the one sentence carries no actionable information for an agent.

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

Completeness2/5

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

For a report-generation tool with no output schema, the description should explain what is produced and how to retrieve it, and it explains neither. The presence of `reports.list` and `reports.download` siblings strongly suggests a two-step workflow that is entirely undisclosed.

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% and there is a single required parameter, so the schema already documents `task_name` with an example (`Daily_Stats`). Baseline 3 applies since the description adds no additional meaning about the parameter.

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

Purpose2/5

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

The description only restates the underlying HTTP endpoint (`POST /v1/reports/mail-stats`), which is a tautology rather than a statement of what the tool does in domain terms. It gives no way to distinguish this from its close siblings `reports.generate.domain_mail_stats` and `reports.generate.mailbox_stats`, which differ only by scope.

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

Usage Guidelines1/5

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

There is no when-to-use guidance, no exclusions, and no routing to alternatives such as the domain-level or mailbox-level report generators. An agent must guess which of the three report-generation siblings applies.

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