Trendyol Seller Mcp

io.github.koraynarPublished by GitHub account koraynarv0.1.0Updated Oct 24, 2026

Unofficial Trendyol seller API for AI assistants: products, orders, Q&A, guarded stock/price writes.

Overview

AI-generated overview

Unofficial MCP server for the Trendyol Marketplace seller API, letting an assistant list products, review orders, returns and customer questions, and…

What you can do
  • List products with barcode, title, quantity and prices, with paging and approval filters
  • Review order packages by status and date range, with customer name and address redacted by default
  • Read customer questions and existing answers, filtered by status
  • Read returns and claims with per-item status and customer reason
  • Answer customer questions and batch-update stock and prices, only when writes are explicitly enabled
When to use it
Useful for Turkish Trendyol sellers who want to check products, orders, returns and customer questions from an AI assistant, and optionally handle answers and stock or price updates once the read-only workflow is trusted.
Requirements
Runs locally as a Python process (Python 3.11+ and uv) started by the MCP client. Needs a Trendyol seller ID, API key and API secret from the seller panel, supplied through the environment variables TRENDYOL_SELLER_ID, TRENDYOL_API_KEY and TRENDYOL_API_SECRET. Network access to the Trendyol API gateway; an optional base URL variable switches to the stage environment.
Before you install
The server holds seller API credentials in environment variables and can change your live store: answering questions publishes a public reply that can only be posted once, and stock/price updates change listings. Writes stay off unless TRENDYOL_ALLOW_WRITES is set to true; start read-only. Order data includes customer city by default, and passing include_pii=true exposes names and full addresses. It is unofficial and not affiliated with Trendyol.

Installation

In SourceWeft

  1. Open Trendyol Seller Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

trendyol-seller-mcp

An unofficial MCP server for the Trendyol Marketplace seller API, so Turkish e-commerce sellers can drive day-to-day store operations from an AI assistant (Claude Desktop, Claude Code, or any other MCP client): list products, check order packages, review returns, and — when explicitly enabled — answer customer questions and update stock/prices.

Not affiliated with Trendyol. This is an independent open-source project by Koray Nar (Istanbul). It talks to the official seller API using your own API credentials, which you can find in the Trendyol Seller Panel: Satıcı Paneli > Hesap Bilgilerim > Entegrasyon Bilgileri (visible only to the panel's master user).

Built by Koray to support his own AI-automation practice and published as part of his public portfolio. It is a working tool with a mocked test suite — no user counts, clients, or production claims implied.

Türkçe Özet

trendyol-seller-mcp, Trendyol Pazaryeri satıcı API'si için resmi olmayan bir MCP sunucusudur. Claude gibi bir yapay zeka asistanının mağazanızla konuşmasını sağlar: ürünleri listeler, sipariş paketlerini ve iadeleri görüntüler, müşteri sorularını okur. Yazma işlemleri (soru cevaplama, stok/fiyat güncelleme) varsayılan olarak kapalıdır; yalnızca TRENDYOL_ALLOW_WRITES=true ortam değişkenini ayarlarsanız çalışır.

Gerekli bilgiler: Satıcı ID, API Key ve API Secret — bunları Satıcı Paneli > Hesap Bilgilerim > Entegrasyon Bilgileri sayfasında bulabilirsiniz. Proje Trendyol ile bağlantılı değildir; kendi API bilgilerinizle, kendi sorumluluğunuzda kullanılır. Sipariş verilerinde müşteri adı ve adresi varsayılan olarak gizlenir (yalnızca şehir gösterilir).

Tools

ToolTypeWhat it does
get_products(page=0, size=50, approved=None, barcode="")readPaged product list, trimmed to barcode, title, quantity, salePrice, listPrice, approved.
get_orders(status="", start_date="", end_date="", page=0, size=50, include_pii=False)readOrder packages: orderNumber, status, orderDate, totalPrice, lines, and customer city only. Name/full address are redacted unless include_pii=True. Dates accept YYYY-MM-DD or epoch ms. Status values: Created, Picking, Invoiced, Shipped, Cancelled, Delivered, UnDelivered, Returned, AtCollectionPoint, UnSupplied.
get_customer_questions(status="WAITING_FOR_ANSWER", page=0, size=50)readCustomer Q&A: id, question text, status, product, existing answer. Other statuses: WAITING_FOR_APPROVE, ANSWERED, REPORTED, REJECTED.
answer_question(question_id, text)writePublishes an answer (10–2000 chars, per Trendyol's rules). Guarded — see below.
update_price_and_stock(items_json)writeBatch stock/price update. items_json is a JSON array of {"barcode", "quantity", "salePrice", "listPrice"} (max 1000 items). Returns Trendyol's batchRequestId. Guarded — see below.
get_claims(page=0, size=20)readReturns/claims summary with per-item status and customer reason. Customer names excluded.

Write guard (read this first)

The two write tools are double-guarded:

  1. They refuse with a clear message unless the environment variable TRENDYOL_ALLOW_WRITES=true is set for the server process. Without it, the server is strictly read-only — an AI assistant cannot change your store.
  2. Client-side validation runs before any request leaves your machine (answer length 10–2000 characters, max 1000 items per stock/price batch, barcode required per item).

Recommended: run read-only first, and only set TRENDYOL_ALLOW_WRITES=true once you trust the workflow. Answers to customer questions are public and can only be posted once per question.

Configuration

Env varRequiredMeaning
TRENDYOL_SELLER_IDyesYour seller (cari) ID.
TRENDYOL_API_KEYyesAPI key from Entegrasyon Bilgileri.
TRENDYOL_API_SECRETyesAPI secret from Entegrasyon Bilgileri.
TRENDYOL_BASE_URLnoDefaults to https://apigw.trendyol.com/integration. Set to https://stageapigw.trendyol.com/integration for Trendyol's stage environment.
TRENDYOL_ALLOW_WRITESnoSet to true to enable the two write tools. Anything else keeps them disabled.

Requests use HTTP Basic auth (key/secret) and the User-Agent Trendyol requires for self-integrations: "<sellerId> - SelfIntegration".

Quickstart

Requires Python 3.11+ and uv.

bash
git clone https://github.com/koraynar/trendyol-seller-mcpcd trendyol-seller-mcpuv venv && uv pip install -e '.[dev]'uv run --extra dev pytest   # all tests are offline (httpx.MockTransport), no live calls

Claude Code

bash
claude mcp add trendyol-seller \  --env TRENDYOL_SELLER_ID=123456 \  --env TRENDYOL_API_KEY=your-key \  --env TRENDYOL_API_SECRET=your-secret \  -- uv run --directory /absolute/path/to/trendyol-seller-mcp trendyol-seller-mcp

Claude Desktop

Add to claude_desktop_config.json:

json
{  "mcpServers": {    "trendyol-seller": {      "command": "uv",      "args": [        "run",        "--directory",        "/absolute/path/to/trendyol-seller-mcp",        "trendyol-seller-mcp"      ],      "env": {        "TRENDYOL_SELLER_ID": "123456",        "TRENDYOL_API_KEY": "your-key",        "TRENDYOL_API_SECRET": "your-secret"      }    }  }}

Add "TRENDYOL_ALLOW_WRITES": "true" to env only when you want the write tools active.

Privacy notes

  • get_orders redacts customer name and full shipping address by default and returns only the city; pass include_pii=true per call when you actually need it.
  • get_customer_questions and get_claims never return customer names.
  • Credentials come from environment variables only; nothing is written to disk.

Limitations (honest list)

  • Unofficial: Trendyol can change the API at any time; endpoints were verified against developers.trendyol.com (v2.0 docs, EN) on 2026-08-25.
  • Covers six common operations, not the full API surface (no product creation, shipping label, invoice, or webhook endpoints).
  • update_price_and_stock returns Trendyol's batchRequestId but does not poll the batch result endpoint; check the batch status yourself if needed.
  • Trendyol's docs cap question pages at 50 items and order pages at 200; this server clamps to those. No documented cap was found for the product filter (V1) page size, so it is passed through as-is.
  • Trendyol's international (non-TR) marketplace API is not targeted or tested.
  • No caching, no retry loop — a 429 is surfaced with the Retry-After value so the calling assistant can decide when to retry.
  • Built and tested against mocked responses; field names include tolerant fallbacks where Trendyol's docs show more than one name for the same field.

License

MIT © 2026 Koray Nar

Source: README.md at commit 68de810

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.0LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts