Skip to main content
Glama
ztemerbekov

A1 Yandex KIT MCP

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
YANDEX_KIT_TOKENYesYour Yandex KIT API token, used to authenticate with the Yandex KIT API

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
search_operationsA

Search the full catalog of all 162 Yandex KIT API operations by keyword. Matches operationId, URL path, tag and Russian summary/description (the API docs are in Russian, so Russian keywords like "категории" work too). Any operation found here can be executed with kit_request; use get_operation_schema to inspect its parameters and body shape first.

get_operation_schemaA

Get full metadata for one KIT API operation by operationId: HTTP method, path, path/query parameters, request content type, pagination info, and the fully dereferenced JSON schemas of the request body and response. Call this before kit_request or any create/update tool to learn the exact body shape.

kit_requestA

Escape hatch that executes ANY of the 162 Yandex KIT API operations by operationId, including operations without a dedicated tool. WARNING: this performs REAL calls against the live store — write operations (create/update/delete/archive) take effect immediately and there is no sandbox. Workflow: search_operations -> get_operation_schema -> kit_request. The request body is validated against the OpenAPI schema before sending (set validate=false to skip).

get_storeA

Get information about the current store (id, slug, b2c_url). Operation: GetStore.

get_current_userA

Get the user that owns the API token. Operation: GetCurrentUser.

get_regionsA

Get the list of geographic regions (countries, regions, cities). Each region has an id, a name and a parent region id, forming a hierarchy. Operation: GetRegions.

list_productsA

List products of the store (paginated). A product groups one or more variants (SKUs) and links them to categories.

get_productA

Get a single product by its ID, including its category bindings.

create_productA

Create a new product. Requires category_ids (array of category UUIDs, at least one). Call get_operation_schema("CreateProduct") for the exact request shape.

update_productA

Update an existing product (plain JSON PATCH, not merge-patch). Passing category_ids fully replaces the product's category list. Call get_operation_schema("UpdateProduct") for the exact request shape.

list_variantsA

List variants (sellable items / SKUs) of the store, with optional filters (paginated). By default the API returns variants of all statuses except ARCHIVED. Known KIT API defect: ARCHIVED is silently stripped from the status filter, so archived variants cannot be listed (only read by ID via get_variant); the tool detects this and fails with STATUS_FILTER_IGNORED, ARCHIVE_READ_UNSUPPORTED or MIXED_ARCHIVED_FILTER_UNSUPPORTED (for filters mixing ARCHIVED with other statuses) instead of returning the wrong catalog slice.

get_variantA

Get a single variant by its ID (name, SKU, pricing, stocks, media, status).

create_variantA

Create a new variant (sellable item) under an existing product. Required: name and product_id. media holds images and at most ONE video: a video entry is accepted only when the same media list also carries at least one image, and its video_id must already be READY (upload_video / upload_video_from_url, then poll get_video). Call get_operation_schema("CreateVariant") for the exact request shape (pricing, stocks, media, ...).

update_variantA

Update an existing variant via JSON Merge Patch: send only the fields to change (e.g. pricing or stocks). No field of UpdateVariantRequest is nullable, so null values are rejected by validation before any call — to clear a price, use bulk_update_prices (its price/manual_discount_price accept null). media is an exception to merge-patch granularity: sending it REPLACES the whole list, so resend the existing images alongside anything you add. At most ONE video per variant, and a video is accepted only when the same list carries at least one image — sending a video alone wipes the images and fails. stocks replaces the whole list too. Call get_operation_schema("UpdateVariant") for the exact request shape — but ignore its prose for stocks: upstream the spec pasted the media wording there, while the field still takes VariantStock entries (per-warehouse quantities).

bulk_update_pricesA

Update prices of up to 5000 variants in one synchronous, atomic request — the fast path for syncing a whole catalog instead of calling update_variant per item. If a single item is invalid (variant unknown or archived, variant listed twice, price malformed, discount price above the base price) the whole request is rejected with 400 and NOTHING is applied; the response errors list names every offending variant. Both price fields are optional per item: omit a key to keep the current value, or send null to reset it (resetting price works only on unpublished variants). Changing price recomputes the promo price; promo membership is refreshed in the background afterwards.

variant_actionA

Archive a variant (soft delete: status becomes ARCHIVED, item is hidden from the storefront but restorable) or unarchive it (status becomes HIDDEN; publish it afterwards via update_variant).

list_categoriesA

List product categories of the store (paginated). The API requires a status filter; defaults to ACTIVE when not provided.

get_categoryA

Get a single product category by its ID.

create_categoryA

Create a new product category. Required: title. Optional: slug, parent_id, display_sequence, is_hidden_in_menu, file_id, seo_title, seo_description. Call get_operation_schema("CreateCategory") for the exact request shape.

update_categoryA

Update an existing category via JSON Merge Patch: send only the fields to change. Only parent_id and file_id accept null (parent_id: null makes the category top-level, file_id: null removes the image); null on any other field is rejected by validation. Call get_operation_schema("UpdateCategory") for the exact request shape.

category_actionA

Archive a category (soft delete: hidden from the storefront, restorable) or unarchive it. If the category is the only one of a product with non-archived variants, archiving requires archive_variants=true.

list_ordersA

List orders of the store (paginated), newest first.

get_orderA

Get a single order by its ID, including line items, delivery chunks, payment and status.

confirm_orderA

Confirm an order. The order must be in the WAIT_FOR_CONFIRMATION status. No request body is required.

cancel_orderA

Cancel an order. Whether cancellation is possible depends on the order's current status. The optional owner reason is retained only in the MCP conversation/tool log; the KIT CancelOrder endpoint has no reason field, so it is not sent to or stored by the KIT API. No request body is required.

complete_order_deliveryA

Mark the delivery of an order as fully completed. Intended for pickup and the store's own delivery when delivery automation is off — with automation on, the platform moves the order itself. No request body is required.

set_order_marking_codesA

Write «Честный знак» (Chestny ZNAK) marking codes onto order items, or remove them. Each order item is a single unit and takes exactly one code; item IDs come from get_order under delivery_chunks[].items[].id. Pass the code in full, including the crypto tail; pass marking_code null to remove a previously written code. Atomic: if any code fails the server-side check the whole request is rejected and nothing is written.

get_order_addonsA

List additional services (addons) attached to an order by the order ID.

list_customersA

List customers of the store (paginated).

get_customerA

Get a single customer by their ID.

update_customerA

Update a customer (plain JSON PATCH). Updatable fields: note, first_name, last_name, email. Call get_operation_schema("UpdateCustomer") for the exact request shape.

get_customer_ordersA

List order IDs of a customer by their customer ID (paginated).

list_gift_cardsA

List gift cards of the store (paginated), with optional status and purchase-date filters.

get_gift_cardA

Get a single gift card by its ID, including status, balance and purchase info.

list_discountsA

List discounts of the store filtered by status (paginated). The status filter is required by the API.

get_discountA

Get a single discount by its ID (title, value, dates, status, binding mode).

create_discountA

Create a new discount. Required: title, discount_value ({value, type: PERCENT|VALUE}), discount_dates ({start_date, optional end_date}), status (ACTIVE|INACTIVE) and binding_mode (ALL_VARIANTS|SELECTED_VARIANTS). Call get_operation_schema("CreateDiscount") for the exact request shape.

update_discountA

Update an existing discount (plain application/json PATCH): send only the fields to change (title, discount_value, discount_dates, status, binding_mode). Call get_operation_schema("UpdateDiscount") for the exact request shape.

discount_actionA

Archive a discount (soft delete: status becomes ARCHIVED, the discount stops applying but stays restorable) or unarchive it (returns it to a non-archived status).

manage_discount_objectsA

Attach objects to a discount or detach them. Supported object types: product_variant_ids (variant UUIDs), category_ids (category UUIDs), collection_ids (collection UUIDs). Per request pass EITHER product_variant_ids OR categories/collections — the API does not mix variants with categories/collections.

list_promocodesA

List promocodes of the store filtered by status (paginated). The status filter is required by the API.

get_promocodeA

Get a single promocode by its ID (code, title, discount value, dates, type, usage limits).

create_promocodeA

Create a new promocode. Required: code, title, discount_value ({value, type: PERCENT|VALUE}), promocode_dates ({start_date, optional end_date}) and type (ORDER|PRODUCTS). Optional: binding_mode, minimum_order_amount, max_usage, max_discount_amount, one_time_use, first_order_only, show_in_pdp. The live API rejects codes containing lowercase letters even though the spec documents no format constraint — use uppercase Latin letters and digits (e.g. WELCOME5). Call get_operation_schema("CreatePromocode") for the exact request shape.

update_promocodeA

Update an existing promocode (plain application/json PATCH): send only the fields to change (code, title, discount_value, promocode_dates, status, binding_mode, limits). Call get_operation_schema("UpdatePromocode") for the exact request shape.

manage_promocode_objectsA

Attach objects to a promocode or detach them. Supported object types: product_variant_ids (variant UUIDs), category_ids (category UUIDs), collection_ids (collection UUIDs). Per request pass EITHER product_variant_ids OR categories/collections — the API does not mix variants with categories/collections.

list_webhooksA

List all webhooks of the store (not paginated). Each webhook has a URL, a list of subscribed event types and a status.

get_webhookA

Get a single webhook by its ID (URL, subscribed events, status).

create_webhookA

Create a new webhook. The url must use HTTPS (HTTP is rejected). Allowed events: ORDER_STATUS_CHANGED, ORDER_PAYMENT_STATUS_CHANGED, ORDER_DELIVERY_STATUS_CHANGED. NOTE: ORDER_STATUS_CHANGED will stop firing for the receipt-technical statuses CREATING_INITIAL_RECEIPT and CREATING_FINAL_RECEIPTS — key new integrations on ORDER_PLACED and COMPLETED instead (the statuses themselves stay readable via get_order). IMPORTANT: the response contains the signing secret — it is shown ONLY ONCE, store it securely. Call get_operation_schema("CreateWebhook") for the exact request shape.

update_webhookA

Update an existing webhook: change url (HTTPS only), the subscribed events, or set deactivate=true to switch the webhook to INACTIVE. Call get_operation_schema("UpdateWebhook") for the exact request shape.

delete_webhookA

Permanently delete a webhook by its ID. This cannot be undone.

validate_webhookA

Trigger webhook validation: the API sends a POST with event WEBHOOK_VALIDATE to the webhook URL. With activate=true, the webhook becomes ACTIVE if the server replies HTTP 2xx with body {"message": "validated_store_{store_id}"} (store_id: see get_store).

list_warehousesA

List warehouses of the store (paginated). The API requires a status filter; defaults to ACTIVE when not provided.

get_warehouseA

Get a single warehouse by its ID (title, slug, status).

create_warehouseA

Create a new warehouse. Required: title. The URL slug is generated automatically from the title and cannot be changed later. Call get_operation_schema("CreateWarehouse") for the exact request shape.

update_warehouseA

Update an existing warehouse via JSON Merge Patch: send only the fields to change; setting a field to null removes it. The slug cannot be changed after creation. Call get_operation_schema("UpdateWarehouse") for the exact request shape.

warehouse_actionA

Archive a warehouse (soft delete: status becomes ARCHIVED, warehouse can no longer be used for stock) or unarchive it (status becomes ACTIVE again).

list_collectionsA

List collections of the store (paginated). A collection is a curated set of product cards: STATIC (filled manually via manage_collection_cards) or DYNAMIC (filled by filters).

get_collectionA

Get a single collection by its ID (title, slug, status, type, SEO fields).

create_collectionA

Create a new collection. Required: title, status (ACTIVE|INACTIVE) and collection_type (STATIC|DYNAMIC; DYNAMIC also takes a dynamic_filter). Call get_operation_schema("CreateCollection") for the exact request shape.

update_collectionA

Update an existing collection (plain JSON PATCH; only the provided fields are changed). The collection type itself cannot be changed. Call get_operation_schema("UpdateCollection") for the exact request shape.

delete_collectionA

Permanently delete a collection by its ID. This cannot be undone.

manage_collection_cardsA

Add product cards to a STATIC collection or remove them from it. Requires product_card_ids (array of product card UUIDs).

upload_fileA

Upload a file (e.g. an image for a variant or collection) via multipart/form-data. Files are deduplicated by content: uploading identical bytes returns the existing file. Max size 100 MB. Provide exactly one source: file_path or content_base64.

get_fileA

Get metadata of a previously uploaded file by its ID (name, size, URL).

list_characteristicsA

List product characteristics (paginated).

get_characteristicA

Get one product characteristic by ID.

create_characteristicA

Create a product characteristic. Call get_operation_schema("CreateCharacteristic") for the exact request shape.

update_characteristicB

Update a product characteristic. Call get_operation_schema("UpdateCharacteristic") for the exact request shape.

list_characteristic_groupsA

List product characteristic groups (paginated).

get_characteristic_groupA

Get one product characteristic group by ID.

create_characteristic_groupB

Create a product characteristic group. Call get_operation_schema("CreateCharacteristicGroup") for the exact request shape.

update_characteristic_groupB

Update a product characteristic group. Call get_operation_schema("UpdateCharacteristicGroup") for the exact request shape.

list_characteristic_colorsA

List the color values of the store's characteristics with their hex codes (paginated). Colors are keyed by the characteristic value itself (e.g. «Красный»), not by an ID.

update_characteristic_colorA

Set the hex code of a color characteristic value. The value must already exist among the store's characteristic values (see list_characteristic_colors) — this endpoint recolors an existing value, it does not create one. Both fields are required.

list_videosA

List product videos of the store (paginated), oldest upload first. The API requires a status filter; defaults to all four statuses when not provided.

get_videoA

Get a single video by its ID with the current processing status. Use it to poll after upload_video: the status walks UPLOADED -> PROCESSING -> READY (the content field with the player links is filled only in READY) or ends in ERROR (details in error). Poll at most once every 5 seconds — processing time scales with the video length.

upload_videoA

Upload a product video via multipart/form-data and queue it for processing. Max size 100 MB; formats mp4, mov, webm, avi, flv. Videos are deduplicated by content: uploading identical bytes returns the existing video. The response carries the video ID — poll it with get_video until the status is READY, then attach the video to a variant through media in create_variant / update_variant (at most one video per variant, and the same media list must also carry at least one image). Provide exactly one source: file_path or content_base64.

upload_video_from_urlA

Upload a product video by public link and queue it for processing — use it instead of upload_video when the file lives on the web rather than on this machine. Accepts a public Yandex.Disk link to a video file, a direct link to a video file, or a link to the Yandex KIT player (which returns the already uploaded video). The link must be reachable without authentication, otherwise the API answers 400. Same limits as upload_video: max 100 MB, formats mp4, mov, webm, avi, flv, deduplicated by content. The response carries the video ID — poll it with get_video until the status is READY, then attach the video to a variant through media in create_variant / update_variant (at most one video per variant, and the same media list must also carry at least one image).

list_alertsA

List system alerts of the store (paginated), CRITICAL ones first and newest first within the same severity. The API requires a status filter; defaults to ACTIVE when not provided.

resolve_alertA

Mark an alert as resolved. Only WARNING alerts can be closed by hand: an active CRITICAL alert is rejected with 400 and clears itself once the underlying problem is fixed. No request body is required.

list_blogsA

List store news articles (paginated).

get_blogB

Get one store news article by ID.

create_blogA

Create a store news article. Call get_operation_schema("CreateBlog") for the exact request shape.

update_blogB

Update a store news article. Call get_operation_schema("UpdateBlog") for the exact request shape.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ztemerbekov/a1-yandex-kit-skills'

If you have feedback or need assistance with the MCP directory API, please join our Discord server