Yango Tech Retail MCP

Yango Tech Retail MCP

Enables natural-language interaction with the Yango Tech Retail B2B API to create and track orders, browse product catalogs, and manage prices, discounts, and stock levels across darkstores.

Category
Visit Server

README

Yango Tech Retail MCP

npm CI License: MIT

MCP server for the Yango Tech Retail (grocery platform) B2B API: create and track orders, browse the product catalog, manage prices, discounts and stock levels across darkstores — from Claude, Cursor, Codex and other AI clients, in natural language.

The server wraps the retailer-facing API at api.retailtech.yango.com (the one the official yango-tech-grocery-client Python library speaks). The assistant assembles request bodies, follows pagination cursors, checks order states and receipts, and updates prices and stocks for you.

Quick start

  1. Get a Bearer token from Yango Tech for your retailer account (via your Yango Tech integration manager — there is no self-service token portal).

  2. Add the server — for example, in Claude Code (other clients):

    claude mcp add yango-retail \
      -e YANGO_RETAIL_TOKEN=your_token \
      -- npx -y mcp-yango-retail@latest
    
  3. Ask the assistant: "List our stores and show the current stock of product 4607034171438 in each."

What it can do

  • Orders: create_order, cancel_order, get_order (details), get_orders_state (batch tracking), query_order_events (event feed: new orders, state changes, receipts), get_receipt (fiscal receipts).
  • Catalog: get_stores (darkstores), query_products (cursor-based catalog feed), create_products (upsert, ≤100 per call).
  • Pricing: query_price_lists, get_prices, set_prices (≤100 per call), create_discounts (≤100 per call).
  • Stocks: query_stocks (feed across stores), update_stocks (modify or initialize, ≤1000 lines per call).
  • Escape hatch: raw_request — any other /b2b/v1/* endpoint (orders/update, VAT, price-list links, 3PL delivery integration, …) with an SSRF guard on the path.

Resilience: per-request timeout (AbortController), automatic retries with exponential backoff (429 always; 5xx/network errors only for read calls — writes are never replayed), and error messages that carry the x-yatraceid/x-yarequestid headers Yango Tech support asks for.

Example prompts

  • "Create order ORD-1042 for store LAVKA-3: 2 × product 123 at 150.00, cash on delivery."
  • "What state are orders ORD-1040 through ORD-1042 in?"
  • "Pull the full product catalog and list items missing a barcode."
  • "Set the price of product 123 to 99.90 in price list default and check it back."

API access

  • Backend: https://api.retailtech.yango.com, all endpoints under /b2b/v1/*, every call is a POST with a JSON body.
  • Auth: Authorization: Bearer <token> on every request. Tokens are issued by Yango Tech per retailer account; treat them as secrets.
  • There is no public first-party docs portal; the official Python client is the de-facto spec this server follows (see docs/TOOLS.md for known gaps, e.g. undocumented discount payload keys).

Installation

<details open> <summary><b>Claude Code</b></summary>

claude mcp add yango-retail \
  -e YANGO_RETAIL_TOKEN=your_token \
  -- npx -y mcp-yango-retail@latest

</details>

<details> <summary><b>Claude Desktop</b></summary>

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "yango-retail": {
      "command": "npx",
      "args": ["-y", "mcp-yango-retail@latest"],
      "env": {
        "YANGO_RETAIL_TOKEN": "your_token"
      }
    }
  }
}

</details>

<details> <summary><b>Cursor</b></summary>

Add to ~/.cursor/mcp.json (or .cursor/mcp.json in the project):

{
  "mcpServers": {
    "yango-retail": {
      "command": "npx",
      "args": ["-y", "mcp-yango-retail@latest"],
      "env": {
        "YANGO_RETAIL_TOKEN": "your_token"
      }
    }
  }
}

</details>

<details> <summary><b>VS Code (GitHub Copilot)</b></summary>

Add to .vscode/mcp.json — note the key is servers, not mcpServers:

{
  "servers": {
    "yango-retail": {
      "command": "npx",
      "args": ["-y", "mcp-yango-retail@latest"],
      "env": {
        "YANGO_RETAIL_TOKEN": "your_token"
      }
    }
  }
}

</details>

⚠️ The token is stored in plain text in the client's config file — restrict access to it.

Configuration

Variable Required Default Description
YANGO_RETAIL_TOKEN yes — Bearer token issued by Yango Tech (YANGO_AUTH_TOKEN is accepted as an alias). Treat it as a secret.
YANGO_RETAIL_API_BASE_URL no https://api.retailtech.yango.com API root override (YANGO_API_BASE_URL and YANGO_DOMAIN are accepted as aliases).
YANGO_RETAIL_TIMEOUT_MS no 60000 Per-request timeout, ms.
YANGO_RETAIL_MAX_RETRIES no 3 Retries on transient errors (429 always; 5xx/network for reads only).

Requirements

  • Node.js 20+.
  • A Yango Tech Retail Bearer token.

Limitations

  • This is a write API: create_order, cancel_order, create_products, set_prices, create_discounts and update_stocks change real data. Tools carry MCP annotations (read-only / write / destructive) so MCP clients can gate them.
  • The official client self-throttles at 5 requests/second per (token, endpoint) — treat that as the safe budget; the server retries 429 with backoff but does not rate-limit proactively.
  • Batch limits per request: 100 products / prices / discounts, 1000 stock lines.
  • No delete endpoints exist for products, price lists, prices or discounts.

Documentation

Telemetry

The server sends anonymous usage pings (event names, tool names, versions — never tokens, arguments or data). Opt out with ASKADS_TELEMETRY=0. Details in docs/DEVELOPMENT.md.

Support

Questions and issues: GitHub Issues or Telegram @gistrec.

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured