trendyol-seller-mcp について
trendyol-seller-mcpは、トルコのTrendyol出店者向けの非公式MCPサーバーです。AIアシスタントから商品、注文、返品、顧客の質問を確認でき、書き込み操作は初期状態で無効になっています。
主な機能
- 01ページ単位の商品・在庫・価格確認
- 02個人情報を初期状態で伏せた注文確認
- 03顧客の質問と返品・クレームの確認
- 04有効化後の質問回答と在庫・価格の一括更新
活用シーン
- 01商品の承認状況と在庫の確認
- 02注文と返品の状況確認
- 03顧客の質問の確認と必要に応じた回答
- 04書き込みを明示的に有効化した後の在庫・価格調整
MCP 対応
MCPサーバーとして、Trendyol Seller APIの商品、注文、顧客の質問、クレームを確認するツールを提供します。質問への回答と在庫・価格の更新は、保護されたツールとして利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
trendyol-seller-mcp
Trendyol Marketplaceの販売者向けAPI用の非公式なMCPサーバーです。トルコのEC販売者がAIアシスタント(Claude Desktop、Claude Code、その他のMCPクライアント)から日々の店舗運営を行えるようにします。商品一覧の取得、注文パッケージの確認、返品の確認に加え、明示的に有効化した場合は顧客からの質問への回答や在庫・価格の更新もできます。
Trendyolとは提携していません。 Koray Nar(イスタンブール)による独立したオープンソースプロジェクトです。公式の販売者向けAPIに、ご自身のAPI認証情報を使って接続します。API認証情報はTrendyol Seller Panelの Satıcı Paneli > Hesap Bilgilerim > Entegrasyon Bilgileri で確認できます(パネルのマスターユーザーのみ閲覧可能です)。
Koray自身のAI自動化の取り組みを支援するために開発され、公開ポートフォリオの一部として公開されています。モックを使ったテストスイートを備えた動作するツールですが、ユーザー数、クライアント数、本番環境での実績を示すものではありません。
Türkçe Özet
trendyol-seller-mcpは、Trendyol Pazaryeriの販売者向けAPI用の非公式なMCPサーバーです。ClaudeなどのAIアシスタントが店舗とやり取りできるようにします。商品の一覧表示、注文パッケージや返品の確認、顧客からの質問の閲覧ができます。書き込み操作(質問への回答、在庫・価格の更新)はデフォルトで無効です。TRENDYOL_ALLOW_WRITES=true環境変数を設定した場合にのみ実行できます。
必要な情報は、販売者ID、API Key、API Secretです。これらは Satıcı Paneli > Hesap Bilgilerim > Entegrasyon Bilgileri ページで確認できます。このプロジェクトはTrendyolとは提携していません。ご自身のAPI情報を使い、ご自身の責任でご利用ください。注文データでは、顧客の名前と住所はデフォルトで非表示になり、市のみが表示されます。
ツール
| ツール | 種類 | 内容 |
|---|---|---|
get_products(page=0, size=50, approved=None, barcode="") | 読み取り | ページ分けされた商品一覧を取得します。barcode、title、quantity、salePrice、listPrice、approvedのみに絞り込まれます。 |
get_orders(status="", start_date="", end_date="", page=0, size=50, include_pii=False) | 読み取り | 注文パッケージを取得します。orderNumber、status、orderDate、totalPrice、明細、および顧客の市のみが含まれます。include_pii=Trueでない限り、名前と住所の全体は非表示になります。日付はYYYY-MM-DDまたはエポックミリ秒で指定できます。ステータスの値:Created、Picking、Invoiced、Shipped、Cancelled、Delivered、UnDelivered、Returned、AtCollectionPoint、UnSupplied。 |
get_customer_questions(status="WAITING_FOR_ANSWER", page=0, size=50) | 読み取り | 顧客とのQ&Aを取得します。ID、質問文、ステータス、商品、既存の回答が含まれます。その他のステータス:WAITING_FOR_APPROVE、ANSWERED、REPORTED、REJECTED。 |
answer_question(question_id, text) | 書き込み | 回答を投稿します(Trendyolの規則により10~2000文字)。ガードされています。詳細は以下をご覧ください。 |
update_price_and_stock(items_json) | 書き込み | 在庫・価格を一括更新します。items_jsonは{"barcode", "quantity", "salePrice", "listPrice"}の配列を含むJSONです(最大1000件)。TrendyolのbatchRequestIdを返します。ガードされています。詳細は以下をご覧ください。 |
get_claims(page=0, size=20) | 読み取り | 返品・請求の概要を、商品ごとのステータスと顧客の理由を含めて返します。顧客の名前は含まれません。 |
書き込みガード(最初にお読みください)
2つの書き込みツールには二重のガードがあります。
- サーバープロセスの環境変数に
TRENDYOL_ALLOW_WRITES=trueが設定されていない場合、明確なメッセージを表示して処理を拒否します。この設定がなければ、サーバーは厳密に読み取り専用となり、AIアシスタントが店舗を変更することはできません。 - リクエストがマシンから送信される前に、クライアント側で検証を行います(回答の長さは10~2000文字、在庫・価格の一括更新は最大1000件、各商品のバーコードが必須)。
まずは読み取り専用で実行し、ワークフローを信頼できると判断してからTRENDYOL_ALLOW_WRITES=trueを設定することをおすすめします。顧客からの質問への回答は公開され、質問ごとに一度だけ投稿できます。
設定
| 環境変数 | 必須 | 意味 |
|---|---|---|
TRENDYOL_SELLER_ID | はい | 販売者(cari)IDです。 |
TRENDYOL_API_KEY | はい | Entegrasyon Bilgileri から取得した API キーです。 |
TRENDYOL_API_SECRET | はい | Entegrasyon Bilgileri から取得した API シークレットです。 |
TRENDYOL_BASE_URL | いいえ | デフォルトは https://apigw.trendyol.com/integration です。Trendyol のステージング環境を利用するには、https://stageapigw.trendyol.com/integration に設定してください。 |
TRENDYOL_ALLOW_WRITES | いいえ | 書き込みツールを有効にするには true に設定してください。それ以外の場合、ツールは無効のままです。 |
リクエストには HTTP Basic 認証(キー/シークレット)と、セルフインテグレーション向けに Trendyol が要求する User-Agent "<sellerId> - SelfIntegration" を使用します。
クイックスタート
Python 3.11 以降と 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
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"
}
}
}
}
書き込みツールを有効にしたい場合にのみ、env に "TRENDYOL_ALLOW_WRITES": "true" を追加してください。
プライバシーに関する注意事項
get_ordersはデフォルトで顧客名と配送先住所の詳細をマスキングし、市区町村のみを返します。実際に必要な場合は、呼び出しごとにinclude_pii=trueを指定してください。get_customer_questionsとget_claimsは顧客名を返しません。- 認証情報は環境変数からのみ取得され、ディスクには書き込まれません。
制限事項(正直な一覧)
- 非公式:Trendyol はいつでも API を変更する可能性があります。エンドポイントは、2026-08-25 時点の
developers.trendyol.com(v2.0 ドキュメント、EN)を基に検証されています。 - 6 つの一般的な操作に対応していますが、API 全体を網羅しているわけではありません(商品作成、配送ラベル、請求書、Webhook のエンドポイントには対応していません)。
update_price_and_stockは Trendyol のbatchRequestIdを返しますが、バッチ結果エンドポイントをポーリングしません。必要に応じて、バッチのステータスをご自身で確認してください。- Trendyol のドキュメントでは、質問ページの上限は 50 件、注文ページの上限は 200 件です。このサーバーはそれらの上限に合わせて値を制限します。商品フィルター(V1)のページサイズにはドキュメント上の上限が見つからなかったため、指定された値をそのまま渡します。
- Trendyol の国際(TR 以外)マーケットプレイス API は対象としておらず、テストもしていません。
- キャッシュとリトライループはありません。429 が返された場合は
Retry-Afterの値とともに呼び出し元に返されるため、リトライのタイミングは呼び出し元のアシスタントが判断できます。 - モックレスポンスを使って構築・テストしています。Trendyol のドキュメントで同じフィールドに複数の名前が示されている場合、フィールド名には複数の候補に対応できるフォールバックを含めています。
ライセンス
MIT © 2026 Koray Nar
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。