Trendyol Seller Mcp

io.github.koraynar由 GitHub 账号 koraynar 发布v0.1.0更新于 Oct 24, 2026

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

已验证STDIO仅桌面效率与工作流商业与电商

概览

AI 生成的概览

面向 Trendyol 卖家 API 的非官方 MCP 服务器,让助手列出商品、查看订单、退货和客户提问,并可选地更新库存与价格。

可以做什么
  • 分页列出商品,含条码、标题、数量与价格,可按审核状态筛选
  • 按状态和日期范围查看订单包裹,默认隐去客户姓名与地址
  • 读取客户提问及已有回答,可按状态筛选
  • 查看退货与索赔,含每项状态和客户原因
  • 回答客户提问、批量更新库存与价格,仅在显式开启写入后可用
适用场景
适合希望借助 AI 助手查看商品、订单、退货和客户提问的土耳其 Trendyol 卖家;在信任只读流程后,也可用于回复提问和调整库存价格。
运行要求
以本地 Python 进程运行(需 Python 3.11+ 与 uv),由 MCP 客户端启动。需要卖家面板中的卖家 ID、API Key 和 API Secret,通过环境变量 TRENDYOL_SELLER_ID、TRENDYOL_API_KEY、TRENDYOL_API_SECRET 提供。需能访问 Trendyol API 网关;可选的基础 URL 变量可切换到测试环境。
安装前请注意
服务器在环境变量中保存卖家 API 凭据,且能改动线上店铺:回答提问会发布公开回复且每题只能发布一次,库存与价格更新会改变商品信息。除非将 TRENDYOL_ALLOW_WRITES 设为 true,写入功能保持关闭,建议先只读使用。订单数据默认含客户城市,传 include_pii=true 会暴露姓名和完整地址。该项目为非官方,与 Trendyol 无关联。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Trendyol Seller Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

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

来源:README.md,提交 68de810

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分