Skip to main content
Glama

tc_scenario

Record and replay UI scenarios for 1C:Enterprise test clients. Capture real user actions and replay them to automate testing or reproduce workflows.

Instructions

Record and replay UI scenarios. In the signatures below a trailing * marks a REQUIRED parameter — the group schema itself accepts every parameter as optional. Actions:

  • record_cancel() Cancel user-actions recording (discard the scenario). (1C 8.3.2+)

  • record_finish(path=null) Stop recording and return the scenario XML in 'uilog', or write it to path, resolved against the SERVER working directory and echoed back absolute. If the file cannot be written the answer carries ok=false, the path, the reason AND the scenario in 'uilog' — recording is already stopped, so a second call will not give it back. lost_actions: actions that could not be captured, so the scenario is incomplete for replay. no_effect: calls whose value came back unchanged — a hint to check, not a verdict, and it numbers CALLS, not steps of the XML. observed/not_observed count the calls whose result could and could not be read back; readback/scope say whether reading back was on at all and how wide it reached. An empty no_effect with zero observed means nothing was checked. (1C 8.3.2+)

  • record_pause() Pause user-actions recording: actions performed until tc_scenario(action="record_resume") stay out of the scenario. (1C 8.3.2+)

  • record_resume() Resume user-actions recording. (1C 8.3.2+)

  • record_start() Start recording a scenario (uilog) that tc_scenario(action="run_scenario") can replay later. Perform the real, effect-producing actions between start and tc_scenario(action="record_finish"), then read the scenario from finish. (1C 8.3.2+)

  • run_scenario(uilog=null, path=null) Replay a recorded uilog scenario on the current form. Give the XML in uilog or a path to a file with it. Steps that could not be replayed are listed in unsupported. total counts every step in the scenario; played counts the ones actually attempted, REGARDLESS of how they went, so a failed step is still counted. Neither is a count of effects: ok says every attempted step was accepted, and the effect of a step is in steps[].changed, the same contract as when you call the action directly. connection_id selects the client. With several clients, connection_id is required. Use tc_session(action="list_connections").

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathNo
uilogNo
actionYes
connection_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries full behavioral burden and does so substantially: it explains file path resolution, the error handling for record_finish, the lost_actions and no_effect fields, readback scope, and the replay step counting nuances (played vs ok, changed). This is far more than typical. A 4 is appropriate because it is candid about failure modes and semantics, though it does not cover authentication or concurrency constraints.

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

Conciseness3/5

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

The description is dense and front-loaded with the purpose, but it is long and some sentences are nested with complex clauses. The per-action documentation is necessary but could be more structured. It is not bloated, but it could be more scannable.

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?

Given the complexity (multi-action tool, 4 parameters, no output schema), the description is largely complete. It explains the workflow, error conditions, return value nuances, and connection handling. It does not describe the exact shape of the return object (e.g., whether it returns a dict with 'ok', 'uilog', etc.), but it references those fields by name. The lack of an output schema is somewhat mitigated by field-level descriptions.

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, and it does: it explains path resolution (server working directory, absolute path echoed), the uilog parameter format (XML scenario), and connection_id selection. The action parameter's enum is already in the schema, but the description adds semantics for each action. The only minor gap is not describing default behaviors when parameters are omitted.

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?

The first sentence states clearly what the tool does: record and replay UI scenarios. Each action is enumerated with its own specific verb and semantics. The scoring is 4 rather than 5 because it does not explicitly distinguish itself from sibling tools like tc_session or tc_form, though the resource (UI scenarios) is clear.

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 provides strong usage context: record_start/record_finish/run_scenario workflow is described in record_start and record_finish. It also notes that connection_id is required with multiple clients, and points to tc_session(action='list_connections') for finding connections. The only gap is the absence of explicit when-not-to-use guidance or alternative tools for similar tasks.

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