Skip to content
Agentmart
Submit a tool

A1 Yandex KIT MCP

A1 Yandex KIT MCP server for the Yandex KIT e-commerce API: products, orders, discounts, webhooks.

Connector by gistrec · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 2
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/gistrec-mcp-yandex-kit

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

A1 Yandex KIT MCP server for the Yandex KIT e-commerce API: products, orders, discounts, webhooks.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
47 read · 34 write · 9 delete · 2 not yet classified
Secrets
1 (API keys, tokens or passwords)
Install scripts
Not scanned yet
Runs as
Node.js package

Tools by what they do 92

Read from the source code; the running server may list different tools.

Read 47 · Look things up without changing anything.

  • get_blog
  • get_category
  • get_characteristic
  • get_characteristic_group
  • get_collection
  • get_current_user
  • get_customer
  • get_customer_cart
  • get_customer_orders
  • get_delivery_label_formats
  • get_discount
  • get_file
Show 35 more tools
  • get_gift_card
  • get_operation_schema
  • get_order
  • get_order_addons
  • get_order_delivery_labels
  • get_order_payment_link
  • get_product
  • get_promocode
  • get_regions
  • get_store
  • get_store_feeds
  • get_variant
  • get_video
  • get_warehouse
  • get_webhook
  • list_alerts
  • list_blogs
  • list_categories
  • list_characteristic_colors
  • list_characteristic_groups
  • list_characteristics
  • list_collections
  • list_customers
  • list_discounts
  • list_files
  • list_gift_cards
  • list_orders
  • list_products
  • list_promocodes
  • list_variant_links
  • list_variants
  • list_videos
  • list_warehouses
  • list_webhooks
  • search_operations

Write 34 · Create, change, send or run things.

  • bulk_update_prices
  • cancel_order
  • complete_order_delivery
  • confirm_order
  • create_blog
  • create_category
  • create_characteristic
  • create_characteristic_group
  • create_collection
  • create_discount
  • create_product
  • create_promocode
Show 22 more tools
  • create_variant
  • create_warehouse
  • create_webhook
  • generate_order_waybills
  • manage_discount_objects
  • manage_promocode_objects
  • resolve_alert
  • update_blog
  • update_category
  • update_characteristic
  • update_characteristic_color
  • update_characteristic_group
  • update_collection
  • update_customer
  • update_discount
  • update_product
  • update_promocode
  • update_variant
  • update_webhook
  • upload_file
  • upload_video
  • upload_video_from_url

Delete 9 · Delete, drop, revoke or wipe things.

  • category_action
  • delete_collection
  • delete_webhook
  • discount_action
  • manage_collection_cards
  • set_order_marking_codes
  • update_warehouse
  • variant_action
  • warehouse_action

Not yet classified 2 · We could not tell from the name and description.

  • kit_request
  • validate_webhook

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • YANDEX_KIT_TOKEN

Other settings (environment variables or headers).

  • YANDEX_KIT_BASE_URL
  • YANDEX_KIT_RPS
  • YANDEX_KIT_TIMEOUT_MS

Files it touches

  • Any path the agent passes to its tools

Tools (92)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • bulk_update_pricesBulk update prices

    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` recomput…

  • cancel_orderCancel order

    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.

  • category_actionArchive or unarchive category

    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.

  • complete_order_deliveryComplete order delivery

    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.

  • confirm_orderConfirm order

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

  • create_blogCreate news article

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

  • create_categoryCreate category

    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.

  • create_characteristicCreate characteristic

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

  • create_characteristic_groupCreate characteristic group

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

  • create_collectionCreate collection

    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. If a write returns HTTP 429, LIMIT_EXCEEDED, timeout or another uncertain result, read back the complete collection list and reconcile before considering any repeat; never blindly retry the create.

  • create_discountCreate discount

    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.

  • create_productCreate product

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

  • create_promocodeCreate promocode

    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.

  • create_variantCreate variant

    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, ...).

  • create_warehouseCreate warehouse

    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.

Show 77 more tools
  • create_webhookCreate webhook

    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, CUSTOMER_CHANGED. CUSTOMER_CHANGED fires when a customer appears or their name/phone/email changes; its data carries only {customer_id}, so a CRM sync must follow up with get_customer to read the new values (no before/after diff is delivered). 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…

  • delete_collectionDelete collectioncan change or delete data

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

  • delete_webhookDelete webhookcan change or delete data

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

  • discount_actionArchive or unarchive discount

    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).

  • generate_order_waybillsGenerate order waybills

    Generate waybills (акты приёма-передачи отправлений) for order delivery chunks and return links to PDF documents. Chunks are grouped by warehouse + delivery service — one document per group. Every call asks the delivery service for a fresh document (nothing is cached), and the PDF links are signed and expire at `expires_at` — do not store them, re-request instead. Chunks a waybill cannot be produced for (self-pickup, delivery not created yet, no warehouse, unsupported service) come back in `skipped` with a reason. Chunk IDs come from get_order under delivery_chunks[].id.

  • get_blogGet news articleread-only

    Get one store news article by ID.

  • get_categoryGet categoryread-only

    Get a single product category by its ID.

  • get_characteristicGet characteristicread-only

    Get one product characteristic by ID.

  • get_characteristic_groupGet characteristic groupread-only

    Get one product characteristic group by ID.

  • get_collectionGet collectionread-only

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

  • get_current_userGet current userread-only

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

  • get_customerGet customerread-only

    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.

  • get_customer_cartGet customer cartread-only

    Get the current cart of a customer — the source for abandoned-cart work: `items` with quantity and per-unit/line prices, plus `total_price` (before discounts) and `total_final_price` (after item and bundle discounts). An empty cart, and a customer who never had one, both return `items: []` with zero totals; `updated_at` is absent in the never-had-one case and is the only way to tell the two apart — there is no abandoned-cart flag, so decide staleness from `updated_at` yourself. `product_variant_id` is NOT a unique key for a line: the same variant appears in several items when it is part of a b…

  • get_customer_ordersGet customer ordersread-only

    List order IDs of a customer by their customer ID (paginated) — the purchase history. Read each order with get_order for its line items (items[].name, quantity, price). The response carries a machine-readable coverage envelope (coverage, received, total_count, pages_read); coverage:"partial" MUST be reflected in the user-facing answer and forbids claiming the listing is complete.

  • get_delivery_label_formatsGet delivery label formatsread-only

    List the label sizes the given delivery services can print — the values accepted by get_order_delivery_labels' label_format. Per service, `mode` says how it treats sizes: EXPLICIT_FORMATS (pick one of `formats`), PROVIDER_DEFAULT (size ignored, the service prints its own) or NOT_SUPPORTED (no labels at all, `formats` empty). `preselected` is only the size preselected in the KIT UI — it does NOT apply when label_format is omitted. Services come back in the platform's own display order, so look one up by `delivery_service`, not by position.

  • get_discountGet discountread-only

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

  • get_fileGet fileread-only

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

  • get_gift_cardGet gift cardread-only

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

  • get_operation_schemaGet KIT operation schemaread-only

    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.

  • get_orderGet orderread-only

    Get a single order by its ID, including line items (items[].name is the product name at order time), delivery chunks, payment and status. customer_id links the order to its buyer — read the card with get_customer. Read the delivery address from delivery_chunks[].delivery_info.address.locality/.address: they always match the chosen delivery method, while the courier_*, pickup_point_* and self_pick_up_* groups keep whatever the buyer picked earlier in checkout and are stale unless the group matches `method`.

  • get_order_addonsGet order addonsread-only

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

  • get_order_delivery_labelsGet order delivery labelsread-only

    Get the delivery labels (ярлыки) of an order's delivery chunks — the PDF with the address, tracking number and barcode that goes onto the parcel. The first request per chunk and format asks the delivery service for the document, later ones return the same one. The PDF links are signed and expire at `expires_at` — do not store them, re-request instead. Chunks with no label (self-pickup, delivery not created yet, service that does not print labels, requested format unsupported, or a failure on the service's side — reason GENERATION_FAILED, which is temporary and worth retrying) come back in `ski…

  • get_order_payment_linkGet order payment linkread-only

    Get the signed payment-page link for an order, to be sent to the buyer — they can pay without logging in. The link is permanent (the same value for the order every time), works in any order status, never expires and cannot be revoked (revoking the API token does not invalidate it) — hand it out deliberately. Operation: GetOrderPaymentLink.

  • get_productGet productread-only

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

  • get_promocodeGet promocoderead-only

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

  • get_regionsGet regionsread-only

    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.

  • get_storeGet storeread-only

    Get information about the current store (id, slug, b2c_url). `b2c_url` is the storefront origin a variant's `relative_link_url` is resolved against — list_variant_links already does that join. Operation: GetStore.

  • get_store_feedsGet store feedsread-only

    Get permanent links to the store's catalog feeds: ICML (RetailCRM), YML (Yandex Direct) and YML_GOODS (Yandex Tovary). A feed URL never changes when the feed content updates — fetch it once and download the feed by that URL on a schedule. Operation: GetStoreFeeds.

  • get_variantGet variantread-only

    Get a single variant by its ID (name, SKU, pricing, stocks, media, status). `relative_link_url` is the variant's storefront path; prefix it with the store's b2c_url (get_store) for a full link, or use list_variant_links to get that joined for you.

  • get_videoGet videoread-only

    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.

  • get_warehouseGet warehouseread-only

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

  • get_webhookGet webhookread-only

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

  • kit_requestExecute any KIT API operation

    Description is built at runtime.

  • list_alertsList alertsread-only

    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. The response carries a machine-readable coverage envelope (coverage, received, total_count, pages_read); coverage:"partial" MUST be reflected in the user-facing answer and forbids claiming the listing is complete.

  • list_blogsList news articlesread-only

    List store news articles (paginated). The response carries a machine-readable coverage envelope (coverage, received, total_count, pages_read); coverage:"partial" MUST be reflected in the user-facing answer and forbids claiming the listing is complete.

  • list_categoriesList categoriesread-only

    List product categories of the store (paginated). The API requires a status filter; defaults to ACTIVE when not provided. The response carries a machine-readable coverage envelope (coverage, received, total_count, pages_read); coverage:"partial" MUST be reflected in the user-facing answer and forbids claiming the listing is complete.

  • list_characteristic_colorsList characteristic colorsread-only

    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. The response carries a machine-readable coverage envelope (coverage, received, total_count, pages_read); coverage:"partial" MUST be reflected in the user-facing answer and forbids claiming the listing is complete.

  • list_characteristic_groupsList characteristic groupsread-only

    List product characteristic groups (paginated). The response carries a machine-readable coverage envelope (coverage, received, total_count, pages_read); coverage:"partial" MUST be reflected in the user-facing answer and forbids claiming the listing is complete.

  • list_characteristicsList characteristicsread-only

    List product characteristics (paginated). The response carries a machine-readable coverage envelope (coverage, received, total_count, pages_read); coverage:"partial" MUST be reflected in the user-facing answer and forbids claiming the listing is complete.

  • list_collectionsList collectionsread-only

    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). The response carries a machine-readable coverage envelope (coverage, received, total_count, pages_read); coverage:"partial" MUST be reflected in the user-facing answer and forbids claiming the listing is complete.

  • list_customersList customersread-only

    List customers of the store (paginated), by customer ID ascending by default. updated_from/updated_to filter by last-change time (updated_at) for incremental CRM sync. Sync recipe: updated_from=<cursor>, sort_by=updated_at, sort_direction=asc, then advance the cursor to the largest updated_at seen — a customer that changes mid-paging moves to the end instead of being skipped, and an all=true run cut off at 500 items resumes from that cursor. Both bounds are inclusive, so the boundary customer comes back on the next poll — deduplicate by customer_id. The response carries a machine-readable cove…

  • list_discountsList discountsread-only

    List discounts of the store filtered by status (paginated). The status filter is required by the API. The response carries a machine-readable coverage envelope (coverage, received, total_count, pages_read); coverage:"partial" MUST be reflected in the user-facing answer and forbids claiming the listing is complete.

  • list_filesList filesread-only

    List the store's uploaded files with their URLs (paginated). Covers images (IMAGE) and other files (OTHER) only — videos live in a separate scenario, use get_video/list_videos. The response carries a machine-readable coverage envelope (coverage, received, total_count, pages_read); coverage:"partial" MUST be reflected in the user-facing answer and forbids claiming the listing is complete.

  • list_gift_cardsList gift cardsread-only

    List gift cards of the store (paginated), with optional status and purchase-date filters. The response carries a machine-readable coverage envelope (coverage, received, total_count, pages_read); coverage:"partial" MUST be reflected in the user-facing answer and forbids claiming the listing is complete.

  • list_ordersList ordersread-only

    List orders of the store (paginated), newest first by default. Each order carries customer_id (look the buyer up with get_customer) and items[].name, so a CRM can link an order to its customer card without extra calls. updated_from/updated_to filter by last-change time, which is what an incremental sync should poll on: an order that only changed status still falls inside the window, while a created-at filter would miss it. Sync recipe: updated_from=<cursor>, sort_by=updated_at, sort_direction=asc, then advance the cursor to the largest updated_at seen — an order that changes mid-paging moves t…

  • list_productsList productsread-only

    List product records (paginated); for export requests, use this for explicit raw product-group or catalog-structure dumps. Ordinary catalog exports use list_variants: a product carries grouping and category data, not a sellable name, SKU, price or stock. format:"csv" defaults to top-level scalar fields (currently id and group_id) and does not flatten variant data. The response carries a machine-readable coverage envelope (coverage, received, total_count, pages_read); coverage:"partial" MUST be reflected in the user-facing answer and forbids claiming the listing is complete.

  • list_promocodesList promocodesread-only

    List promocodes of the store filtered by status (paginated). The status filter is required by the API. The response carries a machine-readable coverage envelope (coverage, received, total_count, pages_read); coverage:"partial" MUST be reflected in the user-facing answer and forbids claiming the listing is complete.

  • list_variant_linksList variant storefront linksread-only

    Storefront page URLs of variants, ready to hand to a CMS, PIM or feed. Each variant carries a `relative_link_url` from the API — it already reflects the store's path settings and selects the variant (`?variant=`) — and this tool joins it with the store's b2c_url, so no URL rules have to be maintained on the integration side. One call instead of list_variants + get_store. Same filters as list_variants; archived variants are excluded by the API. The response carries a machine-readable coverage envelope (coverage, received, total_count, pages_read); coverage:"partial" MUST be reflected in the use…

  • list_variantsList variantsread-only

    Primary sellable catalog/export listing: list variants (SKUs), one item per sellable SKU. Use this for ordinary catalog or «выгрузи товары в CSV» requests; use list_products only for an explicit raw product-group export. Variants support optional filters and pagination. By default the API returns variants of all statuses except ARCHIVED. format:"csv" defaults to top-level scalar fields and serializes nested pricing/stocks as JSON cells; it does not create flat price or per-warehouse stock columns. List the archive with status ["ARCHIVED"]. If the response ever holds statuses outside the reques…

  • list_videosList videosread-only

    List product videos of the store (paginated), oldest upload first. The API requires a status filter; defaults to all four statuses when not provided. The response carries a machine-readable coverage envelope (coverage, received, total_count, pages_read); coverage:"partial" MUST be reflected in the user-facing answer and forbids claiming the listing is complete.

  • list_warehousesList warehousesread-only

    List warehouses of the store (paginated). The API requires a status filter; defaults to ACTIVE when not provided. The response carries a machine-readable coverage envelope (coverage, received, total_count, pages_read); coverage:"partial" MUST be reflected in the user-facing answer and forbids claiming the listing is complete.

  • list_webhooksList webhooksread-only

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

  • manage_collection_cardsAdd or remove collection cards

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

  • manage_discount_objectsAdd or remove discount objects

    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.

  • manage_promocode_objectsAdd or remove promocode objects

    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.

  • resolve_alertResolve alert

    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.

  • search_operationsSearch KIT API operationsread-only

    Description is built at runtime.

  • set_order_marking_codesSet order marking codes

    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.

  • update_blogUpdate news article

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

  • update_categoryUpdate category

    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.

  • update_characteristicUpdate characteristic

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

  • update_characteristic_colorUpdate characteristic color

    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.

  • update_characteristic_groupUpdate characteristic group

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

  • update_collectionUpdate collection

    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.

  • update_customerUpdate customer

    Update a customer (plain JSON PATCH). Updatable fields: note, first_name, last_name, email. phone and birth_date are read-only — the API returns them but has no field to write them, so do not try. Call get_operation_schema("UpdateCustomer") for the exact request shape.

  • update_discountUpdate discount

    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.

  • update_productUpdate product

    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.

  • update_promocodeUpdate promocode

    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.

  • update_variantUpdate variant

    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 fai…

  • update_warehouseUpdate warehouse

    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.

  • update_webhookUpdate webhook

    Update an existing webhook: change url (HTTPS only), the subscribed events, or set deactivate=true to switch the webhook to INACTIVE. `events` is the full subscription list, not a delta — to add CUSTOMER_CHANGED to an existing webhook, read it with get_webhook first and send its current events plus the new one. Call get_operation_schema("UpdateWebhook") for the exact request shape.

  • upload_fileUpload file

    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.

  • upload_videoUpload video

    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_urlUpload video from URL

    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 …

  • validate_webhookValidate webhook

    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).

  • variant_actionArchive or unarchive variant

    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).

  • warehouse_actionArchive or unarchive warehouse

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

Signals

Stars
2
Forks
0
Open issues
7
Last commit
Oct 9, 2026 (19 days ago)
Last release
Oct 9, 2026 (19 days ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
io.github.gistrec/mcp-yandex-kit
Version
1.10.0
Auth
API key
Packages
npm mcp-yandex-kit
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from gistrec

Cite this page

A1 Yandex KIT MCP. Agent Mart. https://agentmart.dev/connectors/gistrec-mcp-yandex-kit (last updated 2026-10-24)