Skip to main content
Glama

validate_calendar_spec

Check a calendar spec and list everything wrong with it. Returns structured errors and warnings; it never throws and never partially accepts a spec. Errors mean the spec is unusable; warnings mean it is legal but probably not what was meant (a leap rule that changes no year's length, a moon that cycles every few hours). Use this before any other tool when you have written or edited a spec yourself. It is the only tool that accepts a malformed spec.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
calendarYes

TDQS

A4/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure and executes it well. It explicitly states it never throws, never partially accepts, and clearly distinguishes errors from warnings with illustrative examples. This goes well beyond what the schema or output schema would convey, giving the agent a precise behavioral contract.

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?

The description is appropriately sized and front-loaded with the core purpose. It flows logically from the action to the behavioral contract to usage guidance. It could benefit from more explicit structure (e.g., bullets for errors/warnings), but it remains concise and scannable without redundancy.

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?

Despite strong behavioral coverage, the description leaves critical gaps: it does not describe the input spec's structure (what fields a 'calendar spec' requires), nor does it detail the format of the structured errors/warnings (e.g., whether they are objects with codes, messages, etc.). It also does not state whether validation has side effects (unlikely but not clarified). For a tool an agent uses before any other, the lack of input definition is a significant omission that hampers correct invocation.

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

Parameters1/5

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

The input schema has a single parameter 'calendar' that is an untyped object with no defined properties, and schema description coverage is 0%. The description completely fails to compensate: it never explains what a valid calendar spec should contain (fields, data types, nesting) or how to construct the object. The only references to spec internals (leap rule, moon cycle) are examples of warning conditions, not input requirements. An agent has no guidance on how to build the calendar argument.

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?

The description clearly states the action ('Check a calendar spec and list everything wrong with it'), the resource (calendar spec), and the output (structured errors and warnings). It also explicitly differentiates itself from sibling tools by noting it is 'the only tool that accepts a malformed spec,' making its purpose unmistakable.

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

Usage Guidelines5/5

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

Provides explicit when-to-use guidance: 'Use this before any other tool when you have written or edited a spec yourself.' It also implies when not to use (i.e., after validation, other tools handle valid specs) and highlights its unique capability of accepting malformed specs, which directs an agent's tool selection accurately.

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.

TDQS

A3.9/5.0
Disambiguation4/5

Each tool targets a distinct calendar operation, and the descriptions carefully draw boundaries between related concepts. There is modest overlap: convert_date also reports a named period, and calendar_events can answer nth-weekday questions that overlap with nth_weekday_of_month, so an agent might occasionally pick the wrong entry point.

Naming Consistency3/5

All names are readable and consistently snake_case, but the set mixes verb-led names like convert_date and render_timeline with noun-led names like calendar_events and moon_phases, plus one prepositional verb in add_to_date. This is a readable mixture rather than a uniform verb_noun pattern.

Tool Count5/5

Fifteen tools sits at the upper end of the typical well-scoped range, but every tool fills a distinct role for an almanac-style server: date math, conversion, calendar queries, formatting, parsing, rendering, lunar and solar calculations, generation, and validation. The batched plural parameters also make the count feel intentional rather than bloated.

Completeness4/5

The surface covers the domain unusually well: conversion, arithmetic, events, periods, weekdays, format/parse, SVG rendering, moon phases, daylight, scattering, and validation all have dedicated tools. The main gap is introspection—there is no direct way to list a calendar spec's months, eras, week structure, periods, or formats beyond what other tools reveal through errors and outputs.

Resources