Skip to main content
Glama

schedule_report

Schedule an existing report to send automatically, weekly or monthly, to a list of recipients. Requires MCP write actions; without confirm:true it returns a preview and changes nothing.

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": {
      "reportId": "<reportId>",
      "frequency": "<frequency>",
      "recipients": "<recipients>"
    },
    "name": "schedule_report"
  }
}

Input Schema

NameRequiredDescriptionDefault
hourNoHour of day to send, 0–23, in the workspace's time zone (Settings → Preferences; daylight saving included). Default 8.
confirmNoSet true to apply. Omit for a preview. With confirm:true, also pass the preview's previewToken.
reportIdYesReport id (from list_reports).
dayOfWeekNoWeekly only: 0=Sunday … 6=Saturday (default Monday).
frequencyYesHow often to send.
dayOfMonthNoMonthly only: day 1–28 (default 1).
recipientsYesEmail addresses to send the report to.
previewTokenNoWith confirm:true: the previewToken from this tool's preview (valid 15 minutes, once, for exactly the previewed arguments).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • removedInput schema / properties / recipients / items / format
      Removed value: -"email"
    • addedInput schema / properties / recipients / items / maxLength
      Added value: +254
    • changedInput schema / properties / recipients / items / pattern
      Previous value: -"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"New value: +"^[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[A-Za-z0-9\\u00a1-\\uffff](?:[A-Za-z0-9\\u00a1-\\uffff-]{0,61}[A-Za-z0-9\\u00a1-\\uffff])?\\.)+(?:[A-Za-z\\u00a1-\\uffff]{2,63}|xn--[A-Za-z0-9-]{1,59})$"
  2. Changed3 schema fields changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / recipients / items / pattern
      Added value: +"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
  3. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=false, but they cannot convey the two-phase preview/confirm protocol. The description supplies exactly that, telling the agent the call is inert without confirm:true. It does not say what happens when a schedule already exists (replace vs. add) or what the preview returns, which keeps it off a 5.

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

Conciseness5/5

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

Two sentences, zero waste. The purpose and cadence come first, then the confirm safety gate, which is the single most important thing an agent must know before calling it.

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 an 8-parameter mutation with no output schema, the description plus the fully documented schema covers what an agent needs to construct a correct preview-then-apply call. The remaining gap is outcome semantics — whether scheduling replaces an existing schedule and what the preview payload contains.

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%, with hour, dayOfWeek, dayOfMonth, confirm, and previewToken all documented in the schema itself, so the baseline is 3. The description reinforces the confirm/preview-token flow at a high level but adds no format or constraint detail beyond the schema.

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?

"Schedule an existing report to send automatically, weekly or monthly, to a list of recipients" gives a specific verb (schedule), resource (an existing report), and cadence, which implicitly separates it from create_report and send_report. It stops short of naming send_report as the one-off alternative, so the differentiation is inferable rather than explicit.

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?

The description states the operational gate clearly: it requires MCP write actions, and without confirm:true it returns a preview and changes nothing — so an agent knows the safe first call is a preview. What's missing is guidance on when to choose this versus send_report or update_report_settings, and no explicit when-not conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources