Skip to main content
Glama

read_record

Reads all attribute values of an existing 1C catalog or document record by its reference link, decoding strings, numbers, dates, and enums natively without per-form capture.

Instructions

Read the actual object-attribute VALUES of an EXISTING POPULATED catalog/document RECORD natively (no per-form capture). Opens the record's form by its reference navigation link (e1cib/data/<record_type>?ref=<ref>) and value-reads every object attribute, decoding the canonical «стал равен» value (string / number / date / enum-presentation / UTF-16; ASCII + Cyrillic). record_type is the metadata full name (e.g. Справочник.Товары); ref is the object's reference UUID — pass the natural dashed form (the OData Ref_Key / УникальныйИдентификатор, e.g. a7a30aaf-321b-11dd-8d3a-000d8843cd1b) and it is auto-encoded to the e1cib hex token, or pass the 32-hex token directly. Returns {opened, record_type, ref, fields {name: value}, field_count, elements, element_count} (+ a Gherkin state block when gherkin).

Live-verified (against OData): Товары/«Доставка» -> {Наименование: «Доставка», Код: «000000037», Вид: «Услуга», Родитель: «Услуги», …} (12 attribute values); Контрагенты/«Покупатели» -> {Наименование: «Покупатели», Код: «000000002»}. The reference-link ref encoding (UUID groups g4·g5·g3·g2·g1) was decoded from the genuine open-card capture.

COLD-CLIENT BOUNDARY: small / catalog-group (ФормаГруппы) record forms read reliably on a freshly launched client. A LARGE item form (e.g. an 80-element Товар card) materialises its attribute DATA only once the client PROCESS has fully opened a form at least once — the first cold open enumerates the element tree but the per-field reads echo with no value (field_count 0 with element_count > 0). To read a large record cold, WARM the client first with one read of a DIFFERENT record (any small/group record), then read the target; re-opening the SAME record does not help (a 2nd same-caption window breaks newest-window detection). This is the same cold-client boundary the dynlist reads observe.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
refYes
hostNo127.0.0.1
portNo
gherkinNo
capture_dirNotm-v1-ro-batchQ3
record_typeYes
manager_templatesNo/app/src/qa_mcp/_bundled/8.3/templates/value_read_templates.json

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so thoroughly: it discloses the reference-link/URL encoding mechanism, the auto-encoding of the dashed UUID to the e1cib hex token, the exact return shape, and the cold-client failure mode (field_count 0 with element_count > 0, and that re-opening the same record does not help). These are non-obvious behavioral traits an agent could not infer from structured fields.

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 first sentence front-loads the purpose well, but the body is dense and overstuffed with bilingual examples, encoding history, and a live-verified sample that go beyond what an agent needs to call the tool. It earns more of its length than a typical spec, yet still reads as heavier than necessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, yet the description still supplies the failure-mode and pre-warming guidance that the schema cannot express, and the complexity of native COM automation warrants it. For this tool's complexity, nothing an agent needs to invoke it correctly — encoding, required inputs, and cold-client caveat — is missing.

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 for the semantically important parameters: record_type (metadata full name, e.g. Справочник.Товары), ref (natural dashed UUID form auto-encoded, or raw 32-hex token), and gherkin (adds a Gherkin state block). The remaining four parameters (host, port, capture_dir, manager_templates) are undocumented, but they are infrastructure defaults rather than the values an agent must reason about.

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 precise verb+resource: read the object-attribute VALUES of an existing populated catalog/document record, and explicitly frames it as 'natively (no per-form capture)'. This differentiates it from form-based readers in the sibling set such as read_form_descriptor and the form-value reads. An agent knows exactly what data this returns without opening another schema.

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?

The description explains the operating condition for success (warm the client with a different record before reading a large cold record) but never names a sibling tool or an explicit 'use X instead when Y' rule. The 'no per-form capture' phrase implies an alternative but leaves the selection to inference. Adequate, but not the explicit when/when-not routing a 5 requires.

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