Skip to main content
Glama
koraynar

trendyol-seller-mcp

by koraynar

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

Related MCP server: Yandex Market Seller MCP Server

Tools

Tool

Type

What it does

get_products(page=0, size=50, approved=None, barcode="")

read

Paged product list, trimmed to barcode, title, quantity, salePrice, listPrice, approved.

get_orders(status="", start_date="", end_date="", page=0, size=50, include_pii=False)

read

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

read

Customer Q&A: id, question text, status, product, existing answer. Other statuses: WAITING_FOR_APPROVE, ANSWERED, REPORTED, REJECTED.

answer_question(question_id, text)

write

Publishes an answer (10–2000 chars, per Trendyol's rules). Guarded — see below.

update_price_and_stock(items_json)

write

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

read

Returns/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 var

Required

Meaning

TRENDYOL_SELLER_ID

yes

Your seller (cari) ID.

TRENDYOL_API_KEY

yes

API key from Entegrasyon Bilgileri.

TRENDYOL_API_SECRET

yes

API secret from Entegrasyon Bilgileri.

TRENDYOL_BASE_URL

no

Defaults to https://apigw.trendyol.com/integration. Set to https://stageapigw.trendyol.com/integration for Trendyol's stage environment.

TRENDYOL_ALLOW_WRITES

no

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

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

Claude Code

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:

{
  "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

A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI to view and manage e-commerce data such as products, orders, and coupons, and perform actions like updating prices, stock, and generating sales reports.
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to manage Shopify stores via natural language, with tools for products, orders, inventory, customers, and analytics.
    9
    MIT

View all related MCP servers

Related MCP Connectors

  • Manage your Savanto store from your AI: catalog, content, prompts, and analytics, by chat.

  • Manage your NanoCart store from any AI agent: products, orders, coupons, subscribers, reports.

  • Manage your Jumpseller store with AI. Products, orders, customers, and more.

View all MCP Connectors

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/koraynar/trendyol-seller-mcp'

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