Skip to main content
Glama
ztemerbekov

A1 Yandex KIT MCP

Get customer

get_customer
Read-only

Retrieve a single customer by UUID to view profile details. Set redact:true to mask personal data when it is not needed.

Instructions

Get a single customer by their ID. birth_date (date only, no year-of-birth guarantee beyond what the buyer entered) is present only when the customer supplied it, and is read-only: UpdateCustomer has no such field. It is personal data — redact:true masks it along with name, phone, email and note.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesCustomer ID (UUID).
redactNoUse redact:true when the task does not need personal data (e.g. counting or aggregating orders) — personal fields (name, phone, email, date of birth, delivery address and its parts, notes) are replaced with "[redacted]". Applies to the response only; request bodies are never redacted. Default false.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.8.0
    • changedInput schema / properties / redact / description
      Previous value: -"Use redact:true when the task does not need personal data (e.g. counting or aggregating orders) — personal fields (name, phone, email, delivery address and its parts, notes) are replaced with \"[redacted]\". Applies to the response only; request bodies are never redacted. Default false."New value: +"Use redact:true when the task does not need personal data (e.g. counting or aggregating orders) — personal fields (name, phone, email, date of birth, delivery address and its parts, notes) are replaced with \"[redacted]\". Applies to the response only; request bodies are never redacted. Default false."
  2. Changed1 schema field changedv1.6.0
    • addedInput schema / properties / redact
      Added value: +{
      +  "description": "Use redact:true when the task does not need personal data (e.g. counting or aggregating orders) — personal fields (name, phone, email, delivery address and its parts, notes) are replaced with \"[redacted]\". Applies to the response only; request bodies are never redacted. Default false.",
      +  "type": "boolean"
      +}
  3. First observedv1.3.0

TDQS

A3.7/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=true, so the description usefully adds that birth_date appears only when the customer supplied it, that it is read-only (UpdateCustomer has no such field), and that redact:true masks it together with name, phone, email and note. That is real behavioral context beyond the safety hint, though nothing is said about error behavior for a missing ID.

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 the core action in the first clause, then supporting detail. Every sentence carries information, but the birth_date discussion is dense and dominates a description for a two-parameter read tool, slightly skewing emphasis away from the main job.

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?

There is no output schema, so the description must carry return-value meaning; it does explain the conditional presence and redaction behavior of returned fields. For a simple get-by-ID tool with fully documented parameters and a readOnly annotation, this is close to sufficient, with only error/not-found behavior left unaddressed.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters are already fully documented in the schema, establishing a baseline of 3. The description largely restates the redact masking behavior (name, phone, email, note) that the schema already lists, and its birth_date note describes a response field rather than an input parameter. Little net-new parameter meaning.

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?

States a specific verb and resource with scope: 'Get a single customer by their ID.' This clearly separates it from list_customers and get_customer_orders, though it never names those siblings explicitly. The rest of the description pivots to field semantics rather than reinforcing the core purpose.

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 gives conditional guidance for the redact parameter ('use redact:true when the task does not need personal data'), which is parameter-level usage rather than tool selection. It never says when to call get_customer versus list_customers or get_customer_orders. Usage is implied by 'single customer by ID' but not stated.

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

Deploy Server

Other Tools