Skip to main content
Glama

create_monthly_report

Generate a structured monthly report note from a template, saving it to the journal with automatic date organization. Supports custom date ranges and additional variables, without overwriting existing reports.

Instructions

Create a monthly report note from the configured template.

Creates a structured monthly report in Journal/YYYY/Monthly/YYYY-MM.md. If the note already exists, returns a message without overwriting.

Args: period: Reporting period in YYYY-MM format. Defaults to current month. period_start: Optional custom start date (YYYY-MM-DD) for non-calendar periods. period_end: Optional custom end date (YYYY-MM-DD) for non-calendar periods. extra_vars: Optional dictionary of additional template variables.

Returns: Result of the creation or message if note already exists.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
periodNo
extra_varsNo
period_endNo
period_startNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.1

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and discloses key side effects: it writes to a specific path, does not overwrite an existing note (returns a message instead), and defaults the period to the current month. It stops short of detailing template configuration or folder creation, but core mutation behavior is transparent.

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?

Well-organized with Args and Returns sections, making it easy to scan. The only minor redundancy is that the first sentence restates what the second sentence already says, but overall every section earns its place.

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?

Covers purpose, target path, overwrite behavior, and parameter semantics; since an output schema exists, detailed return descriptions are not required. It is slightly thin on usage boundaries and what 'configured template' refers to, but adequate for this tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description fully compensates by documenting all four parameters with formats, defaults, and semantics: period (YYYY-MM, defaults to current month), period_start/period_end (YYYY-MM-DD for non-calendar periods), and extra_vars (dictionary of additional template variables).

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 ('Create') and resource ('monthly report note') with a concrete target path (Journal/YYYY/Monthly/YYYY-MM.md). This clearly distinguishes it from sibling note-creation tools like create_daily_note and create_weekly_note.

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?

No explicit guidance on when to choose this tool over alternatives like create_daily_note or create_weekly_note. The monthly scope and path imply the intended use case, and the description covers the no-overwrite behavior, but the routing guidance is only implicit.

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