Skip to main content
Glama

tc_calendar

Navigate calendar fields to a specific date or move to the next or previous month/year when testing 1C:Enterprise forms.

Instructions

Actions on type="CalendarField" only. For a regular date input field, use tc_field(action="input_text"). Also available: tc_field(action="is_visible"), tc_field(action="is_enabled"), tc_field(action="get_context_menu"), tc_app(action="get_parent").

  • marks a required action parameter; the group schema treats action parameters as optional. Pass action="name" and only that action's parameters. ok=true means accepted; verify effects by reading state. target_check: present, unknown (uncheckable), off (disabled); present does not prove an effect. target_hidden=true means the target exists but is invisible; it describes the element, not its ancestors. Its absence says nothing; hidden targets may still act (e.g. activate). Invalid addresses are rejected only where the address can be checked; an unverified empty read may mean a missing target. failure_context describes state/editor/choices; its complete=false means incomplete diagnostics. Actions:

  • calendar_next_month(ref*) Move a calendar field to the next month. The command is accepted, but nothing readable about the field changes, so this cannot be verified. To move the date use tc_calendar(action="goto_date").

  • calendar_next_year(ref*) Move a calendar field to the next year. The command is accepted, but nothing readable about the field changes, so this cannot be verified. To move the date use tc_calendar(action="goto_date").

  • calendar_previous_month(ref*) Move a calendar field to the previous month. The command is accepted, but nothing readable about the field changes, so this cannot be verified. To move the date use tc_calendar(action="goto_date").

  • calendar_previous_year(ref*) Move a calendar field to the previous year. The command is accepted, but nothing readable about the field changes, so this cannot be verified. To move the date use tc_calendar(action="goto_date").

  • goto_date(ref*, year*, month*, day*) Go to a date (year, month, day) in a calendar field. Returns changed/value_before/value_after. ref selects the client; otherwise set connection_id when several clients are connected. Use tc_session(action="list_connections"). Success may omit target/connection echoes and shorten window details. Use returned references unchanged in ref; re-find expired elements.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dayNo
refNo
yearNo
monthNo
actionYes
connection_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.5/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 a lot: ok=true means 'accepted, not verified', the target_check states (present/unknown/off), target_hidden semantics, invalid-address rejection limits, failure_context.complete, and the fact that the four month/year actions are unverifiable. Some of that preamble reads as generic framework boilerplate rather than calendar-specific, which slightly dilutes the added value, but the per-action disclosures (goto_date returns changed/value_before/value_after) are genuinely useful.

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 scope and sibling routing, then a clean action list. The caveat paragraph is dense but relevant, though the identical 'accepted, but nothing readable changes, so this cannot be verified' sentence is repeated verbatim for four actions and the general preamble is long, costing some efficiency.

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?

No annotations and no output schema, with six parameters at 0% schema coverage, so the description is the only source of truth — and it covers action inventory, ref/connection resolution, verification caveats, and return-field names. It omits details such as whether goto_date requires an open calendar popup or the indexing/ranges for month and day, which keeps it just short of fully complete.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate. It explains that ref selects the client, that connection_id is the alternative when multiple clients are connected, that '*' marks the action's required params, and it ties year/month/day to goto_date. It stops short of giving formats or valid ranges for year/month/day, so it is strong but not complete.

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 opening line states a precise verb+resource+scope: 'Actions on type="CalendarField" only', and immediately separates this tool from the sibling that handles ordinary date inputs (tc_field(action="input_text")). Each action is enumerated with a one-line behavioral description, so an agent knows exactly which actions exist without opening the schema.

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?

Routing is explicit: use tc_field(action="input_text") for regular date fields, and use tc_calendar(action="goto_date") rather than the month/year navigation actions when the goal is actually to set a date. It also names the discovery path (tc_session(action="list_connections"), tc_app(action="get_parent")) for related needs, leaving little to inference.

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