ebay-mcp 1.13.2 → 1.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/README.de.md +3 -3
  2. package/README.es.md +3 -3
  3. package/README.fr.md +3 -3
  4. package/README.ja.md +3 -3
  5. package/README.ko.md +3 -3
  6. package/README.md +163 -41
  7. package/README.pt-BR.md +3 -3
  8. package/README.ru.md +3 -3
  9. package/README.zh-CN.md +3 -3
  10. package/build/api/account-management/account.js +633 -297
  11. package/build/api/analytics-and-report/analytics.js +111 -65
  12. package/build/api/client.js +199 -140
  13. package/build/api/clientRequestError.js +23 -0
  14. package/build/api/clientTrading.js +213 -0
  15. package/build/api/clientTradingError.js +4 -0
  16. package/build/api/communication/feedback.js +147 -59
  17. package/build/api/communication/message.js +134 -81
  18. package/build/api/communication/negotiation.js +65 -53
  19. package/build/api/communication/notification.js +458 -164
  20. package/build/api/developer/developer.js +99 -45
  21. package/build/api/index.js +23 -8
  22. package/build/api/listing-management/inventory.js +884 -338
  23. package/build/api/listing-metadata/metadata.js +416 -170
  24. package/build/api/listing-metadata/taxonomy.js +187 -42
  25. package/build/api/marketing-and-promotions/marketing.js +1392 -598
  26. package/build/api/marketing-and-promotions/recommendation.js +49 -24
  27. package/build/api/order-management/dispute.js +226 -45
  28. package/build/api/order-management/fulfillment.js +144 -71
  29. package/build/api/order-management/orderIssueHelpers.js +61 -0
  30. package/build/api/other/compliance.js +50 -38
  31. package/build/api/other/edelivery.js +603 -159
  32. package/build/api/other/finding.js +280 -0
  33. package/build/api/other/identity.js +30 -15
  34. package/build/api/other/translation.js +29 -14
  35. package/build/api/other/vero.js +113 -27
  36. package/build/api/rateLimitTracker.js +55 -0
  37. package/build/api/shared/request.js +189 -98
  38. package/build/api/trading/trading.js +154 -87
  39. package/build/auth/credentialSession.js +250 -0
  40. package/build/auth/oauth.js +298 -171
  41. package/build/auth/{oauth-metadata.js → oauthMetadata.js} +22 -6
  42. package/build/auth/oauthMiddleware.js +104 -0
  43. package/build/auth/{scope-utils.js → scopeUtils.js} +101 -28
  44. package/build/auth/tokenVerifier.js +243 -0
  45. package/build/auth/tokenVerifierError.js +21 -0
  46. package/build/config/environment.js +148 -113
  47. package/build/config/{tool-families.js → toolFamilies.js} +30 -14
  48. package/build/index.js +25 -19
  49. package/build/mcp/{http-transport.js → httpTransport.js} +102 -52
  50. package/build/mcp/readOnlyFilter.js +67 -0
  51. package/build/mcp/runtime.js +31 -13
  52. package/build/mcp/{tool-gating.js → toolGating.js} +77 -49
  53. package/build/mcp/{ui-bridge.js → uiBridge.js} +80 -23
  54. package/build/schemas/account-management/account.js +144 -6
  55. package/build/schemas/analytics/analytics.js +33 -19
  56. package/build/schemas/communication/messages.js +12 -42
  57. package/build/schemas/developer/developer.js +135 -0
  58. package/build/schemas/fulfillment/orders.js +183 -21
  59. package/build/schemas/index.js +27 -19
  60. package/build/schemas/inventory-management/inventory.js +17 -9
  61. package/build/schemas/marketing/marketing.js +480 -25
  62. package/build/schemas/metadata/metadata.js +11 -6
  63. package/build/schemas/other/finding.js +27 -0
  64. package/build/schemas/other/otherApis.js +424 -0
  65. package/build/schemas/taxonomy/taxonomy.js +11 -5
  66. package/build/scripts/{auto-setup.js → autoSetup.js} +87 -74
  67. package/build/scripts/{build-ui.js → buildUi.js} +6 -1
  68. package/build/scripts/{dev-sync.js → devSync.js} +169 -110
  69. package/build/scripts/diagnostics.js +52 -44
  70. package/build/scripts/{download-specs.js → downloadSpecs.js} +29 -21
  71. package/build/scripts/{interactive-setup.js → interactiveSetup.js} +84 -78
  72. package/build/scripts/setup.js +241 -178
  73. package/build/scripts/{setup-shared.js → setupShared.js} +29 -7
  74. package/build/scripts/skills.js +35 -27
  75. package/build/scripts/updateApiStatusDoc.js +71 -0
  76. package/build/serverHttp.js +90 -0
  77. package/build/skills/content.js +124 -118
  78. package/build/skills/index.js +22 -10
  79. package/build/skills/install.js +21 -10
  80. package/build/skills/markers.js +50 -15
  81. package/build/skills/{registry-snapshot.js → registrySnapshot.js} +8 -2
  82. package/build/skills/render.js +41 -14
  83. package/build/skills/targets.js +49 -17
  84. package/build/tools/categories/account.js +166 -264
  85. package/build/tools/categories/analytics.js +11 -22
  86. package/build/tools/categories/browse.js +17 -0
  87. package/build/tools/categories/communication.js +124 -399
  88. package/build/tools/categories/connector.js +23 -20
  89. package/build/tools/categories/developer.js +46 -159
  90. package/build/tools/categories/fulfillment.js +84 -215
  91. package/build/tools/categories/index.js +6 -14
  92. package/build/tools/categories/inventory.js +238 -293
  93. package/build/tools/categories/marketing.js +677 -39
  94. package/build/tools/categories/metadata.js +190 -117
  95. package/build/tools/categories/other.js +81 -208
  96. package/build/tools/categories/taxonomy.js +29 -20
  97. package/build/tools/categories/{token-management.js → tokenManagement.js} +187 -192
  98. package/build/tools/categories/trading.js +16 -47
  99. package/build/tools/contracts.js +34 -24
  100. package/build/tools/{define-tool.js → defineTool.js} +44 -29
  101. package/build/tools/registry.js +87 -29
  102. package/build/tools/schemas.js +3 -57
  103. package/build/tools/ui/archetypes.js +1 -0
  104. package/build/tools/ui/{map-helpers.js → mapHelpers.js} +69 -19
  105. package/build/tools/ui/maps.js +294 -80
  106. package/build/types/index.js +1 -1
  107. package/build/ui/card.html +14 -14
  108. package/build/ui/chart.html +14 -14
  109. package/build/ui/stat.html +87 -0
  110. package/build/ui/table.html +14 -14
  111. package/build/utils/apiStatusFeed.js +95 -0
  112. package/build/utils/cliOutput.js +15 -0
  113. package/build/utils/cliUi.js +108 -0
  114. package/build/utils/communication/feedback.js +57 -77
  115. package/build/utils/communication/message.js +69 -98
  116. package/build/utils/communication/negotiation.js +30 -57
  117. package/build/utils/communication/notification.js +112 -252
  118. package/build/utils/{date-converter.js → dateConverter.js} +62 -30
  119. package/build/utils/effectSchema.js +203 -0
  120. package/build/utils/effectSchemaAdapter.js +121 -0
  121. package/build/utils/effectSchemaChainMethods.js +146 -0
  122. package/build/utils/effectSchemaRefinements.js +104 -0
  123. package/build/utils/effectSchemaStringMethods.js +63 -0
  124. package/build/utils/effectSchemaTypes.js +47 -0
  125. package/build/utils/{env-parser.js → envParser.js} +10 -2
  126. package/build/utils/errors.js +7 -3
  127. package/build/utils/http.js +148 -89
  128. package/build/utils/{llm-client-detector.js → llmClientDetector.js} +295 -274
  129. package/build/utils/logger.js +127 -51
  130. package/build/utils/{oauth-helper.js → oauthHelper.js} +127 -90
  131. package/build/utils/other/compliance.js +18 -38
  132. package/build/utils/other/identity.js +2 -2
  133. package/build/utils/other/translation.js +4 -4
  134. package/build/utils/other/vero.js +36 -20
  135. package/build/utils/schemaHelpers.js +22 -0
  136. package/build/utils/scopeHelper.js +270 -0
  137. package/build/utils/securityChecker.js +316 -0
  138. package/build/utils/{setup-validator.js → setupValidator.js} +113 -94
  139. package/build/utils/{setup-wizard.js → setupWizard.js} +57 -46
  140. package/build/utils/{token-utils.js → tokenUtils.js} +2 -2
  141. package/build/utils/trading/trading.js +35 -0
  142. package/build/utils/typeGuards.js +12 -0
  143. package/build/utils/version.js +65 -29
  144. package/package.json +10 -8
  145. package/build/api/client-trading.js +0 -124
  146. package/build/api/communication/shared.js +0 -59
  147. package/build/api/shared/query-params.js +0 -16
  148. package/build/auth/credential-session.js +0 -166
  149. package/build/auth/oauth-middleware.js +0 -100
  150. package/build/auth/token-verifier.js +0 -186
  151. package/build/schemas/other/other-apis.js +0 -390
  152. package/build/scripts/update-api-status-doc.js +0 -44
  153. package/build/server-http.js +0 -85
  154. package/build/tools/definitions/marketing.js +0 -1381
  155. package/build/tools/tool-handlers/marketing.js +0 -312
  156. package/build/utils/account-management/account.js +0 -818
  157. package/build/utils/api-status-feed.js +0 -84
  158. package/build/utils/cli-ui.js +0 -47
  159. package/build/utils/order-management/dispute.js +0 -369
  160. package/build/utils/order-management/fulfillment.js +0 -205
  161. package/build/utils/other/edelivery.js +0 -235
  162. package/build/utils/schema-helpers.js +0 -13
  163. package/build/utils/scope-helper.js +0 -207
  164. package/build/utils/security-checker.js +0 -248
  165. package/build/utils/type-guards.js +0 -6
  166. /package/build/auth/{oauth-types.js → oauthTypes.js} +0 -0
  167. /package/build/{server-http.d.ts → serverHttp.d.ts} +0 -0
  168. /package/build/tools/ui/{view-models.js → viewModels.js} +0 -0
  169. /package/build/types/{ebay-enums.js → ebayEnums.js} +0 -0
package/README.de.md CHANGED
@@ -218,7 +218,7 @@ Die Limits des Benutzer-Tokens variieren je nach Kontostufe (Individual 10k · C
218
218
 
219
219
  ### MCP-Client-Kompatibilität
220
220
 
221
- Automatisch konfiguriert durch `npm run setup`. Erfordert Node.js ≥ 18 und das MCP-Protokoll 1.0+ über STDIO (Standard) oder HTTP.
221
+ Automatisch konfiguriert durch `npm run setup`. Erfordert Node.js ≥ 20 und das MCP-Protokoll 1.0+ über STDIO (Standard) oder HTTP.
222
222
 
223
223
  | Client | Plattform | Konfigurationspfad |
224
224
  | ---------------------- | --------------------- | --------------------------------------------------------------------------- |
@@ -248,7 +248,7 @@ Automatisch konfiguriert durch `npm run setup`. Erfordert Node.js ≥ 18 und das
248
248
  | [Taxonomy](src/tools/categories/taxonomy.ts) | Kategoriebäume, Artikelmerkmale, Artikelzustände |
249
249
  | [Trading (Legacy-XML)](src/tools/categories/trading.ts) | Festpreisangebote erstellen, überarbeiten, neu einstellen und beenden |
250
250
  | [Developer](src/tools/categories/developer.ts) | Ratenlimits, Signaturschlüssel, Client-Registrierung |
251
- | [Token Management](src/tools/categories/token-management.ts) | OAuth-URL-Generierung und Token-Verwaltung |
251
+ | [Token Management](src/tools/categories/tokenManagement.ts) | OAuth-URL-Generierung und Token-Verwaltung |
252
252
 
253
253
  **Beispiel-Tools:** `ebay_get_inventory_items`, `ebay_get_orders`, `ebay_create_offer`, `ebay_get_campaigns`, `ebay_get_oauth_url`.
254
254
 
@@ -326,7 +326,7 @@ Es läuft vollständig auf deinem Rechner über STDIO (oder lokales HTTP). Es gi
326
326
 
327
327
  ### Was brauche ich, um loszulegen?
328
328
 
329
- Node.js ≥ 18, ein kostenloses [eBay-Entwicklerkonto](https://developer.ebay.com/) (Client ID + Client Secret) und dann `npm run setup`.
329
+ Node.js ≥ 20, ein kostenloses [eBay-Entwicklerkonto](https://developer.ebay.com/) (Client ID + Client Secret) und dann `npm run setup`.
330
330
 
331
331
  ### Wie hoch sind die Ratenlimits der eBay-API?
332
332
 
package/README.es.md CHANGED
@@ -218,7 +218,7 @@ Los límites del token de usuario varían según el nivel de cuenta (Individual
218
218
 
219
219
  ### Compatibilidad de clientes MCP
220
220
 
221
- Autoconfigurados por `npm run setup`. Requiere Node.js ≥ 18 y el protocolo MCP 1.0+ mediante STDIO (predeterminado) o HTTP.
221
+ Autoconfigurados por `npm run setup`. Requiere Node.js ≥ 20 y el protocolo MCP 1.0+ mediante STDIO (predeterminado) o HTTP.
222
222
 
223
223
  | Cliente | Plataforma | Ruta de configuración |
224
224
  | ---------------------- | --------------------- | --------------------------------------------------------------------------- |
@@ -248,7 +248,7 @@ Autoconfigurados por `npm run setup`. Requiere Node.js ≥ 18 y el protocolo MCP
248
248
  | [Taxonomy](src/tools/categories/taxonomy.ts) | Árboles de categorías, aspectos de artículos, condiciones de artículos |
249
249
  | [Trading (XML heredado)](src/tools/categories/trading.ts) | Crear, revisar, volver a publicar y finalizar anuncios de precio fijo |
250
250
  | [Developer](src/tools/categories/developer.ts) | Límites de tasa, claves de firma, registro de clientes |
251
- | [Token Management](src/tools/categories/token-management.ts) | Generación de URL de OAuth y gestión de tokens |
251
+ | [Token Management](src/tools/categories/tokenManagement.ts) | Generación de URL de OAuth y gestión de tokens |
252
252
 
253
253
  **Herramientas de ejemplo:** `ebay_get_inventory_items`, `ebay_get_orders`, `ebay_create_offer`, `ebay_get_campaigns`, `ebay_get_oauth_url`.
254
254
 
@@ -326,7 +326,7 @@ Se ejecuta íntegramente en tu máquina mediante STDIO (o HTTP local). No hay re
326
326
 
327
327
  ### ¿Qué necesito para empezar?
328
328
 
329
- Node.js ≥ 18, una [cuenta de desarrollador de eBay](https://developer.ebay.com/) gratuita (Client ID + Client Secret) y luego ejecutar `npm run setup`.
329
+ Node.js ≥ 20, una [cuenta de desarrollador de eBay](https://developer.ebay.com/) gratuita (Client ID + Client Secret) y luego ejecutar `npm run setup`.
330
330
 
331
331
  ### ¿Cuáles son los límites de tasa de la API de eBay?
332
332
 
package/README.fr.md CHANGED
@@ -218,7 +218,7 @@ Les limites du jeton utilisateur varient selon le niveau de compte (Individuel 1
218
218
 
219
219
  ### Compatibilité des clients MCP
220
220
 
221
- Configurés automatiquement par `npm run setup`. Nécessite Node.js ≥ 18 et le protocole MCP 1.0+ via STDIO (par défaut) ou HTTP.
221
+ Configurés automatiquement par `npm run setup`. Nécessite Node.js ≥ 20 et le protocole MCP 1.0+ via STDIO (par défaut) ou HTTP.
222
222
 
223
223
  | Client | Plateforme | Chemin de configuration |
224
224
  | ---------------------- | --------------------- | --------------------------------------------------------------------------- |
@@ -248,7 +248,7 @@ Configurés automatiquement par `npm run setup`. Nécessite Node.js ≥ 18 et le
248
248
  | [Taxonomy](src/tools/categories/taxonomy.ts) | Arbres de catégories, aspects d'articles, états d'articles |
249
249
  | [Trading (XML hérité)](src/tools/categories/trading.ts) | Créer, réviser, remettre en vente et clôturer des annonces à prix fixe |
250
250
  | [Developer](src/tools/categories/developer.ts) | Limites de débit, clés de signature, enregistrement de clients |
251
- | [Token Management](src/tools/categories/token-management.ts) | Génération d'URL OAuth et gestion des jetons |
251
+ | [Token Management](src/tools/categories/tokenManagement.ts) | Génération d'URL OAuth et gestion des jetons |
252
252
 
253
253
  **Outils d'exemple :** `ebay_get_inventory_items`, `ebay_get_orders`, `ebay_create_offer`, `ebay_get_campaigns`, `ebay_get_oauth_url`.
254
254
 
@@ -326,7 +326,7 @@ Il s'exécute entièrement sur votre machine via STDIO (ou HTTP local). Il n'y a
326
326
 
327
327
  ### De quoi ai-je besoin pour commencer ?
328
328
 
329
- Node.js ≥ 18, un [compte développeur eBay](https://developer.ebay.com/) gratuit (Client ID + Client Secret), puis lancez `npm run setup`.
329
+ Node.js ≥ 20, un [compte développeur eBay](https://developer.ebay.com/) gratuit (Client ID + Client Secret), puis lancez `npm run setup`.
330
330
 
331
331
  ### Quelles sont les limites de débit de l'API eBay ?
332
332
 
package/README.ja.md CHANGED
@@ -218,7 +218,7 @@ EBAY_MCP_UI=on # インタラクティブな MCP Apps 表
218
218
 
219
219
  ### MCP クライアント互換性
220
220
 
221
- `npm run setup` により自動設定されます。Node.js ≥ 18 と、STDIO(既定)または HTTP 経由の MCP プロトコル 1.0+ が必要です。
221
+ `npm run setup` により自動設定されます。Node.js ≥ 20 と、STDIO(既定)または HTTP 経由の MCP プロトコル 1.0+ が必要です。
222
222
 
223
223
  | クライアント | プラットフォーム | 設定パス |
224
224
  | ---------------------- | --------------------- | --------------------------------------------------------------------------- |
@@ -248,7 +248,7 @@ EBAY_MCP_UI=on # インタラクティブな MCP Apps 表
248
248
  | [Taxonomy](src/tools/categories/taxonomy.ts) | カテゴリツリー、アイテムの特性、アイテムのコンディション |
249
249
  | [Trading(レガシー XML)](src/tools/categories/trading.ts) | 固定価格出品の作成・修正・再出品・終了 |
250
250
  | [Developer](src/tools/categories/developer.ts) | レート制限、署名キー、クライアント登録 |
251
- | [Token Management](src/tools/categories/token-management.ts) | OAuth URL の生成とトークン管理 |
251
+ | [Token Management](src/tools/categories/tokenManagement.ts) | OAuth URL の生成とトークン管理 |
252
252
 
253
253
  **ツール例:** `ebay_get_inventory_items`、`ebay_get_orders`、`ebay_create_offer`、`ebay_get_campaigns`、`ebay_get_oauth_url`。
254
254
 
@@ -326,7 +326,7 @@ STDIO(またはローカル HTTP)経由で完全にあなたのマシン上
326
326
 
327
327
  ### 始めるには何が必要ですか?
328
328
 
329
- Node.js ≥ 18、無料の [eBay 開発者アカウント](https://developer.ebay.com/)(Client ID + Client Secret)、そして `npm run setup` の実行です。
329
+ Node.js ≥ 20、無料の [eBay 開発者アカウント](https://developer.ebay.com/)(Client ID + Client Secret)、そして `npm run setup` の実行です。
330
330
 
331
331
  ### eBay API のレート制限はどれくらいですか?
332
332
 
package/README.ko.md CHANGED
@@ -218,7 +218,7 @@ EBAY_MCP_UI=on # 대화형 MCP Apps 보기(베타); 일반
218
218
 
219
219
  ### MCP 클라이언트 호환성
220
220
 
221
- `npm run setup`으로 자동 구성됩니다. Node.js ≥ 18과 STDIO(기본) 또는 HTTP를 통한 MCP 프로토콜 1.0+가 필요합니다.
221
+ `npm run setup`으로 자동 구성됩니다. Node.js ≥ 20과 STDIO(기본) 또는 HTTP를 통한 MCP 프로토콜 1.0+가 필요합니다.
222
222
 
223
223
  | 클라이언트 | 플랫폼 | 구성 경로 |
224
224
  | ---------------------- | --------------------- | --------------------------------------------------------------------------- |
@@ -248,7 +248,7 @@ EBAY_MCP_UI=on # 대화형 MCP Apps 보기(베타); 일반
248
248
  | [Taxonomy](src/tools/categories/taxonomy.ts) | 카테고리 트리, 항목 속성, 항목 상태 |
249
249
  | [Trading(레거시 XML)](src/tools/categories/trading.ts) | 고정 가격 리스팅 생성, 수정, 재등록, 종료 |
250
250
  | [Developer](src/tools/categories/developer.ts) | 속도 제한, 서명 키, 클라이언트 등록 |
251
- | [Token Management](src/tools/categories/token-management.ts) | OAuth URL 생성 및 토큰 관리 |
251
+ | [Token Management](src/tools/categories/tokenManagement.ts) | OAuth URL 생성 및 토큰 관리 |
252
252
 
253
253
  **예시 도구:** `ebay_get_inventory_items`, `ebay_get_orders`, `ebay_create_offer`, `ebay_get_campaigns`, `ebay_get_oauth_url`.
254
254
 
@@ -326,7 +326,7 @@ STDIO(또는 로컬 HTTP)를 통해 전적으로 사용자의 컴퓨터에서
326
326
 
327
327
  ### 시작하려면 무엇이 필요한가요?
328
328
 
329
- Node.js ≥ 18, 무료 [eBay 개발자 계정](https://developer.ebay.com/)(Client ID + Client Secret), 그리고 `npm run setup` 실행입니다.
329
+ Node.js ≥ 20, 무료 [eBay 개발자 계정](https://developer.ebay.com/)(Client ID + Client Secret), 그리고 `npm run setup` 실행입니다.
330
330
 
331
331
  ### eBay API 속도 제한은 어떻게 되나요?
332
332
 
package/README.md CHANGED
@@ -45,13 +45,14 @@
45
45
 
46
46
  ---
47
47
 
48
- **eBay MCP** is a local [Model Context Protocol](https://modelcontextprotocol.io) server that connects AI assistants — Claude Desktop, Claude Code, Cursor, Cline, Windsurf, Zed, Continue.dev, Roo Code, and Amazon Q — directly to **eBay's Sell APIs**. It exposes **322 tools** spanning **100% of eBay's Sell API surface** (270 unique endpoints) for inventory management, order fulfillment, promoted-listings marketing, analytics, and developer tooling. Everything runs on your machine over STDIO or local HTTP — **no cloud relay**, and your eBay credentials never leave your computer.
48
+ **eBay MCP** is a local [Model Context Protocol](https://modelcontextprotocol.io) server that connects AI assistants — [Claude Desktop](https://claude.ai/download), [Claude Code](https://code.claude.com/docs/en/overview), [Cursor](https://cursor.com/), [Cline](https://cline.bot/), [Windsurf](https://windsurf.com/), [Zed](https://zed.dev/), [Continue.dev](https://docs.continue.dev/), [Roo Code](https://roocode.com/), and [Amazon Q Developer](https://aws.amazon.com/q/developer/) — directly to **[eBay's Sell APIs](https://developer.ebay.com/api-docs/sell/static/overview.html)**. It exposes **322 tools** spanning **100% of eBay's Sell API surface** (270 unique endpoints) for inventory management, order fulfillment, promoted-listings marketing, analytics, and developer tooling. Everything runs on your machine over STDIO or local HTTP — **no cloud relay**, and your eBay credentials never leave your computer.
49
49
 
50
50
  > **Disclaimer:** Unofficial, third-party project — **not affiliated with or endorsed by eBay Inc.** Provided "as is" without warranty. You are responsible for complying with [eBay's API License Agreement](https://developer.ebay.com/join/api-license-agreement) and [data-handling requirements](https://developer.ebay.com/api-docs/static/data-handling-update.html), keeping your credentials secure, and staying within rate limits. Test in sandbox before production. See [LICENSE](LICENSE), [SECURITY.md](SECURITY.md), and [EBAY_COMPLIANCE.md](EBAY_COMPLIANCE.md).
51
51
 
52
52
  ## Table of contents
53
53
 
54
54
  - [Features](#features)
55
+ - [Capability map](#capability-map)
55
56
  - [eBay MCP vs. the raw eBay API](#ebay-mcp-vs-the-raw-ebay-api)
56
57
  - [One-click AI setup](#one-click-ai-setup)
57
58
  - [Quick start](#quick-start)
@@ -60,6 +61,7 @@
60
61
  - [Available tools](#available-tools)
61
62
  - [Interactive UI (MCP Apps) — beta](#interactive-ui-mcp-apps)
62
63
  - [Usage examples](#usage-examples)
64
+ - [Scope and safety](#scope-and-safety)
63
65
  - [Logging & troubleshooting](#logging--troubleshooting)
64
66
  - [FAQ](#faq)
65
67
  - [Contributing](#contributing)
@@ -73,11 +75,30 @@
73
75
  - **9 AI clients, auto-configured** — Claude Desktop, Cursor, Zed, Cline, Continue.dev, Windsurf, Roo Code, Claude Code CLI, and Amazon Q Developer.
74
76
  - **OAuth 2.0 built in** — full user-token management with automatic refresh, and smart fallback from user tokens (10k–50k req/day) to client credentials (1k req/day).
75
77
  - **Resilient by default** — automatic retry with exponential backoff on `429` rate limits, and consistent, loud error surfacing.
76
- - **Type-safe** — TypeScript end to end, Zod-validated tool inputs, and OpenAPI-generated types.
78
+ - **Type-safe** — [TypeScript](https://www.typescriptlang.org/) end to end, [Effect](https://effect.website/docs)-backed tool input validation, and [OpenAPI](https://www.openapis.org/)-generated types.
77
79
  - **Local-first & private** — runs over STDIO or local HTTP; your credentials and data never leave your machine.
78
80
  - **Sandbox and production** — switch environments with a single variable.
79
81
  - **One-command setup** — `npm run setup` configures credentials, OAuth, and your MCP client, with a browser auto-opened for the OAuth flow.
80
- - **Well tested** — 1,000+ automated tests run in CI on every change.
82
+ - **Well tested** — 1,000+ automated tests run in CI on every change through [GitHub Actions](https://docs.github.com/en/actions).
83
+
84
+ ## Capability map
85
+
86
+ Use this map when deciding which tool family to expose, or when asking an assistant what it can do. The family names match `EBAY_MCP_TOOLS`, so you can run with all tools, dynamic discovery, or only the families needed for a specific workflow.
87
+
88
+ | Family | What it unlocks | Good first request |
89
+ | --- | --- | --- |
90
+ | `account` | Business policies, fulfillment policies, payment policies, return policies, sales tax, subscriptions, and programs | "Show my eBay fulfillment policies." |
91
+ | `inventory` | Inventory items, offers, inventory locations, item groups, bulk offer flows, and SKU/location mapping | "List my active inventory items and their available quantity." |
92
+ | `fulfillment` | Orders, shipping fulfillments, refunds, payment disputes, and dispute evidence | "Show unfulfilled orders from the last 7 days." |
93
+ | `browse` | Sold/completed listing search (Finding API) for pricing comps | "What have similar items sold for recently?" |
94
+ | `marketing` | Promoted Listings campaigns, ads, promotions, bidding, and marketing reports | "List my active promoted listing campaigns." |
95
+ | `analytics` | Traffic reports, seller standards, and customer-service metrics | "Show my seller standards profile." |
96
+ | `communication` | Buyer-seller messaging, negotiations, notifications, and feedback | "Show recent buyer messages that need a response." |
97
+ | `metadata` / `taxonomy` | Category trees, aspects, item conditions, return-policy metadata, tax jurisdictions, and vehicle compatibility | "Find required item aspects for this category." |
98
+ | `other` | Identity, VeRO, translation, and international shipping support APIs (Compliance tools remain but report eBay's 2026-03-30 decommission) | "Show my current seller identity details." |
99
+ | `developer` / `token-management` | Rate limits, signing keys, OAuth URLs, token refresh, and diagnostics | "Check my eBay API rate limits." |
100
+ | `trading` | Legacy XML fixed-price listing create, revise, relist, and end operations | "Create a fixed-price listing draft from this SKU." |
101
+ | `connector` | ChatGPT connector search/fetch tools over the eBay MCP catalogue | "Search the eBay tool catalogue for order tools." |
81
102
 
82
103
  ## eBay MCP vs. the raw eBay API
83
104
 
@@ -88,7 +109,7 @@ Both talk to the same eBay endpoints — the difference is everything you'd othe
88
109
  | Interface | Natural language through your AI assistant | Hand-written HTTP requests and JSON parsing |
89
110
  | OAuth & token refresh | Built in, with automatic refresh | You implement and maintain it |
90
111
  | Rate-limit handling | Automatic retry with exponential backoff | Manual `429` handling and backoff |
91
- | Input validation | Zod schemas + TypeScript types on every tool | None — you validate your own payloads |
112
+ | Input validation | Effect-backed schemas + TypeScript types on every tool | None — you validate your own payloads |
92
113
  | Setup | One wizard (`npm run setup`) | Per-call auth, headers, and marketplace wiring |
93
114
  | AI client support | 9 clients auto-configured | Not applicable |
94
115
  | API coverage | 322 tools across 100% of the Sell APIs, ready to call | Build each request from the docs |
@@ -155,9 +176,17 @@ npm run setup
155
176
 
156
177
  The wizard configures your eBay credentials, sets up OAuth (for higher rate limits), auto-detects and configures your MCP client, and saves everything automatically.
157
178
 
158
- ### 4. Use
179
+ ### 4. Verify with a read-only request
180
+
181
+ Restart your MCP client and ask:
159
182
 
160
- Restart your MCP client (Claude Desktop, etc.) and start managing eBay through your AI assistant.
183
+ > "Check my eBay API rate limits."
184
+
185
+ That should call `ebay_get_rate_limits` or `ebay_get_user_rate_limits` and confirms the server, credentials, and MCP client wiring without changing seller data.
186
+
187
+ ### 5. Use
188
+
189
+ Start managing eBay through your AI assistant. Begin with read-only questions, then move to mutating inventory, order, or campaign tools after you have confirmed the target environment is sandbox or production.
161
190
 
162
191
  <details>
163
192
  <summary><strong>📸 Visual setup walkthrough (eBay Developer Portal)</strong></summary>
@@ -194,6 +223,9 @@ https://github.com/user-attachments/assets/0173c8df-221c-4943-a4ce-cd20bce79f4b
194
223
 
195
224
  ## Configuration
196
225
 
226
+ <details open>
227
+ <summary><strong>Environment variables, tool exposure, auth &amp; client compatibility</strong></summary>
228
+
197
229
  > 📖 Full reference — every environment variable, OAuth step, and scope — is in the [Configuration Guide](docs/auth/CONFIGURATION.md). `npm run setup` writes the `.env` for you; the variables below are for reference.
198
230
 
199
231
  ```bash
@@ -206,6 +238,11 @@ EBAY_CONTENT_LANGUAGE=en-US # default request content language
206
238
  EBAY_USER_REFRESH_TOKEN=your_token # for higher rate limits
207
239
  EBAY_MCP_UI=on # interactive MCP Apps views (beta); "off" forces plain JSON
208
240
  EBAY_MCP_TOOLS=all # tool exposure: "all", "dynamic", or a family list (see below)
241
+ EBAY_READ_ONLY=false # when true, only register read-only tools (gets/lists/searches)
242
+ # HTTP deploy (optional — Docker / Railway / self-hosted):
243
+ # MCP_HOST=0.0.0.0 # default is 0.0.0.0 when PORT is set
244
+ # MCP_PORT=3000 # preferred over platform PORT
245
+ # MCP_AUTH_TOKEN=secret # static Bearer for HTTP MCP (skips OAuth verifier)
209
246
  ```
210
247
 
211
248
  ### Tool exposure (`EBAY_MCP_TOOLS`)
@@ -218,7 +255,7 @@ By default all tools are advertised to the agent at once. On a long conversation
218
255
  | `dynamic` | Only three discovery tools are visible (`list_ebay_tools`, `enable_ebay_tools`, `disable_ebay_tools`). The agent searches the catalogue and loads only the tools it needs; they then appear natively. | hosts that honor `tools/listChanged` (e.g. Claude) |
219
256
  | `inventory,fulfillment,…` | Registers **only** the named families (listed below), frozen for the session. | every host (incl. ChatGPT, Cursor) |
220
257
 
221
- The family list is literal — you get exactly what you name. ChatGPT connectors need the `connector` family (its `search`/`fetch` tools); add it explicitly, e.g. `EBAY_MCP_TOOLS=connector,inventory`. An unknown family name fails fast at startup with the valid list. Valid families: `connector`, `token-management`, `account`, `inventory`, `fulfillment`, `marketing`, `analytics`, `metadata`, `taxonomy`, `communication`, `other`, `developer`, `trading`.
258
+ The family list is literal — you get exactly what you name. ChatGPT connectors need the `connector` family (its `search`/`fetch` tools); add it explicitly, e.g. `EBAY_MCP_TOOLS=connector,inventory`. An unknown family name fails fast at startup with the valid list. Valid families: `connector`, `token-management`, `account`, `inventory`, `fulfillment`, `marketing`, `analytics`, `metadata`, `taxonomy`, `communication`, `browse`, `other`, `developer`, `trading`.
222
259
 
223
260
  ### Authentication & rate limits
224
261
 
@@ -231,7 +268,7 @@ User-token limits vary by account tier (Individual 10k · Commercial 25k · Ente
231
268
 
232
269
  ### MCP client compatibility
233
270
 
234
- Auto-configured by `npm run setup`. Requires Node.js ≥ 18 and MCP protocol 1.0+ over STDIO (default) or HTTP.
271
+ Auto-configured by `npm run setup`. Requires [Node.js](https://nodejs.org/en) ≥ 20 and MCP protocol 1.0+ over STDIO (default) or HTTP.
235
272
 
236
273
  | Client | Platform | Config path |
237
274
  | ---------------------- | --------------------- | ---------------------------------------------------------------------------- |
@@ -245,12 +282,18 @@ Auto-configured by `npm run setup`. Requires Node.js ≥ 18 and MCP protocol 1.0
245
282
  | **Claude Code CLI** | Terminal | `~/.claude.json` |
246
283
  | **Amazon Q Developer** | AWS | `~/.aws/amazonq/mcp.json` |
247
284
 
285
+ </details>
286
+
248
287
  ## Available tools
249
288
 
289
+ <details open>
290
+ <summary><strong>322 tools by category (100% Sell API coverage)</strong></summary>
291
+
250
292
  **322 tools**, 100% Sell API coverage, organized by category. Each link points to the tool definitions and handlers in [`src/tools/categories/`](src/tools/categories/):
251
293
 
252
294
  | Category | What you can do |
253
295
  | --- | --- |
296
+ | [Connector](src/tools/categories/connector.ts) | ChatGPT connector search/fetch tools over the eBay MCP catalogue |
254
297
  | [Account](src/tools/categories/account.ts) | Business, fulfillment, payment, and return policies; programs; subscriptions; sales tax |
255
298
  | [Inventory](src/tools/categories/inventory.ts) | Inventory items, offers, locations, item groups, bulk operations, SKU/location mapping |
256
299
  | [Fulfillment](src/tools/categories/fulfillment.ts) | Orders, shipping, refunds, disputes, payment-dispute evidence |
@@ -259,35 +302,44 @@ Auto-configured by `npm run setup`. Requires Node.js ≥ 18 and MCP protocol 1.0
259
302
  | [Communication](src/tools/categories/communication.ts) | Buyer–seller messaging, negotiations, notifications, feedback |
260
303
  | [Metadata](src/tools/categories/metadata.ts) | Return policies, sales-tax jurisdictions, automotive compatibility |
261
304
  | [Taxonomy](src/tools/categories/taxonomy.ts) | Category trees, item aspects, item conditions |
305
+ | [Other](src/tools/categories/other.ts) | Identity, VeRO, translation, and international shipping support APIs (Compliance tools report eBay decommission) |
262
306
  | [Trading (legacy XML)](src/tools/categories/trading.ts) | Fixed-price listing create, revise, relist, end |
263
307
  | [Developer](src/tools/categories/developer.ts) | Rate limits, signing keys, client registration |
264
- | [Token Management](src/tools/categories/token-management.ts) | OAuth URL generation and token management |
308
+ | [Token Management](src/tools/categories/tokenManagement.ts) | OAuth URL generation and token management |
265
309
 
266
310
  **Example tools:** `ebay_get_inventory_items`, `ebay_get_orders`, `ebay_create_offer`, `ebay_get_campaigns`, `ebay_get_oauth_url`.
267
311
 
268
312
  For the complete machine-readable index, see [llms.txt](llms.txt).
269
313
 
314
+ </details>
315
+
270
316
  ## Interactive UI (MCP Apps)
271
317
 
318
+ <details open>
319
+ <summary><strong>Interactive table, card, chart &amp; stat views (beta)</strong></summary>
320
+
272
321
  > **Beta** — this feature is new and evolving alongside the MCP Apps spec, and host support is still rolling out. It is opt-in and falls back to plain JSON, so it never breaks existing clients. Toggle it with `EBAY_MCP_UI` (see [Configuration](#configuration)).
273
322
 
274
- On hosts that support [MCP Apps](https://modelcontextprotocol.io), common read tools render their results as interactive views instead of raw JSON — a sortable **table**, a detail **card**, or a **chart** — using the host's own theme. Everywhere else, the exact same tools return plain JSON, so nothing breaks. It is built on the official [MCP Apps SDK (`@modelcontextprotocol/ext-apps`)](https://github.com/modelcontextprotocol/ext-apps), the extension that lets MCP servers ship interactive UI to conversational clients.
323
+ On hosts that support [MCP Apps](https://modelcontextprotocol.io), common read tools render their results as interactive views instead of raw JSON — a sortable **table**, a detail **card**, a **chart**, or a **stat grid** — using the host's own theme. Everywhere else, the exact same tools return plain JSON, so nothing breaks. It is built on the official [MCP Apps SDK (`@modelcontextprotocol/ext-apps`)](https://github.com/modelcontextprotocol/ext-apps), the extension that lets MCP servers ship interactive UI to conversational clients.
275
324
 
276
325
  - **Opt-in and host-gated.** Views are advertised only to clients that announce the MCP Apps capability (e.g. Claude). Hosts without it (e.g. Cursor) silently get JSON.
277
326
  - **Kill-switch.** Set `EBAY_MCP_UI=off` to force plain JSON everywhere, even on capable hosts.
278
327
  - **Token-cheap.** Each view's HTML is fetched once by the host out of band (never into the model's context); the model only ever sees a one-line summary plus the structured data it would have received anyway.
279
328
  - **Read-only.** Views only ever trigger read tools (drill into a row, page, refresh) — they never mutate your eBay data.
280
329
 
281
- 13 core-workflow tools opt in today, across three archetypes:
330
+ 15 core-workflow tools opt in today, across four archetypes:
282
331
 
283
332
  | Archetype | Tools |
284
333
  | --- | --- |
285
334
  | **Table** | `ebay_get_orders`, `ebay_get_shipping_fulfillments`, `ebay_get_offers`, `ebay_get_inventory_items`, `ebay_get_inventory_locations`, `ebay_get_payment_dispute_summaries` |
286
335
  | **Card** | `ebay_get_order`, `ebay_get_offer`, `ebay_get_inventory_item`, `ebay_get_payment_dispute`, `ebay_get_seller_standards_profile` |
287
336
  | **Chart** | `ebay_get_traffic_report`, `ebay_get_customer_service_metric` |
337
+ | **Stat** | `ebay_get_rate_limits`, `ebay_get_user_rate_limits` |
288
338
 
289
339
  The views build into self-contained HTML with `npm run build` (or `npm run build:ui`); they ship in the published package and load with no network access of their own.
290
340
 
341
+ </details>
342
+
291
343
  ## Usage examples
292
344
 
293
345
  Common tasks, phrased as you'd ask your AI assistant:
@@ -298,6 +350,15 @@ Common tasks, phrased as you'd ask your AI assistant:
298
350
  - **Create campaigns** — *"Create a promoted-listing campaign for electronics."* → `ebay_create_campaign` and related marketing tools.
299
351
  - **Bulk operations** — *"Apply a 10% discount to all 'Vintage Watches' items."* → `ebay_get_inventory_items` + `ebay_update_offer` across matches.
300
352
 
353
+ ## Scope and safety
354
+
355
+ - **Unofficial project.** This is not an eBay product and does not grant any additional API rights beyond your own eBay Developer account.
356
+ - **Local server, live APIs.** The MCP server runs on your machine, but tools still call eBay's sandbox or production APIs over the internet.
357
+ - **Mutating tools can change seller data.** Inventory, fulfillment, marketing, and Trading tools may create, revise, refund, end, or otherwise update eBay records. Test in sandbox first.
358
+ - **Tool exposure is configurable.** Use `EBAY_MCP_TOOLS=dynamic` or a family list when you want a smaller, workflow-specific tool surface.
359
+ - **Interactive views are read-only.** MCP Apps views can page, refresh, and drill into read tools, but they do not mutate eBay data.
360
+ - **Compliance remains yours.** Keep credentials secure, monitor rate limits, and follow eBay's API terms and data-handling rules.
361
+
301
362
  ## Logging & troubleshooting
302
363
 
303
364
  - **Logging** — Winston-based, written to stderr (MCP-safe) with optional file output. See [docs/logging.md](docs/logging.md).
@@ -305,95 +366,156 @@ Common tasks, phrased as you'd ask your AI assistant:
305
366
 
306
367
  ## FAQ
307
368
 
308
- ### What is the eBay MCP server?
369
+ <details>
370
+ <summary><strong>What is the eBay MCP server?</strong></summary>
309
371
 
310
372
  A local [Model Context Protocol](https://modelcontextprotocol.io) server that exposes **322 tools** covering **100% of eBay's Sell APIs** (270 endpoints) to AI assistants — inventory, order fulfillment, marketing, analytics, and developer tools.
311
373
 
312
- ### Is this an official eBay product?
374
+ </details>
375
+
376
+ <details>
377
+ <summary><strong>Is this an official eBay product?</strong></summary>
313
378
 
314
379
  No. This is an unofficial, third-party open-source project. It is **not affiliated with, authorized, or endorsed by eBay Inc.**
315
380
 
316
- ### Which AI assistants and MCP clients are supported?
381
+ </details>
382
+
383
+ <details>
384
+ <summary><strong>Which AI assistants and MCP clients are supported?</strong></summary>
317
385
 
318
386
  Nine clients are auto-configured by `npm run setup`: Claude Desktop, Cursor, Zed, Cline, Continue.dev, Windsurf, Roo Code, Claude Code CLI, and Amazon Q Developer. Any MCP-compatible client can connect.
319
387
 
320
- ### Can I use it with Claude, ChatGPT, or Cursor?
388
+ </details>
389
+
390
+ <details>
391
+ <summary><strong>Can I use it with Claude, ChatGPT, or Cursor?</strong></summary>
321
392
 
322
393
  Yes. It works with Claude Desktop and Claude Code out of the box, with Cursor and other MCP-enabled IDEs, and with any assistant that supports the Model Context Protocol. The one-click setup prompt above works with ChatGPT and other assistants too.
323
394
 
324
- ### Why don't I see the interactive tables and charts?
395
+ </details>
396
+
397
+ <details>
398
+ <summary><strong>Why don't I see the interactive tables and charts?</strong></summary>
325
399
 
326
400
  Interactive [MCP Apps](#interactive-ui-mcp-apps) views only appear on hosts that announce the capability (e.g. Claude); other clients get the same data as plain JSON. Also confirm you have not set `EBAY_MCP_UI=off` and that the views are built (`npm run build` runs `build:ui`).
327
401
 
328
- ### How many eBay APIs and tools does it cover?
402
+ </details>
403
+
404
+ <details>
405
+ <summary><strong>How many eBay APIs and tools does it cover?</strong></summary>
329
406
 
330
407
  322 tools across 270 unique endpoints — 100% of eBay's Sell APIs.
331
408
 
332
- ### Is it free and open source?
409
+ </details>
410
+
411
+ <details>
412
+ <summary><strong>Is it free and open source?</strong></summary>
333
413
 
334
414
  Yes. It is released under the [MIT license](LICENSE).
335
415
 
336
- ### Does it run locally or in the cloud?
416
+ </details>
417
+
418
+ <details>
419
+ <summary><strong>Does it run locally or in the cloud?</strong></summary>
337
420
 
338
421
  It runs entirely on your machine over STDIO (or local HTTP). There is no cloud relay — your eBay credentials never leave your computer.
339
422
 
340
- ### What do I need to get started?
423
+ </details>
424
+
425
+ <details>
426
+ <summary><strong>What do I need to get started?</strong></summary>
341
427
 
342
- Node.js ≥ 18, a free [eBay Developer Account](https://developer.ebay.com/) (Client ID + Client Secret), then run `npm run setup`.
428
+ Node.js ≥ 20, a free [eBay Developer Account](https://developer.ebay.com/) (Client ID + Client Secret), then run `npm run setup`.
343
429
 
344
- ### What are the eBay API rate limits?
430
+ </details>
431
+
432
+ <details>
433
+ <summary><strong>What are the eBay API rate limits?</strong></summary>
345
434
 
346
435
  Client credentials (the default) allow about 1,000 requests/day. Authenticating with a user token via OAuth raises this to 10,000–50,000 requests/day depending on your account tier.
347
436
 
348
- ### Does it support both sandbox and production?
437
+ </details>
438
+
439
+ <details>
440
+ <summary><strong>Does it support both sandbox and production?</strong></summary>
349
441
 
350
442
  Yes. Switch with the `EBAY_ENVIRONMENT` variable (`sandbox` or `production`).
351
443
 
352
- ### Are my credentials and data secure?
444
+ </details>
445
+
446
+ <details>
447
+ <summary><strong>Are my credentials and data secure?</strong></summary>
353
448
 
354
449
  Credentials are stored locally in your `.env` file and used only to call eBay directly. See [SECURITY.md](SECURITY.md) and [EBAY_COMPLIANCE.md](EBAY_COMPLIANCE.md).
355
450
 
356
- ### How is this different from calling the eBay API directly?
451
+ </details>
452
+
453
+ <details>
454
+ <summary><strong>How is this different from calling the eBay API directly?</strong></summary>
455
+
456
+ You interact in natural language through your AI assistant. OAuth token management, automatic retries with backoff, and type-safe Effect-backed validation are built in. See the [comparison table](#ebay-mcp-vs-the-raw-ebay-api) above.
357
457
 
358
- You interact in natural language through your AI assistant. OAuth token management, automatic retries with backoff, and type-safe Zod validation are built in. See the [comparison table](#ebay-mcp-vs-the-raw-ebay-api) above.
458
+ </details>
359
459
 
360
- ### Does it support eBay's legacy Trading API (XML)?
460
+ <details>
461
+ <summary><strong>Does it support eBay's legacy Trading API (XML)?</strong></summary>
361
462
 
362
463
  Yes. Fixed-price listing create, revise, relist, and end operations are supported through the Trading API tools.
363
464
 
364
- ### How do I get higher rate limits?
465
+ </details>
466
+
467
+ <details>
468
+ <summary><strong>How do I get higher rate limits?</strong></summary>
365
469
 
366
470
  Complete the OAuth flow with `npm run setup` to authenticate with a user token (10k–50k requests/day instead of the default 1k).
367
471
 
368
- ### What is it built with?
472
+ </details>
369
473
 
370
- TypeScript and Node.js (ESM), using the official MCP SDK, Zod for validation, and OpenAPI-generated types.
474
+ <details>
475
+ <summary><strong>What is it built with?</strong></summary>
371
476
 
372
- ### How do I update to the latest version?
477
+ TypeScript and Node.js (ESM), using the official MCP SDK, Effect-backed validation with a Zod-compatible MCP adapter, and OpenAPI-generated types.
478
+
479
+ </details>
480
+
481
+ <details>
482
+ <summary><strong>How do I update to the latest version?</strong></summary>
373
483
 
374
484
  Run `npm install -g ebay-mcp@latest` (or `npm update -g ebay-mcp`).
375
485
 
376
- ### Does it work offline?
486
+ </details>
487
+
488
+ <details>
489
+ <summary><strong>Does it work offline?</strong></summary>
377
490
 
378
491
  No. "Runs locally" means the server process runs on your machine — it still needs an internet connection and valid credentials to reach eBay's live APIs.
379
492
 
493
+ </details>
494
+
380
495
  ## Contributing
381
496
 
382
497
  Contributions welcome. Fork → branch → add tests → `npm run check && npm test` → commit with [Conventional Commits](https://www.conventionalcommits.org/) → open a PR.
383
498
 
384
499
  - Working on the codebase or with a coding agent? Start with **[AGENTS.md](AGENTS.md)** — build/test commands, module map, and the add-an-endpoint workflow.
385
- - Full guidelines: **[CONTRIBUTING.md](CONTRIBUTING.md)**.
500
+ - Code style lives in **[CODE-STYLE.md](CODE-STYLE.md)**. Architecture and decision context live in **[ARCHITECTURE.md](ARCHITECTURE.md)** and [ADRs](docs/adr/current/).
501
+ - Full contribution guidelines: **[CONTRIBUTING.md](CONTRIBUTING.md)**.
386
502
 
387
503
  ## Resources
388
504
 
389
- - [eBay Developer Portal](https://developer.ebay.com/) — API docs and credentials
390
- - [eBay API License Agreement](https://developer.ebay.com/join/api-license-agreement) — terms and compliance
391
- - [eBay Data Handling Requirements](https://developer.ebay.com/api-docs/static/data-handling-update.html) — data protection and privacy
392
- - [MCP Documentation](https://modelcontextprotocol.io/) — Model Context Protocol spec
393
- - [OAuth Quick Reference](docs/auth/OAUTH_QUICK_REFERENCE.md) — scopes, troubleshooting, examples
394
- - [eBay API Status](https://developer.ebay.com/support/api-status) — official status page (also via the `ebay_get_api_status` tool and the [in-repo snapshot](docs/API_STATUS.md))
395
- - [CHANGELOG.md](CHANGELOG.md) · [SECURITY.md](SECURITY.md) · [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)
396
- - [Issue Tracker](https://github.com/YosefHayim/ebay-mcp/issues) — bug reports and feature requests
505
+ Project docs:
506
+
507
+ - [Configuration Guide](docs/auth/CONFIGURATION.md) — every environment variable, OAuth step, and eBay scope.
508
+ - [OAuth Quick Reference](docs/auth/OAUTH_QUICK_REFERENCE.md) — scopes, troubleshooting, and examples.
509
+ - [Logging Guide](docs/logging.md) and [Troubleshooting Guide](docs/troubleshooting.md) — operational help after setup.
510
+ - [Architecture](ARCHITECTURE.md), [CODE-STYLE.md](CODE-STYLE.md), [AGENTS.md](AGENTS.md), and [llms.txt](llms.txt) — contributor and agent entry points.
511
+ - [CHANGELOG.md](CHANGELOG.md), [SECURITY.md](SECURITY.md), [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md), and the [Issue Tracker](https://github.com/YosefHayim/ebay-mcp/issues).
512
+
513
+ Official specs and tooling:
514
+
515
+ - [eBay Developer Portal](https://developer.ebay.com/), [Sell API docs](https://developer.ebay.com/api-docs/sell/static/overview.html), [API License Agreement](https://developer.ebay.com/join/api-license-agreement), [Data Handling Requirements](https://developer.ebay.com/api-docs/static/data-handling-update.html), and [API Status](https://developer.ebay.com/support/api-status).
516
+ - [Model Context Protocol](https://modelcontextprotocol.io/) and the [MCP Apps SDK](https://github.com/modelcontextprotocol/ext-apps).
517
+ - [Node.js](https://nodejs.org/en), [npm package](https://www.npmjs.com/package/ebay-mcp), [TypeScript](https://www.typescriptlang.org/), [Effect](https://effect.website/docs), [Biome](https://biomejs.dev/), [Vitest](https://vitest.dev/), and [GitHub Actions](https://docs.github.com/en/actions).
518
+ - [AGENTS.md convention](https://agents.md/), [Claude Code](https://code.claude.com/docs/en/overview), [GitHub Copilot repository instructions](https://docs.github.com/en/copilot/how-tos/copilot-on-github/customize-copilot/add-custom-instructions/add-repository-instructions), and [llms.txt](https://llmstxt.org/).
397
519
 
398
520
  ## License
399
521
 
package/README.pt-BR.md CHANGED
@@ -218,7 +218,7 @@ Os limites do token de usuário variam conforme o nível da conta (Individual 10
218
218
 
219
219
  ### Compatibilidade de clientes MCP
220
220
 
221
- Autoconfigurados pelo `npm run setup`. Requer Node.js ≥ 18 e o protocolo MCP 1.0+ via STDIO (padrão) ou HTTP.
221
+ Autoconfigurados pelo `npm run setup`. Requer Node.js ≥ 20 e o protocolo MCP 1.0+ via STDIO (padrão) ou HTTP.
222
222
 
223
223
  | Cliente | Plataforma | Caminho de configuração |
224
224
  | ---------------------- | --------------------- | --------------------------------------------------------------------------- |
@@ -248,7 +248,7 @@ Autoconfigurados pelo `npm run setup`. Requer Node.js ≥ 18 e o protocolo MCP 1
248
248
  | [Taxonomy](src/tools/categories/taxonomy.ts) | Árvores de categorias, aspectos de itens, condições de itens |
249
249
  | [Trading (XML legado)](src/tools/categories/trading.ts) | Criar, revisar, republicar e encerrar anúncios de preço fixo |
250
250
  | [Developer](src/tools/categories/developer.ts) | Limites de taxa, chaves de assinatura, registro de clientes |
251
- | [Token Management](src/tools/categories/token-management.ts) | Geração de URL de OAuth e gestão de tokens |
251
+ | [Token Management](src/tools/categories/tokenManagement.ts) | Geração de URL de OAuth e gestão de tokens |
252
252
 
253
253
  **Ferramentas de exemplo:** `ebay_get_inventory_items`, `ebay_get_orders`, `ebay_create_offer`, `ebay_get_campaigns`, `ebay_get_oauth_url`.
254
254
 
@@ -326,7 +326,7 @@ Roda inteiramente na sua máquina via STDIO (ou HTTP local). Não há relay na n
326
326
 
327
327
  ### O que preciso para começar?
328
328
 
329
- Node.js ≥ 18, uma [conta de desenvolvedor do eBay](https://developer.ebay.com/) gratuita (Client ID + Client Secret) e então rodar `npm run setup`.
329
+ Node.js ≥ 20, uma [conta de desenvolvedor do eBay](https://developer.ebay.com/) gratuita (Client ID + Client Secret) e então rodar `npm run setup`.
330
330
 
331
331
  ### Quais são os limites de taxa da API do eBay?
332
332
 
package/README.ru.md CHANGED
@@ -218,7 +218,7 @@ EBAY_MCP_UI=on # интерактивные предста
218
218
 
219
219
  ### Совместимость MCP-клиентов
220
220
 
221
- Автоматически настраиваются `npm run setup`. Требуется Node.js ≥ 18 и протокол MCP 1.0+ через STDIO (по умолчанию) или HTTP.
221
+ Автоматически настраиваются `npm run setup`. Требуется Node.js ≥ 20 и протокол MCP 1.0+ через STDIO (по умолчанию) или HTTP.
222
222
 
223
223
  | Клиент | Платформа | Путь к конфигурации |
224
224
  | ---------------------- | --------------------- | --------------------------------------------------------------------------- |
@@ -248,7 +248,7 @@ EBAY_MCP_UI=on # интерактивные предста
248
248
  | [Taxonomy](src/tools/categories/taxonomy.ts) | Деревья категорий, характеристики товаров, состояния товаров |
249
249
  | [Trading (устаревший XML)](src/tools/categories/trading.ts) | Создание, изменение, повторное размещение и завершение объявлений с фиксированной ценой |
250
250
  | [Developer](src/tools/categories/developer.ts) | Лимиты запросов, ключи подписи, регистрация клиентов |
251
- | [Token Management](src/tools/categories/token-management.ts) | Генерация URL OAuth и управление токенами |
251
+ | [Token Management](src/tools/categories/tokenManagement.ts) | Генерация URL OAuth и управление токенами |
252
252
 
253
253
  **Примеры инструментов:** `ebay_get_inventory_items`, `ebay_get_orders`, `ebay_create_offer`, `ebay_get_campaigns`, `ebay_get_oauth_url`.
254
254
 
@@ -326,7 +326,7 @@ EBAY_MCP_UI=on # интерактивные предста
326
326
 
327
327
  ### Что нужно для начала работы?
328
328
 
329
- Node.js ≥ 18, бесплатный [аккаунт разработчика eBay](https://developer.ebay.com/) (Client ID + Client Secret), затем запустите `npm run setup`.
329
+ Node.js ≥ 20, бесплатный [аккаунт разработчика eBay](https://developer.ebay.com/) (Client ID + Client Secret), затем запустите `npm run setup`.
330
330
 
331
331
  ### Каковы лимиты запросов API eBay?
332
332
 
package/README.zh-CN.md CHANGED
@@ -218,7 +218,7 @@ EBAY_MCP_UI=on # 交互式 MCP Apps 视图(测试版)
218
218
 
219
219
  ### MCP 客户端兼容性
220
220
 
221
- 由 `npm run setup` 自动配置。需要 Node.js ≥ 18 以及通过 STDIO(默认)或 HTTP 的 MCP 协议 1.0+。
221
+ 由 `npm run setup` 自动配置。需要 Node.js ≥ 20 以及通过 STDIO(默认)或 HTTP 的 MCP 协议 1.0+。
222
222
 
223
223
  | 客户端 | 平台 | 配置路径 |
224
224
  | ---------------------- | --------------------- | --------------------------------------------------------------------------- |
@@ -248,7 +248,7 @@ EBAY_MCP_UI=on # 交互式 MCP Apps 视图(测试版)
248
248
  | [Taxonomy](src/tools/categories/taxonomy.ts) | 类目树、商品属性、商品成色 |
249
249
  | [Trading(旧版 XML)](src/tools/categories/trading.ts) | 固定价格刊登的创建、修改、重新刊登和结束 |
250
250
  | [Developer](src/tools/categories/developer.ts) | 速率限制、签名密钥、客户端注册 |
251
- | [Token Management](src/tools/categories/token-management.ts) | OAuth URL 生成与令牌管理 |
251
+ | [Token Management](src/tools/categories/tokenManagement.ts) | OAuth URL 生成与令牌管理 |
252
252
 
253
253
  **示例工具:** `ebay_get_inventory_items`、`ebay_get_orders`、`ebay_create_offer`、`ebay_get_campaigns`、`ebay_get_oauth_url`。
254
254
 
@@ -326,7 +326,7 @@ EBAY_MCP_UI=on # 交互式 MCP Apps 视图(测试版)
326
326
 
327
327
  ### 我需要什么才能开始?
328
328
 
329
- Node.js ≥ 18、一个免费的 [eBay 开发者账号](https://developer.ebay.com/)(Client ID + Client Secret),然后运行 `npm run setup`。
329
+ Node.js ≥ 20、一个免费的 [eBay 开发者账号](https://developer.ebay.com/)(Client ID + Client Secret),然后运行 `npm run setup`。
330
330
 
331
331
  ### eBay API 的速率限制是多少?
332
332