Skip to main content
Glama

Trendyol MCP

Enzifiri tarafından geliştirilmiştir — https://github.com/enzifiri Ücretsiz ve açık kaynaklıdır. Resmi bir Trendyol ürünü değildir; Trendyol ile bağlantısı yoktur.

Trendyol Partner (Marketplace) API'si için bir Model Context Protocol sunucusu. Claude, Cursor, VS Code Copilot gibi yapay zekâ asistanlarına şunları kazandırır:

  • Tüm geliştirici dokümantasyonu: developers.trendyol.com'daki 96 kılavuz sayfası ve 93 API işleminin tam OpenAPI tanımı pakete gömülüdür. API anahtarı olmadan da arama yapılabilir, şemalar ve örnek kod görülebilir.

  • Çoklu mağaza: 1 ya da 20 mağaza fark etmez. Her mağazayı kendi bilgisayarınızda bir kez tanımlarsınız, asistan hangi mağazada işlem yapacağını seçer. Okuma işlemleri tüm mağazalarda tek seferde de çalıştırılabilir.

  • 93 API işleminin tamamı: ürün, stok/fiyat, sipariş, iade, fatura, webhook, soru-cevap, finans, adres, ortak etiket ve ihracat (AutoFT) işlemleri tek bir araçla yapılabilir. Kimlik doğrulama, zorunlu User-Agent ve sellerId otomatik eklenir.

  • Güvenli varsayılanlar: API bilgileri pakette ya da sohbette yer almaz, sadece sizin bilgisayarınızda saklanır. Canlı mağazalarda değişiklik yapma izni siz açmadıkça kapalıdır. dryRun ile istek göndermeden önce görülebilir.

Kurulum (2 adım)

Node.js 18.17 veya üstü gerekir (nodejs.org).

1. Mağazalarınızı ekleyin

Terminalde çalıştırın. Program Satıcı ID, API Key ve API Secret bilgilerini sorar (Satıcı Paneli > Hesap Bilgilerim > Entegrasyon Bilgileri):

npx -y trendyol-mcp stores add

Birden fazla mağazanız varsa her biri için tekrarlayın. Bilgilerin doğru olup olmadığını kontrol etmek için:

npx -y trendyol-mcp stores test

2. Asistanınıza ekleyin

Claude Code:

claude mcp add trendyol -- npx -y trendyol-mcp

Claude Desktop (claude_desktop_config.json), Cursor (.cursor/mcp.json), VS Code (.vscode/mcp.json, burada anahtar "servers") için:

{
  "mcpServers": {
    "trendyol": {
      "command": "npx",
      "args": ["-y", "trendyol-mcp"]
    }
  }
}

Bu kadar. Ayar dosyasına API bilgisi yazmanız gerekmez. Sonradan mağaza ekleyip çıkardığınızda asistanı yeniden başlatmanız da gerekmez.

Related MCP server: trendyol-seller-mcp

Mağaza yönetimi

npx -y trendyol-mcp stores add [ad]        # ekle / güncelle
npx -y trendyol-mcp stores list            # listele
npx -y trendyol-mcp stores test [ad]       # bağlantıyı doğrula (ad verilmezse hepsi)
npx -y trendyol-mcp stores default <ad>    # varsayılan mağaza
npx -y trendyol-mcp stores remove <ad>     # sil
npx -y trendyol-mcp stores path            # dosyanın yeri

Komut sormadan da çalışabilir (betikler için):

npx -y trendyol-mcp stores add kozmetik --seller-id 123456 --api-key KEY --api-secret SECRET --label "Kozmetik" --env prod --allow-write hayir --yes

Seçenek

Açıklama

--env prod|stage

Canlı veya test ortamı. Test ortamı bilgileri canlıdan farklıdır ve IP yetkilendirmesi gerektirir.

--allow-write evet|hayir

Asistan bu mağazada ürün, stok, fiyat, sipariş gibi verileri değiştirebilsin mi? Varsayılan: hayir

--integrator <ad>

User-Agent'taki entegratör adı. Varsayılan SelfIntegration → "<satıcıId> - SelfIntegration"

--label "<ad>"

Görünen ad

Mağazalar ~/.trendyol-mcp/stores.json dosyasında saklanır (Windows: C:\Users\<kullanıcı>\.trendyol-mcp\stores.json). Dosyayı elle de düzenleyebilirsiniz:

{
  "defaultStore": "kozmetik",
  "stores": {
    "kozmetik":   { "label": "Kozmetik", "sellerId": "123456", "apiKey": "...", "apiSecret": "...", "environment": "prod", "allowWrite": false },
    "elektronik": { "sellerId": "654321", "apiKey": "...", "apiSecret": "...", "environment": "prod", "allowWrite": true },
    "test":       { "sellerId": "999", "apiKey": "...", "apiSecret": "...", "environment": "stage", "allowWrite": true }
  }
}

Bu dosyayı kimseyle paylaşmayın, GitHub'a yüklemeyin.

Gelişmiş: ortam değişkenleri

Değişken

Açıklama

TRENDYOL_STORES_FILE

Mağaza dosyasının yolu (varsayılan ~/.trendyol-mcp/stores.json)

TRENDYOL_STORES

Mağazaları dosya yerine JSON olarak verir (sunucu/CI ortamları için)

TRENDYOL_SELLER_ID, TRENDYOL_API_KEY, TRENDYOL_API_SECRET, TRENDYOL_ENV

Tek mağaza için kısa yol (default adıyla eklenir)

TRENDYOL_ALLOW_WRITE

allowWrite belirtilmemiş mağazalar için varsayılan

TRENDYOL_TIMEOUT_MS

İstek zaman aşımı, varsayılan 60000

Araçlar

Araç

Ne yapar

Mağaza gerekir mi?

trendyol_search_docs

Kılavuz ve API işlemlerinde arama (Türkçe karakter duyarsız)

hayır

trendyol_read_doc

Bir dokümantasyon sayfasını markdown olarak okur, ya da tüm sayfaları listeler

hayır

trendyol_list_operations

93 API işlemini bölümlere göre listeler

hayır

trendyol_get_operation

Bir işlemin URL, parametre, istek/yanıt şeması, örnekleri ve örnek TypeScript kodu

hayır

trendyol_list_stores

Tanımlı mağazalar (API bilgileri gösterilmez)

hayır

trendyol_call_api

Herhangi bir işlemi operationId ve store ile çalıştırır. store: "*" verilirse okuma işlemi tüm mağazalarda çalışır, dryRun desteklenir.

evet

Örnek kullanım

Asistanınıza doğal dille sorabilirsiniz:

  • "Tüm mağazalarımda bugün gelen yeni siparişleri listele."

  • "Elektronik mağazasında X barkodlu ürünün stoğunu 50 yap." (sadece yazma izni açık mağazada çalışır)

  • "Trendyol'da stok ve fiyat nasıl güncellenir? Örnek TypeScript kodu yaz."

  • "createProducts için zorunlu alanlar neler? Elimdeki ürün JSON'unu buna dönüştür."

  • "Kozmetik mağazasındaki cevaplanmamış müşteri sorularını getir ve cevap taslakları hazırla."

Notlar

  • Rate limit: aynı uç noktaya 10 saniyede en fazla 50 istek gönderilebilir. 429 alınırsa sunucu bekleyip otomatik olarak tekrar dener. Ürün servislerinin grup bazlı limitleri için asistana 1-servis-limitleri sayfasını okutabilirsiniz.

  • Test ortamı IP yetkilendirmesi gerektirir. Yetki yoksa 503 hatası döner. Ayrıntılar 3-canlı-test-ortam-bilgileri sayfasında.

  • Toplu işlemler (ürün oluşturma, stok/fiyat güncelleme) bir batchRequestId döndürür. İşlemin sonucu bu ID ile getBatchRequestResult üzerinden sorgulanır.

  • Büyük yanıtlar (örneğin kategori ağacı) maxResponseChars sınırında kırpılır.

Geliştirme

git clone https://github.com/enzifiri/trendyol-mcp.git
cd trendyol-mcp
npm install
npm test            # derler, CLI ve tüm MCP araçlarını dener (gerçek istek göndermez)
npm run inspect     # MCP Inspector ile arayüzden deneme
npm run update-docs # developers.trendyol.com'dan dokümanları yeniden indirip kataloğu üretir
src/index.ts         Giriş: argümansız → MCP sunucusu, "stores …" → CLI
src/server.ts        MCP araç tanımları
src/cli.ts           Mağaza yönetimi komutları
src/config.ts        Mağaza dosyası ve ortam değişkenleri
src/client.ts        Trendyol HTTP istemcisi (auth, User-Agent, retry, yazma koruması)
src/catalog.ts       Doküman kataloğu, arama, şema özetleme, örnek kod
src/attribution.ts   Geliştirici bilgisi
scripts/             Doküman indirme, katalog üretme, duman testi
data/catalog.json    Üretilmiş katalog (96 kılavuz + 93 işlem)

Lisans

MIT, ayrıntılar için LICENSE dosyasına bakın. Dokümantasyon içeriğinin hakları Trendyol'a aittir. Bu proje, geliştiricilerin erişimini kolaylaştırmak için yalnızca bir kopyasını içerir.

Available Tools

6 tools
trendyol_call_apiTrendyol API isteği gönderA
Destructive

Herhangi bir Trendyol API işlemini operationId ile, seçilen mağaza adına çalıştırır. Kimlik doğrulama, User-Agent ve sellerId mağazadan otomatik eklenir. Önce trendyol_get_operation ile parametreleri öğrenin. store: mağaza adı (trendyol_list_stores), boşsa varsayılan mağaza; "*" verilirse okuma işlemi tüm mağazalarda sırayla çalışır. Yazma işlemleri sadece yazma izni açık mağazalarda çalışır. dryRun: true ile istek gönderilmeden oluşturulan URL/gövde gösterilir.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNoJSON istek gövdesi
queryNoQuery parametreleri
storeNoMağaza adı veya satıcı ID. Boş = varsayılan mağaza. "*" = tüm mağazalar (sadece okuma)
dryRunNo
headersNoEk header'lar (örn. storefrontcode)
formDataNomultipart/form-data alanları; dosyalar için { filePath }
pathParamsNoYol parametreleri, örn. { packageId: 123 }
operationIdYes
maxResponseCharsNoYanıt bu uzunluktan sonra kırpılır (çoklu mağazada mağaza başına)

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag destructiveHint=true and openWorldHint=true, but the description adds real context beyond them: auth, User-Agent and sellerId are injected automatically from the store, "*" is read-only, and dryRun:true returns the built URL/body without sending. It does not discuss rate limits, error/partial-failure behavior across multiple stores, or retries.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Information is front-loaded: the tool's purpose, then the auto-injected credentials, then the prerequisite call, then the store and dryRun semantics. It is dense but each sentence carries distinct operational value; only minor tightening is possible.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a generic destructive dispatcher with 9 parameters and no output schema, the description covers the critical unknowns: scope of stores, read/write permission gating, auth injection, and a safe dryRun preview. Missing only multi-store failure semantics and response-shape expectations, which matter less given the parameterized, open-world nature of the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 78%, so most parameters (body, query, headers, formData, pathParams, maxResponseChars) are already documented structurally. The description adds meaning for store and dryRun — notably that dryRun shows the generated URL/body without sending — but leaves the remaining parameters unaddressed, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: executes any Trendyol API operation identified by operationId, on behalf of a chosen store. It distinguishes itself from siblings by naming trendyol_get_operation (for parameter discovery) and trendyol_list_stores (for store names), so an agent can tell it apart without opening another schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to call trendyol_get_operation first to learn parameters, defines the store argument's three modes (name, empty = default, "*" = all stores for reads only), and states that write operations run only on stores with write permission. Prerequisites and constraints are spelled out rather than implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

trendyol_get_operationTrendyol API işleminin ayrıntılarıA
Read-only

Bir API işleminin tam tanımını verir: URL'ler, parametreler, istek gövdesi şeması (zorunlu alanlar * ile), yanıt şeması, örnekler ve örnek TypeScript kodu.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawSchemaNotrue ise sadeleştirilmiş taslak yerine ham JSON Schema döner
operationIdYesÖrn. getShipmentPackages, createProducts, updatePriceAndInventory

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true and openWorldHint=false, so safety is already covered; the description adds genuine value by detailing the shape of the payload returned (schemas, required-field asterisk convention, examples, TS code). With no output schema present, this return-content disclosure is exactly the kind of context the description should carry, though it says nothing about size or truncation of large operation definitions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense sentence with the resource named first and the returned artifacts listed after the colon, so nothing is wasted. The trailing enumeration is long but each item is informative, and the '*' convention note earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only lookup tool with no output schema, the description successfully enumerates what comes back and how required fields are marked, which is enough for an agent to call it correctly. Only minor gaps remain: no mention of behavior for an unknown operationId or of response size limits.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: both operationId (with concrete examples) and rawSchema (raw JSON Schema vs. simplified draft) are already documented in the schema. The description adds only the output-side note about required fields being marked with '*', not new parameter semantics. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: it returns the full definition of a single API operation, enumerating exactly what is included (URLs, parameters, request body schema, response schema, examples, TypeScript sample). It is clearly distinct from trendyol_list_operations (enumeration) and trendyol_call_api (execution), but it never explicitly names those siblings to sharpen the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: the mention of full schemas, examples and code suggests calling it before trendyol_call_api or after trendyol_list_operations, but no when-to-use/when-not-to-use condition or alternative is spelled out. An agent must infer the position of this tool in the workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

trendyol_list_operationsTrendyol API işlemlerini listeleB
Read-only

Tüm Trendyol API işlemlerini (operationId, HTTP metodu, yol, kısa açıklama) bölümlere göre listeler. Ürün, sipariş, iade, fatura, webhook, finans, soru-cevap, adres, etiket, ihracat (AutoFT) vb.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoall
filterNoBölüm, yol, operationId ya da açıklamada geçen kelime (örn. 'iade', 'webhook', 'product')

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description goes further by disclosing what the output contains (operationId, HTTP method, path, short description) and the scope of sections, which is valuable since no output schema exists; it does not mention size or pagination limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the purpose and return fields, followed by the section enumeration that scopes coverage. No filler, though the trailing category list is somewhat long.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description usefully summarizes the returned fields and section scope. However, it omits how this fits the workflow relative to siblings (e.g., discover here, then get_operation/call_api) and says nothing about pagination or result size, leaving gaps for a catalog-listing tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%: the 'filter' parameter is documented in the schema but the 'type' enum (all/read/write) has no description. The tool description adds nothing about either parameter, so it fails to compensate for the half of the schema that is undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (list) and resource (all Trendyol API operations) and even enumerates the fields returned (operationId, HTTP method, path, short description) plus the covered sections. It is clearly distinguishable from get_operation or search_docs by being a full-catalog listing, though it never names a sibling to sharpen the contrast.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: listing all operations by section suggests a discovery/browse entry point, but the description never states when to prefer this over trendyol_search_docs or trendyol_get_operation, nor any exclusions or prerequisites. Adequate but leaves routing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

trendyol_list_storesTanımlı Trendyol mağazalarıA
Read-only

Kullanıcının bu bilgisayarda tanımladığı Trendyol mağazalarını listeler (ad, satıcı ID, ortam, yazma izni). API bilgileri gösterilmez. Birden fazla mağaza varsa trendyol_call_api'de store parametresiyle seçim yapılır.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds genuinely new behavioral detail: the scope is stores defined on this local machine, and API credentials are deliberately not returned, which tells the agent what it will and will not see. It stops short of describing ordering or empty-list behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, each earning its place: the listing action, the returned fields, the security caveat, and the follow-up workflow. The core purpose is front-loaded with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description must carry the return-value burden, and it does by naming the four fields returned and explicitly stating that API credentials are withheld. Combined with the annotations covering the safety profile, nothing needed to call this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is no parameter semantics to explain and the baseline is 4. The description correctly does not invent parameter guidance, and instead uses the space to describe the fields the call surfaces.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Kullanıcının bu bilgisayarda tanımladığı Trendyol mağazalarını listeler') and enumerates the returned fields (ad, satıcı ID, ortam, yazma izni). It also names the sibling tool that consumes the result (trendyol_call_api), so an agent can distinguish it from the doc/operation siblings without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies its role as a discovery step by explaining that with multiple stores the choice is made via the store parameter of trendyol_call_api, which is useful workflow context. However, it never explicitly states when to call this tool versus the sibling list tools, nor any exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

trendyol_read_docTrendyol kılavuz sayfasını okuA
Read-only

Bir Trendyol dokümantasyon sayfasını markdown olarak döndürür. slug (örn. '2-authorization') ya da tam URL verin. slug boş bırakılırsa tüm kılavuzların listesi döner.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugNoSayfa slug'ı veya developers.trendyol.com URL'si
offsetNoUzun sayfalarda başlangıç karakteri
maxCharsNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds useful behavior beyond that: the return format (markdown) and the empty-slug fallback that returns a list of all guides. It does not address pagination interaction between offset/maxChars, so it stays at a solid-but-limited 3.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the return type followed by the input format and the fallback behavior. No filler, though the fallback clause could be slightly tighter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly carries the burden of explaining the return value (markdown page vs. guide list) and the input format. It is nearly complete for a read tool; only the offset/maxChars interplay for long pages is left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%; the schema documents slug and offset, but maxChars has bounds only with no prose. The description reinforces slug semantics (slug OR full URL) and the empty-slug behavior, but adds nothing about offset or maxChars, so it does not fully compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: returns a Trendyol documentation page as markdown, plus the fallback listing behavior. An agent can distinguish it from trendyol_search_docs, though the description never names that sibling explicitly to sharpen the contrast.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explains what to pass (slug like '2-authorization' or a full URL) and what happens if the slug is empty, which implies the listing use case. However, it never states when to prefer this over trendyol_search_docs, so the selection guidance is only implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

trendyol_search_docsTrendyol dokümantasyonunda araB
Read-only

developers.trendyol.com içindeki tüm kılavuzlarda ve API işlemlerinde arama yapar (Türkçe karakter duyarsız). Örnek sorgular: 'stok fiyat güncelleme', 'iade onaylama', 'kargo etiketi', 'webhook', 'createProducts'.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNoSadece kılavuz ya da sadece API işlemiall
limitNo
queryYesAranacak kelimeler

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety and scope are largely covered. The description does add a non-obvious behavioral trait (Turkish diacritic/character insensitivity) and confirms the corpus is its own documentation site, but says nothing about ranking, result ordering, or how hits map to the read/operation tools.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences, purpose front-loaded, and the example list consolidates query semantics efficiently. Slightly dense but no wasted filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and three parameters, the description carries the burden of explaining what a result looks like. It never says whether hits are operation names, IDs, or snippets that feed into trendyol_read_doc / trendyol_get_operation, which is the key missing detail for a discovery tool in this toolset.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 67%: 'query' and 'kind' are documented in the schema, while 'limit' (min 1, max 30, default 10) is not described anywhere. The description's mention of 'kılavuzlar' and 'API işlemleri' loosely maps to the kind enum values guide/operation, and the examples clarify what a query string should look like – useful but only marginal beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: searching all guides and API operations on developers.trendyol.com. It implicitly distinguishes itself from siblings like trendyol_get_operation or trendyol_read_doc, but never names an alternative, so sibling differentiation is left to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The example queries ('stok fiyat güncelleme', 'iade onaylama', 'createProducts') illustrate when the tool is useful and imply the free-text nature of input. However, there is no explicit guidance on when to search versus going directly to trendyol_get_operation / trendyol_list_operations, nor any exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updatesv0.1.0
    • First observedtrendyol_call_api
    • First observedtrendyol_get_operation
    • First observedtrendyol_list_operations
    • First observedtrendyol_list_stores
    • First observedtrendyol_read_doc
    • First observedtrendyol_search_docs

TDQS

A4/5.0

Scored across 6 tools

Disambiguation5/5

Each tool targets a distinct stage of the workflow: search_docs/read_doc cover documentation browsing and reading, list_operations/get_operation cover API discovery versus detail, and list_stores/call_api handle store selection and execution. There is no meaningful overlap between any pair of tools.

Naming Consistency5/5

All six tools use a single consistent convention: trendyol_ prefix plus a snake_case verb_noun pattern (search_docs, read_doc, list_operations, get_operation, list_stores, call_api). The verb choices are predictable and uniform across the set.

Tool Count5/5

Six tools is well-scoped for a documentation-and-API-proxy server: four cover the docs/discovery lifecycle, one lists stores, and one executes any operation. No tool feels redundant and none is missing to the point of bloat.

Completeness4/5

The call_api generic executor plus docs/discovery tools give effectively full coverage of all Trendyol API operations, so no lifecycle dead ends exist for API calls. The only minor gap is that stores can be listed but not created or configured from within this tool set.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Enables Turkish e-commerce sellers to manage Trendyol marketplace store operations through AI assistants, including viewing products, orders, returns, and customer questions, with optional guarded write actions for answering questions and updating stock and prices.
    6
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables connecting 13 e-commerce platforms such as Amazon, eBay, WooCommerce, and OTTO to Claude, ChatGPT, Copilot, and Cursor, exposing 160 tools to manage stores, orders, products, and marketplaces through natural language.
    AGPL 3.0