ebay-mcp 1.14.2 → 1.14.3

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.
package/README.de.md CHANGED
@@ -5,7 +5,7 @@
5
5
  </p>
6
6
 
7
7
  <p align="center">
8
- <strong>Der eBay MCP-Server — gib Claude, Cursor und jedem KI-Assistenten vollen Zugriff auf die Sell-APIs von eBay. 322 Tools für Bestand, Bestellungen, Marketing und Analytik, lokal ausgeführt mit deinen eigenen Schlüsseln.</strong>
8
+ <strong>Der eBay MCP-Server — gib Claude, Cursor und jedem KI-Assistenten vollen Zugriff auf die Sell-APIs von eBay. 298 Tools für Bestand, Bestellungen, Marketing und Analytik, lokal ausgeführt mit deinen eigenen Schlüsseln.</strong>
9
9
  </p>
10
10
 
11
11
  <p align="center"><sub>Inoffizielles Open-Source-Projekt — ohne Zugehörigkeit, Genehmigung oder Billigung durch eBay Inc.</sub></p>
@@ -20,7 +20,7 @@
20
20
  </p>
21
21
 
22
22
  <p align="center">
23
- <img src="https://img.shields.io/badge/tools-322-8957e5?logo=ebay&logoColor=white" alt="322 eBay-API-Tools" />
23
+ <img src="https://img.shields.io/badge/tools-298-8957e5?logo=ebay&logoColor=white" alt="298 eBay-API-Tools" />
24
24
  <img src="https://img.shields.io/badge/Sell%20API%20coverage-100%25-success" alt="100% Abdeckung der eBay Sell API" />
25
25
  <img src="https://img.shields.io/badge/Model%20Context%20Protocol-compatible-000000" alt="Model Context Protocol kompatibel" />
26
26
  <img src="https://img.shields.io/badge/tests-1%2C000%2B%20passing-3fb950?logo=vitest&logoColor=white" alt="über 1000 bestandene Tests" />
@@ -47,7 +47,7 @@
47
47
 
48
48
  > **Hinweis:** Die englische [README.md](README.md) ist die Quelle der Wahrheit für aktuelle Produktangaben (Tool-Familien, API-Stilllegungen, Versionshinweise). Diese Übersetzung kann hinterherhinken.
49
49
 
50
- **eBay MCP** ist ein lokaler [Model-Context-Protocol](https://modelcontextprotocol.io)-Server, der KI-Assistenten —Claude Desktop, Claude Code, Cursor, Cline, Windsurf, Zed, Continue.dev, Roo Code und Amazon Q— direkt mit den **Sell-APIs von eBay** verbindet. Er stellt **322 Tools** bereit, die **100% der eBay-Sell-API-Oberfläche** (270 eindeutige Endpunkte) abdecken — für Bestandsverwaltung, Auftragsabwicklung, Marketing mit beworbenen Angeboten, Analytik und Entwicklerwerkzeuge. Alles läuft auf deinem Rechner über STDIO oder lokales HTTP — **kein Cloud-Relay**, und deine eBay-Zugangsdaten verlassen niemals deinen Computer.
50
+ **eBay MCP** ist ein lokaler [Model-Context-Protocol](https://modelcontextprotocol.io)-Server, der KI-Assistenten —Claude Desktop, Claude Code, Cursor, Cline, Windsurf, Zed, Continue.dev, Roo Code und Amazon Q— direkt mit den **Sell-APIs von eBay** verbindet. Er stellt **298 Tools** bereit, die **100% der eBay-Sell-API-Oberfläche** (270 eindeutige Endpunkte) abdecken — für Bestandsverwaltung, Auftragsabwicklung, Marketing mit beworbenen Angeboten, Analytik und Entwicklerwerkzeuge. Alles läuft auf deinem Rechner über STDIO oder lokales HTTP — **kein Cloud-Relay**, und deine eBay-Zugangsdaten verlassen niemals deinen Computer.
51
51
 
52
52
  > **Haftungsausschluss:** Inoffizielles Drittanbieterprojekt — **ohne Zugehörigkeit zu oder Billigung durch eBay Inc.** Bereitgestellt „wie besehen“, ohne Gewährleistung. Du bist selbst dafür verantwortlich, die [eBay-API-Lizenzvereinbarung](https://developer.ebay.com/join/api-license-agreement) und die [Anforderungen an die Datenverarbeitung](https://developer.ebay.com/api-docs/static/data-handling-update.html) einzuhalten, deine Zugangsdaten zu schützen und die Ratenlimits einzuhalten. Teste im Sandbox-Modus vor dem Produktivbetrieb. Siehe [LICENSE](LICENSE), [SECURITY.md](SECURITY.md) und [EBAY_COMPLIANCE.md](EBAY_COMPLIANCE.md).
53
53
 
@@ -71,7 +71,7 @@
71
71
 
72
72
  ## Funktionen
73
73
 
74
- - **322 eBay-API-Tools** — 100% Abdeckung der eBay-Sell-APIs für Bestand, Bestellungen, Marketing, Analytik, Metadaten, Taxonomie und Entwicklerwerkzeuge.
74
+ - **298 eBay-API-Tools** — 100% Abdeckung der eBay-Sell-APIs für Bestand, Bestellungen, Marketing, Analytik, Metadaten, Taxonomie und Entwicklerwerkzeuge.
75
75
  - **9 KI-Clients, automatisch konfiguriert** — Claude Desktop, Cursor, Zed, Cline, Continue.dev, Windsurf, Roo Code, Claude Code CLI und Amazon Q Developer.
76
76
  - **OAuth 2.0 integriert** — vollständige Verwaltung von Benutzer-Tokens mit automatischer Erneuerung und intelligentem Rückfall von Benutzer-Tokens (10k–50k Anfragen/Tag) auf Client-Zugangsdaten (1k Anfragen/Tag).
77
77
  - **Standardmäßig robust** — automatischer Wiederholungsversuch mit exponentiellem Backoff bei `429`-Ratenlimits und konsistente, deutliche Fehlermeldungen.
@@ -93,7 +93,7 @@ Beide sprechen mit denselben eBay-Endpunkten — der Unterschied ist alles, was
93
93
  | Eingabevalidierung | Zod-Schemata + TypeScript-Typen für jedes Tool | Keine — du validierst deine eigenen Payloads |
94
94
  | Einrichtung | Ein Assistent (`npm run setup`) | Auth, Header und Marketplace pro Aufruf |
95
95
  | Unterstützung von KI-Clients | 9 Clients automatisch konfiguriert | Nicht zutreffend |
96
- | API-Abdeckung | 322 Tools über 100% der Sell-APIs, einsatzbereit | Du baust jede Anfrage anhand der Doku selbst |
96
+ | API-Abdeckung | 298 Tools über 100% der Sell-APIs, einsatzbereit | Du baust jede Anfrage anhand der Doku selbst |
97
97
  | Hosting | Läuft lokal, kein Cloud-Relay | Deine eigene Infrastruktur |
98
98
 
99
99
  ## KI-gestützte Einrichtung mit einem Klick
@@ -236,7 +236,7 @@ Automatisch konfiguriert durch `npm run setup`. Erfordert Node.js ≥ 20 und das
236
236
 
237
237
  ## Verfügbare Tools
238
238
 
239
- **322 Tools**, 100% Sell-API-Abdeckung, nach Kategorie geordnet. Jeder Link verweist auf die Tool-Definitionen und ihre Handler in [`src/tools/categories/`](src/tools/categories/):
239
+ **298 Tools**, 100% Sell-API-Abdeckung, nach Kategorie geordnet. Jeder Link verweist auf die Tool-Definitionen und ihre Handler in [`src/tools/categories/`](src/tools/categories/):
240
240
 
241
241
  | Kategorie | Was du tun kannst |
242
242
  | --- | --- |
@@ -299,7 +299,7 @@ Häufige Aufgaben, formuliert wie du sie deinem KI-Assistenten stellen würdest:
299
299
 
300
300
  ### Was ist der eBay MCP-Server?
301
301
 
302
- Ein lokaler [Model-Context-Protocol](https://modelcontextprotocol.io)-Server, der **322 Tools** bereitstellt, die **100% der Sell-APIs von eBay** (270 Endpunkte) für KI-Assistenten abdecken — Bestand, Auftragsabwicklung, Marketing, Analytik und Entwicklertools.
302
+ Ein lokaler [Model-Context-Protocol](https://modelcontextprotocol.io)-Server, der **298 Tools** bereitstellt, die **100% der Sell-APIs von eBay** (270 Endpunkte) für KI-Assistenten abdecken — Bestand, Auftragsabwicklung, Marketing, Analytik und Entwicklertools.
303
303
 
304
304
  ### Ist das ein offizielles eBay-Produkt?
305
305
 
@@ -319,7 +319,7 @@ Interaktive Ansichten via [MCP Apps](#interaktive-oberfläche-mcp-apps) erschein
319
319
 
320
320
  ### Wie viele eBay-APIs und Tools deckt es ab?
321
321
 
322
- 322 Tools über 270 eindeutige Endpunkte — 100% der Sell-APIs von eBay.
322
+ 298 Tools über 270 eindeutige Endpunkte — 100% der Sell-APIs von eBay.
323
323
 
324
324
  ### Ist es kostenlos und Open Source?
325
325
 
package/README.es.md CHANGED
@@ -5,7 +5,7 @@
5
5
  </p>
6
6
 
7
7
  <p align="center">
8
- <strong>El servidor MCP de eBay — da a Claude, Cursor y cualquier asistente de IA acceso completo a las Sell APIs de eBay. 322 herramientas para inventario, pedidos, marketing y analítica, ejecutándose localmente con tus propias claves.</strong>
8
+ <strong>El servidor MCP de eBay — da a Claude, Cursor y cualquier asistente de IA acceso completo a las Sell APIs de eBay. 298 herramientas para inventario, pedidos, marketing y analítica, ejecutándose localmente con tus propias claves.</strong>
9
9
  </p>
10
10
 
11
11
  <p align="center"><sub>Proyecto de código abierto no oficial — sin afiliación, autorización ni respaldo de eBay Inc.</sub></p>
@@ -20,7 +20,7 @@
20
20
  </p>
21
21
 
22
22
  <p align="center">
23
- <img src="https://img.shields.io/badge/tools-322-8957e5?logo=ebay&logoColor=white" alt="322 herramientas de la API de eBay" />
23
+ <img src="https://img.shields.io/badge/tools-298-8957e5?logo=ebay&logoColor=white" alt="298 herramientas de la API de eBay" />
24
24
  <img src="https://img.shields.io/badge/Sell%20API%20coverage-100%25-success" alt="100% de cobertura de la Sell API de eBay" />
25
25
  <img src="https://img.shields.io/badge/Model%20Context%20Protocol-compatible-000000" alt="compatible con el Model Context Protocol" />
26
26
  <img src="https://img.shields.io/badge/tests-1%2C000%2B%20passing-3fb950?logo=vitest&logoColor=white" alt="más de 1000 pruebas que pasan" />
@@ -47,7 +47,7 @@
47
47
 
48
48
  > **Nota:** El [README.md](README.md) en inglés es la fuente de verdad para claims de producto actuales (familias de herramientas, APIs decommissioned, notas de versión). Esta traducción puede ir retrasada.
49
49
 
50
- **eBay MCP** es un servidor local del [Model Context Protocol](https://modelcontextprotocol.io) que conecta asistentes de IA —Claude Desktop, Claude Code, Cursor, Cline, Windsurf, Zed, Continue.dev, Roo Code y Amazon Q— directamente con las **Sell APIs de eBay**. Expone **322 herramientas** que abarcan el **100% de la superficie de la Sell API de eBay** (270 endpoints únicos) para gestión de inventario, procesamiento de pedidos, marketing de anuncios promocionados, analítica y herramientas para desarrolladores. Todo se ejecuta en tu máquina mediante STDIO o HTTP local: **sin relé en la nube**, y tus credenciales de eBay nunca salen de tu equipo.
50
+ **eBay MCP** es un servidor local del [Model Context Protocol](https://modelcontextprotocol.io) que conecta asistentes de IA —Claude Desktop, Claude Code, Cursor, Cline, Windsurf, Zed, Continue.dev, Roo Code y Amazon Q— directamente con las **Sell APIs de eBay**. Expone **298 herramientas** que abarcan el **100% de la superficie de la Sell API de eBay** (270 endpoints únicos) para gestión de inventario, procesamiento de pedidos, marketing de anuncios promocionados, analítica y herramientas para desarrolladores. Todo se ejecuta en tu máquina mediante STDIO o HTTP local: **sin relé en la nube**, y tus credenciales de eBay nunca salen de tu equipo.
51
51
 
52
52
  > **Aviso legal:** Proyecto no oficial de terceros — **sin afiliación ni respaldo de eBay Inc.** Se ofrece "tal cual", sin garantía. Eres responsable de cumplir con el [Acuerdo de licencia de la API de eBay](https://developer.ebay.com/join/api-license-agreement) y los [requisitos de manejo de datos](https://developer.ebay.com/api-docs/static/data-handling-update.html), de mantener tus credenciales seguras y de respetar los límites de tasa. Prueba en sandbox antes de pasar a producción. Consulta [LICENSE](LICENSE), [SECURITY.md](SECURITY.md) y [EBAY_COMPLIANCE.md](EBAY_COMPLIANCE.md).
53
53
 
@@ -71,7 +71,7 @@
71
71
 
72
72
  ## Características
73
73
 
74
- - **322 herramientas de la API de eBay** — 100% de cobertura de las Sell APIs de eBay en inventario, pedidos, marketing, analítica, metadatos, taxonomía y herramientas para desarrolladores.
74
+ - **298 herramientas de la API de eBay** — 100% de cobertura de las Sell APIs de eBay en inventario, pedidos, marketing, analítica, metadatos, taxonomía y herramientas para desarrolladores.
75
75
  - **9 clientes de IA, autoconfigurados** — Claude Desktop, Cursor, Zed, Cline, Continue.dev, Windsurf, Roo Code, Claude Code CLI y Amazon Q Developer.
76
76
  - **OAuth 2.0 integrado** — gestión completa de tokens de usuario con renovación automática y respaldo inteligente desde tokens de usuario (10k–50k solicitudes/día) a credenciales de cliente (1k solicitudes/día).
77
77
  - **Resistente por defecto** — reintento automático con retroceso exponencial ante límites de tasa `429` y notificación de errores clara y coherente.
@@ -93,7 +93,7 @@ Ambos hablan con los mismos endpoints de eBay; la diferencia es todo lo que de o
93
93
  | Validación de entradas | Esquemas Zod + tipos de TypeScript en cada herramienta | Ninguna: validas tus propias cargas útiles |
94
94
  | Configuración | Un asistente (`npm run setup`) | Auth, cabeceras y mercado por cada llamada |
95
95
  | Compatibilidad con clientes de IA | 9 clientes autoconfigurados | No aplica |
96
- | Cobertura de la API | 322 herramientas en el 100% de las Sell APIs, listas para usar | Construyes cada solicitud desde la documentación |
96
+ | Cobertura de la API | 298 herramientas en el 100% de las Sell APIs, listas para usar | Construyes cada solicitud desde la documentación |
97
97
  | Alojamiento | Se ejecuta localmente, sin relé en la nube | Tu propia infraestructura |
98
98
 
99
99
  ## Configuración con IA en un clic
@@ -236,7 +236,7 @@ Autoconfigurados por `npm run setup`. Requiere Node.js ≥ 20 y el protocolo MCP
236
236
 
237
237
  ## Herramientas disponibles
238
238
 
239
- **322 herramientas**, 100% de cobertura de la Sell API, organizadas por categoría. Cada enlace apunta a las definiciones de herramientas y a sus handlers en [`src/tools/categories/`](src/tools/categories/):
239
+ **298 herramientas**, 100% de cobertura de la Sell API, organizadas por categoría. Cada enlace apunta a las definiciones de herramientas y a sus handlers en [`src/tools/categories/`](src/tools/categories/):
240
240
 
241
241
  | Categoría | Lo que puedes hacer |
242
242
  | --- | --- |
@@ -299,7 +299,7 @@ Tareas comunes, formuladas como se las pedirías a tu asistente de IA:
299
299
 
300
300
  ### ¿Qué es el servidor MCP de eBay?
301
301
 
302
- Un servidor local del [Model Context Protocol](https://modelcontextprotocol.io) que expone **322 herramientas** que cubren el **100% de las Sell APIs de eBay** (270 endpoints) a los asistentes de IA: inventario, procesamiento de pedidos, marketing, analítica y herramientas para desarrolladores.
302
+ Un servidor local del [Model Context Protocol](https://modelcontextprotocol.io) que expone **298 herramientas** que cubren el **100% de las Sell APIs de eBay** (270 endpoints) a los asistentes de IA: inventario, procesamiento de pedidos, marketing, analítica y herramientas para desarrolladores.
303
303
 
304
304
  ### ¿Es un producto oficial de eBay?
305
305
 
@@ -319,7 +319,7 @@ Las vistas interactivas de [MCP Apps](#interfaz-interactiva-mcp-apps) solo apare
319
319
 
320
320
  ### ¿Cuántas APIs y herramientas de eBay cubre?
321
321
 
322
- 322 herramientas en 270 endpoints únicos: el 100% de las Sell APIs de eBay.
322
+ 298 herramientas en 270 endpoints únicos: el 100% de las Sell APIs de eBay.
323
323
 
324
324
  ### ¿Es gratuito y de código abierto?
325
325
 
package/README.fr.md CHANGED
@@ -5,7 +5,7 @@
5
5
  </p>
6
6
 
7
7
  <p align="center">
8
- <strong>Le serveur MCP eBay — donnez à Claude, Cursor et tout assistant IA un accès complet aux Sell APIs d'eBay. 322 outils pour l'inventaire, les commandes, le marketing et l'analytique, le tout en local avec vos propres clés.</strong>
8
+ <strong>Le serveur MCP eBay — donnez à Claude, Cursor et tout assistant IA un accès complet aux Sell APIs d'eBay. 298 outils pour l'inventaire, les commandes, le marketing et l'analytique, le tout en local avec vos propres clés.</strong>
9
9
  </p>
10
10
 
11
11
  <p align="center"><sub>Projet open source non officiel — sans affiliation, autorisation ni approbation d'eBay Inc.</sub></p>
@@ -20,7 +20,7 @@
20
20
  </p>
21
21
 
22
22
  <p align="center">
23
- <img src="https://img.shields.io/badge/tools-322-8957e5?logo=ebay&logoColor=white" alt="322 outils de l'API eBay" />
23
+ <img src="https://img.shields.io/badge/tools-298-8957e5?logo=ebay&logoColor=white" alt="298 outils de l'API eBay" />
24
24
  <img src="https://img.shields.io/badge/Sell%20API%20coverage-100%25-success" alt="100% de couverture de la Sell API d'eBay" />
25
25
  <img src="https://img.shields.io/badge/Model%20Context%20Protocol-compatible-000000" alt="compatible Model Context Protocol" />
26
26
  <img src="https://img.shields.io/badge/tests-1%2C000%2B%20passing-3fb950?logo=vitest&logoColor=white" alt="plus de 1000 tests réussis" />
@@ -47,7 +47,7 @@
47
47
 
48
48
  > **Note :** le [README.md](README.md) anglais est la source de vérité pour les informations produit à jour (familles d’outils, API décommissionnées, notes de version). Cette traduction peut être en retard.
49
49
 
50
- **eBay MCP** est un serveur local du [Model Context Protocol](https://modelcontextprotocol.io) qui connecte les assistants IA —Claude Desktop, Claude Code, Cursor, Cline, Windsurf, Zed, Continue.dev, Roo Code et Amazon Q— directement aux **Sell APIs d'eBay**. Il expose **322 outils** couvrant **100% de la surface de la Sell API d'eBay** (270 endpoints uniques) pour la gestion de l'inventaire, le traitement des commandes, le marketing d'annonces sponsorisées, l'analytique et l'outillage développeur. Tout s'exécute sur votre machine via STDIO ou HTTP local — **sans relais cloud**, et vos identifiants eBay ne quittent jamais votre ordinateur.
50
+ **eBay MCP** est un serveur local du [Model Context Protocol](https://modelcontextprotocol.io) qui connecte les assistants IA —Claude Desktop, Claude Code, Cursor, Cline, Windsurf, Zed, Continue.dev, Roo Code et Amazon Q— directement aux **Sell APIs d'eBay**. Il expose **298 outils** couvrant **100% de la surface de la Sell API d'eBay** (270 endpoints uniques) pour la gestion de l'inventaire, le traitement des commandes, le marketing d'annonces sponsorisées, l'analytique et l'outillage développeur. Tout s'exécute sur votre machine via STDIO ou HTTP local — **sans relais cloud**, et vos identifiants eBay ne quittent jamais votre ordinateur.
51
51
 
52
52
  > **Avertissement :** Projet tiers non officiel — **sans affiliation ni approbation d'eBay Inc.** Fourni « tel quel », sans garantie. Il vous incombe de respecter l'[Accord de licence de l'API eBay](https://developer.ebay.com/join/api-license-agreement) et les [exigences de traitement des données](https://developer.ebay.com/api-docs/static/data-handling-update.html), de protéger vos identifiants et de respecter les limites de débit. Testez en sandbox avant la production. Voir [LICENSE](LICENSE), [SECURITY.md](SECURITY.md) et [EBAY_COMPLIANCE.md](EBAY_COMPLIANCE.md).
53
53
 
@@ -71,7 +71,7 @@
71
71
 
72
72
  ## Fonctionnalités
73
73
 
74
- - **322 outils de l'API eBay** — 100% de couverture des Sell APIs d'eBay pour l'inventaire, les commandes, le marketing, l'analytique, les métadonnées, la taxonomie et l'outillage développeur.
74
+ - **298 outils de l'API eBay** — 100% de couverture des Sell APIs d'eBay pour l'inventaire, les commandes, le marketing, l'analytique, les métadonnées, la taxonomie et l'outillage développeur.
75
75
  - **9 clients IA, configurés automatiquement** — Claude Desktop, Cursor, Zed, Cline, Continue.dev, Windsurf, Roo Code, Claude Code CLI et Amazon Q Developer.
76
76
  - **OAuth 2.0 intégré** — gestion complète des jetons utilisateur avec renouvellement automatique et bascule intelligente des jetons utilisateur (10k–50k req/jour) vers les identifiants client (1k req/jour).
77
77
  - **Résilient par défaut** — nouvelle tentative automatique avec recul exponentiel sur les limites de débit `429` et remontée d'erreurs claire et cohérente.
@@ -93,7 +93,7 @@ Les deux dialoguent avec les mêmes endpoints eBay — la différence, c'est tou
93
93
  | Validation des entrées | Schémas Zod + types TypeScript sur chaque outil | Aucune — vous validez vos propres charges utiles |
94
94
  | Configuration | Un assistant (`npm run setup`) | Auth, en-têtes et marketplace par appel |
95
95
  | Prise en charge des clients IA | 9 clients configurés automatiquement | Sans objet |
96
- | Couverture de l'API | 322 outils sur 100% des Sell APIs, prêts à l'emploi | Vous construisez chaque requête depuis la documentation |
96
+ | Couverture de l'API | 298 outils sur 100% des Sell APIs, prêts à l'emploi | Vous construisez chaque requête depuis la documentation |
97
97
  | Hébergement | S'exécute en local, sans relais cloud | Votre propre infrastructure |
98
98
 
99
99
  ## Configuration assistée par IA en un clic
@@ -236,7 +236,7 @@ Configurés automatiquement par `npm run setup`. Nécessite Node.js ≥ 20 et le
236
236
 
237
237
  ## Outils disponibles
238
238
 
239
- **322 outils**, 100% de couverture de la Sell API, organisés par catégorie. Chaque lien pointe vers les définitions d'outils et leurs handlers dans [`src/tools/categories/`](src/tools/categories/) :
239
+ **298 outils**, 100% de couverture de la Sell API, organisés par catégorie. Chaque lien pointe vers les définitions d'outils et leurs handlers dans [`src/tools/categories/`](src/tools/categories/) :
240
240
 
241
241
  | Catégorie | Ce que vous pouvez faire |
242
242
  | --- | --- |
@@ -299,7 +299,7 @@ Tâches courantes, formulées comme vous les demanderiez à votre assistant IA :
299
299
 
300
300
  ### Qu'est-ce que le serveur MCP eBay ?
301
301
 
302
- Un serveur local du [Model Context Protocol](https://modelcontextprotocol.io) qui expose **322 outils** couvrant **100% des Sell APIs d'eBay** (270 endpoints) aux assistants IA — inventaire, traitement des commandes, marketing, analytique et outils développeur.
302
+ Un serveur local du [Model Context Protocol](https://modelcontextprotocol.io) qui expose **298 outils** couvrant **100% des Sell APIs d'eBay** (270 endpoints) aux assistants IA — inventaire, traitement des commandes, marketing, analytique et outils développeur.
303
303
 
304
304
  ### Est-ce un produit officiel eBay ?
305
305
 
@@ -319,7 +319,7 @@ Les vues interactives [MCP Apps](#interface-interactive-mcp-apps) n'apparaissent
319
319
 
320
320
  ### Combien d'API et d'outils eBay couvre-t-il ?
321
321
 
322
- 322 outils sur 270 endpoints uniques — 100% des Sell APIs d'eBay.
322
+ 298 outils sur 270 endpoints uniques — 100% des Sell APIs d'eBay.
323
323
 
324
324
  ### Est-il gratuit et open source ?
325
325
 
package/README.ja.md CHANGED
@@ -5,7 +5,7 @@
5
5
  </p>
6
6
 
7
7
  <p align="center">
8
- <strong>eBay MCP サーバー — Claude、Cursor、そしてあらゆる AI アシスタントに eBay の Sell API への完全なアクセスを。在庫・注文・マーケティング・分析向けの 322 ツールを、自分の鍵でローカル実行。</strong>
8
+ <strong>eBay MCP サーバー — Claude、Cursor、そしてあらゆる AI アシスタントに eBay の Sell API への完全なアクセスを。在庫・注文・マーケティング・分析向けの 298 ツールを、自分の鍵でローカル実行。</strong>
9
9
  </p>
10
10
 
11
11
  <p align="center"><sub>非公式のオープンソースプロジェクト — eBay Inc. との提携・認可・承認はありません。</sub></p>
@@ -20,7 +20,7 @@
20
20
  </p>
21
21
 
22
22
  <p align="center">
23
- <img src="https://img.shields.io/badge/tools-322-8957e5?logo=ebay&logoColor=white" alt="322 個の eBay API ツール" />
23
+ <img src="https://img.shields.io/badge/tools-298-8957e5?logo=ebay&logoColor=white" alt="298 個の eBay API ツール" />
24
24
  <img src="https://img.shields.io/badge/Sell%20API%20coverage-100%25-success" alt="eBay Sell API を 100% カバー" />
25
25
  <img src="https://img.shields.io/badge/Model%20Context%20Protocol-compatible-000000" alt="Model Context Protocol 対応" />
26
26
  <img src="https://img.shields.io/badge/tests-1%2C000%2B%20passing-3fb950?logo=vitest&logoColor=white" alt="1000 件以上のテストに合格" />
@@ -47,7 +47,7 @@
47
47
 
48
48
  > **注意:** 最新の製品情報(ツールファミリー、API 廃止、バージョン注記)の正本は英語の [README.md](README.md) です。この翻訳は遅れている場合があります。
49
49
 
50
- **eBay MCP** は、AI アシスタント —Claude Desktop、Claude Code、Cursor、Cline、Windsurf、Zed、Continue.dev、Roo Code、Amazon Q— を **eBay の Sell API** に直接接続するローカルの [Model Context Protocol](https://modelcontextprotocol.io) サーバーです。**eBay Sell API の全面(270 の固有エンドポイント)の 100%** をカバーする **322 個のツール** を提供し、在庫管理、注文処理、プロモーション広告のマーケティング、分析、開発者向けツールに対応します。すべては STDIO またはローカル HTTP 経由であなたのマシン上で動作し、**クラウド中継はありません**。eBay の認証情報がコンピューターから外に出ることは決してありません。
50
+ **eBay MCP** は、AI アシスタント —Claude Desktop、Claude Code、Cursor、Cline、Windsurf、Zed、Continue.dev、Roo Code、Amazon Q— を **eBay の Sell API** に直接接続するローカルの [Model Context Protocol](https://modelcontextprotocol.io) サーバーです。**eBay Sell API の全面(270 の固有エンドポイント)の 100%** をカバーする **298 個のツール** を提供し、在庫管理、注文処理、プロモーション広告のマーケティング、分析、開発者向けツールに対応します。すべては STDIO またはローカル HTTP 経由であなたのマシン上で動作し、**クラウド中継はありません**。eBay の認証情報がコンピューターから外に出ることは決してありません。
51
51
 
52
52
  > **免責事項:** 非公式のサードパーティ製プロジェクトであり、**eBay Inc. との提携・承認はありません。** 「現状のまま」提供され、いかなる保証もありません。[eBay API ライセンス契約](https://developer.ebay.com/join/api-license-agreement) と [データ取り扱い要件](https://developer.ebay.com/api-docs/static/data-handling-update.html) の遵守、認証情報の安全な保管、レート制限の遵守はご自身の責任です。本番前にサンドボックスでテストしてください。[LICENSE](LICENSE)、[SECURITY.md](SECURITY.md)、[EBAY_COMPLIANCE.md](EBAY_COMPLIANCE.md) を参照してください。
53
53
 
@@ -71,7 +71,7 @@
71
71
 
72
72
  ## 機能
73
73
 
74
- - **322 個の eBay API ツール** — 在庫、注文、マーケティング、分析、メタデータ、タクソノミー、開発者向けツールにわたり eBay Sell API を 100% カバー。
74
+ - **298 個の eBay API ツール** — 在庫、注文、マーケティング、分析、メタデータ、タクソノミー、開発者向けツールにわたり eBay Sell API を 100% カバー。
75
75
  - **9 つの AI クライアントを自動設定** — Claude Desktop、Cursor、Zed、Cline、Continue.dev、Windsurf、Roo Code、Claude Code CLI、Amazon Q Developer。
76
76
  - **OAuth 2.0 を内蔵** — ユーザートークンの完全な管理と自動更新に加え、ユーザートークン(1 日 1 万〜5 万リクエスト)からクライアント認証情報(1 日 1 千リクエスト)へのスマートなフォールバック。
77
77
  - **既定で堅牢** — `429` レート制限時に指数バックオフで自動リトライし、一貫した明確なエラー表示を行います。
@@ -93,7 +93,7 @@
93
93
  | 入力検証 | すべてのツールに Zod スキーマ + TypeScript 型 | なし — 自分でペイロードを検証 |
94
94
  | セットアップ | 1 つのウィザード(`npm run setup`) | 呼び出しごとに認証・ヘッダー・マーケットプレイス |
95
95
  | AI クライアント対応 | 9 クライアントを自動設定 | 該当なし |
96
- | API カバレッジ | Sell API の 100% にわたる 322 ツール、すぐ呼び出し可能 | ドキュメントから各リクエストを構築 |
96
+ | API カバレッジ | Sell API の 100% にわたる 298 ツール、すぐ呼び出し可能 | ドキュメントから各リクエストを構築 |
97
97
  | ホスティング | ローカル動作、クラウド中継なし | 自前のインフラ |
98
98
 
99
99
  ## AI ワンクリック設定
@@ -236,7 +236,7 @@ EBAY_MCP_UI=on # インタラクティブな MCP Apps 表
236
236
 
237
237
  ## 利用可能なツール
238
238
 
239
- **322 ツール**、Sell API を 100% カバー、カテゴリ別に整理。各リンクは [`src/tools/categories/`](src/tools/categories/) 内のツール定義とそのハンドラーを指します:
239
+ **298 ツール**、Sell API を 100% カバー、カテゴリ別に整理。各リンクは [`src/tools/categories/`](src/tools/categories/) 内のツール定義とそのハンドラーを指します:
240
240
 
241
241
  | カテゴリ | できること |
242
242
  | --- | --- |
@@ -299,7 +299,7 @@ AI アシスタントに尋ねるように表現した一般的なタスク:
299
299
 
300
300
  ### eBay MCP サーバーとは何ですか?
301
301
 
302
- AI アシスタントに **eBay Sell API の 100%**(270 エンドポイント)をカバーする **322 個のツール** を公開するローカルの [Model Context Protocol](https://modelcontextprotocol.io) サーバーです — 在庫、注文処理、マーケティング、分析、開発者向けツール。
302
+ AI アシスタントに **eBay Sell API の 100%**(270 エンドポイント)をカバーする **298 個のツール** を公開するローカルの [Model Context Protocol](https://modelcontextprotocol.io) サーバーです — 在庫、注文処理、マーケティング、分析、開発者向けツール。
303
303
 
304
304
  ### これは eBay の公式製品ですか?
305
305
 
@@ -319,7 +319,7 @@ AI アシスタントに **eBay Sell API の 100%**(270 エンドポイント
319
319
 
320
320
  ### eBay の API とツールはどれくらいカバーしていますか?
321
321
 
322
- 270 の固有エンドポイントにわたる 322 ツール — eBay Sell API の 100% です。
322
+ 270 の固有エンドポイントにわたる 298 ツール — eBay Sell API の 100% です。
323
323
 
324
324
  ### 無料でオープンソースですか?
325
325
 
package/README.ko.md CHANGED
@@ -5,7 +5,7 @@
5
5
  </p>
6
6
 
7
7
  <p align="center">
8
- <strong>eBay MCP 서버 — Claude, Cursor 및 모든 AI 어시스턴트에 eBay Sell API에 대한 완전한 접근 권한을. 재고, 주문, 마케팅, 분석을 위한 322개 도구를 자신의 키로 로컬에서 실행합니다.</strong>
8
+ <strong>eBay MCP 서버 — Claude, Cursor 및 모든 AI 어시스턴트에 eBay Sell API에 대한 완전한 접근 권한을. 재고, 주문, 마케팅, 분석을 위한 298개 도구를 자신의 키로 로컬에서 실행합니다.</strong>
9
9
  </p>
10
10
 
11
11
  <p align="center"><sub>비공식 오픈소스 프로젝트 — eBay Inc.와 제휴, 승인 또는 보증 관계가 없습니다.</sub></p>
@@ -20,7 +20,7 @@
20
20
  </p>
21
21
 
22
22
  <p align="center">
23
- <img src="https://img.shields.io/badge/tools-322-8957e5?logo=ebay&logoColor=white" alt="322개 eBay API 도구" />
23
+ <img src="https://img.shields.io/badge/tools-298-8957e5?logo=ebay&logoColor=white" alt="298개 eBay API 도구" />
24
24
  <img src="https://img.shields.io/badge/Sell%20API%20coverage-100%25-success" alt="eBay Sell API 100% 커버리지" />
25
25
  <img src="https://img.shields.io/badge/Model%20Context%20Protocol-compatible-000000" alt="Model Context Protocol 호환" />
26
26
  <img src="https://img.shields.io/badge/tests-1%2C000%2B%20passing-3fb950?logo=vitest&logoColor=white" alt="1,000개 이상의 테스트 통과" />
@@ -47,7 +47,7 @@
47
47
 
48
48
  > **참고:** 최신 제품 설명(도구 패밀리, API 폐기, 버전 노트)의 기준 문서는 영어 [README.md](README.md)입니다. 이 번역은 뒤처질 수 있습니다.
49
49
 
50
- **eBay MCP**는 AI 어시스턴트 —Claude Desktop, Claude Code, Cursor, Cline, Windsurf, Zed, Continue.dev, Roo Code, Amazon Q— 를 **eBay의 Sell API**에 직접 연결하는 로컬 [Model Context Protocol](https://modelcontextprotocol.io) 서버입니다. **eBay Sell API 전체(고유 엔드포인트 270개)의 100%**를 포괄하는 **322개 도구**를 제공하여 재고 관리, 주문 처리, 프로모션 광고 마케팅, 분석, 개발자 도구를 다룹니다. 모든 것은 STDIO 또는 로컬 HTTP를 통해 사용자의 컴퓨터에서 실행되며 — **클라우드 중계가 없고** — eBay 자격 증명은 절대 사용자의 컴퓨터를 벗어나지 않습니다.
50
+ **eBay MCP**는 AI 어시스턴트 —Claude Desktop, Claude Code, Cursor, Cline, Windsurf, Zed, Continue.dev, Roo Code, Amazon Q— 를 **eBay의 Sell API**에 직접 연결하는 로컬 [Model Context Protocol](https://modelcontextprotocol.io) 서버입니다. **eBay Sell API 전체(고유 엔드포인트 270개)의 100%**를 포괄하는 **298개 도구**를 제공하여 재고 관리, 주문 처리, 프로모션 광고 마케팅, 분석, 개발자 도구를 다룹니다. 모든 것은 STDIO 또는 로컬 HTTP를 통해 사용자의 컴퓨터에서 실행되며 — **클라우드 중계가 없고** — eBay 자격 증명은 절대 사용자의 컴퓨터를 벗어나지 않습니다.
51
51
 
52
52
  > **면책 조항:** 비공식 서드파티 프로젝트로서 **eBay Inc.와 제휴하거나 보증받지 않습니다.** "있는 그대로" 제공되며 어떠한 보증도 없습니다. [eBay API 라이선스 계약](https://developer.ebay.com/join/api-license-agreement) 및 [데이터 처리 요건](https://developer.ebay.com/api-docs/static/data-handling-update.html) 준수, 자격 증명의 안전한 보관, 속도 제한 준수는 사용자의 책임입니다. 프로덕션 전에 샌드박스에서 테스트하세요. [LICENSE](LICENSE), [SECURITY.md](SECURITY.md), [EBAY_COMPLIANCE.md](EBAY_COMPLIANCE.md)를 참조하세요.
53
53
 
@@ -71,7 +71,7 @@
71
71
 
72
72
  ## 기능
73
73
 
74
- - **322개 eBay API 도구** — 재고, 주문, 마케팅, 분석, 메타데이터, 분류체계, 개발자 도구 전반에서 eBay Sell API를 100% 커버.
74
+ - **298개 eBay API 도구** — 재고, 주문, 마케팅, 분석, 메타데이터, 분류체계, 개발자 도구 전반에서 eBay Sell API를 100% 커버.
75
75
  - **9개 AI 클라이언트 자동 구성** — Claude Desktop, Cursor, Zed, Cline, Continue.dev, Windsurf, Roo Code, Claude Code CLI, Amazon Q Developer.
76
76
  - **OAuth 2.0 내장** — 사용자 토큰의 완전한 관리와 자동 갱신, 그리고 사용자 토큰(일 1만~5만 요청)에서 클라이언트 자격 증명(일 1천 요청)으로의 스마트 폴백.
77
77
  - **기본적으로 견고함** — `429` 속도 제한 시 지수 백오프로 자동 재시도하고, 일관되고 명확하게 오류를 표시합니다.
@@ -93,7 +93,7 @@
93
93
  | 입력 검증 | 모든 도구에 Zod 스키마 + TypeScript 타입 | 없음 — 페이로드를 직접 검증 |
94
94
  | 설정 | 단일 마법사(`npm run setup`) | 호출마다 인증, 헤더, 마켓플레이스 |
95
95
  | AI 클라이언트 지원 | 9개 클라이언트 자동 구성 | 해당 없음 |
96
- | API 커버리지 | Sell API 100%에 걸친 322개 도구, 바로 호출 가능 | 문서를 보고 각 요청을 직접 구성 |
96
+ | API 커버리지 | Sell API 100%에 걸친 298개 도구, 바로 호출 가능 | 문서를 보고 각 요청을 직접 구성 |
97
97
  | 호스팅 | 로컬 실행, 클라우드 중계 없음 | 자체 인프라 |
98
98
 
99
99
  ## AI 원클릭 설정
@@ -236,7 +236,7 @@ EBAY_MCP_UI=on # 대화형 MCP Apps 보기(베타); 일반
236
236
 
237
237
  ## 사용 가능한 도구
238
238
 
239
- **322개 도구**, Sell API 100% 커버리지, 카테고리별로 구성. 각 링크는 [`src/tools/categories/`](src/tools/categories/)의 도구 정의와 핸들러를 가리킵니다:
239
+ **298개 도구**, Sell API 100% 커버리지, 카테고리별로 구성. 각 링크는 [`src/tools/categories/`](src/tools/categories/)의 도구 정의와 핸들러를 가리킵니다:
240
240
 
241
241
  | 카테고리 | 할 수 있는 일 |
242
242
  | --- | --- |
@@ -299,7 +299,7 @@ AI 어시스턴트에게 묻듯이 표현한 일반적인 작업:
299
299
 
300
300
  ### eBay MCP 서버란 무엇인가요?
301
301
 
302
- AI 어시스턴트에 **eBay Sell API의 100%**(270개 엔드포인트)를 포괄하는 **322개 도구**를 제공하는 로컬 [Model Context Protocol](https://modelcontextprotocol.io) 서버입니다 — 재고, 주문 처리, 마케팅, 분석, 개발자 도구.
302
+ AI 어시스턴트에 **eBay Sell API의 100%**(270개 엔드포인트)를 포괄하는 **298개 도구**를 제공하는 로컬 [Model Context Protocol](https://modelcontextprotocol.io) 서버입니다 — 재고, 주문 처리, 마케팅, 분석, 개발자 도구.
303
303
 
304
304
  ### 이것은 eBay 공식 제품인가요?
305
305
 
@@ -319,7 +319,7 @@ AI 어시스턴트에 **eBay Sell API의 100%**(270개 엔드포인트)를 포
319
319
 
320
320
  ### eBay API와 도구를 얼마나 커버하나요?
321
321
 
322
- 270개 고유 엔드포인트에 걸친 322개 도구 — eBay Sell API의 100%입니다.
322
+ 270개 고유 엔드포인트에 걸친 298개 도구 — eBay Sell API의 100%입니다.
323
323
 
324
324
  ### 무료이고 오픈소스인가요?
325
325
 
package/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  </p>
6
6
 
7
7
  <p align="center">
8
- <strong>The eBay MCP server — give Claude, Cursor, and any AI assistant full access to eBay's Sell APIs. 322 tools for inventory, orders, marketing, and analytics, running locally with your own keys.</strong>
8
+ <strong>The eBay MCP server — give Claude, Cursor, and any AI assistant full access to eBay's Sell APIs. 298 tools for inventory, orders, marketing, and analytics, running locally with your own keys.</strong>
9
9
  </p>
10
10
 
11
11
  <p align="center"><sub>Unofficial, open-source project — not affiliated with, authorized, or endorsed by eBay Inc.</sub></p>
@@ -20,7 +20,7 @@
20
20
  </p>
21
21
 
22
22
  <p align="center">
23
- <img src="https://img.shields.io/badge/tools-322-8957e5?logo=ebay&logoColor=white" alt="322 eBay API tools" />
23
+ <img src="https://img.shields.io/badge/tools-298-8957e5?logo=ebay&logoColor=white" alt="298 eBay API tools" />
24
24
  <img src="https://img.shields.io/badge/Sell%20API%20coverage-100%25-success" alt="100% eBay Sell API coverage" />
25
25
  <img src="https://img.shields.io/badge/Model%20Context%20Protocol-compatible-000000" alt="Model Context Protocol compatible" />
26
26
  <img src="https://img.shields.io/badge/tests-1%2C000%2B%20passing-3fb950?logo=vitest&logoColor=white" alt="Over 1,000 passing tests" />
@@ -45,7 +45,7 @@
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](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.
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 **298 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
 
@@ -71,7 +71,7 @@
71
71
 
72
72
  ## Features
73
73
 
74
- - **322 eBay API tools** — 100% coverage of the eBay Sell APIs across inventory, orders, marketing, analytics, metadata, taxonomy, and developer tooling.
74
+ - **298 eBay API tools** — 100% coverage of the eBay Sell APIs across inventory, orders, marketing, analytics, metadata, taxonomy, and developer tooling.
75
75
  - **9 AI clients, auto-configured** — Claude Desktop, Cursor, Zed, Cline, Continue.dev, Windsurf, Roo Code, Claude Code CLI, and Amazon Q Developer.
76
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).
77
77
  - **Resilient by default** — automatic retry with exponential backoff on `429` rate limits, and consistent, loud error surfacing.
@@ -112,7 +112,7 @@ Both talk to the same eBay endpoints — the difference is everything you'd othe
112
112
  | Input validation | Effect-backed schemas + TypeScript types on every tool | None — you validate your own payloads |
113
113
  | Setup | One wizard (`npm run setup`) | Per-call auth, headers, and marketplace wiring |
114
114
  | AI client support | 9 clients auto-configured | Not applicable |
115
- | API coverage | 322 tools across 100% of the Sell APIs, ready to call | Build each request from the docs |
115
+ | API coverage | 298 tools across 100% of the Sell APIs, ready to call | Build each request from the docs |
116
116
  | Hosting | Runs locally, no cloud relay | Your own infrastructure |
117
117
 
118
118
  ## One-click AI setup
@@ -288,9 +288,9 @@ Auto-configured by `npm run setup`. Requires [Node.js](https://nodejs.org/en)
288
288
  ## Available tools
289
289
 
290
290
  <details open>
291
- <summary><strong>322 tools by category (100% Sell API coverage)</strong></summary>
291
+ <summary><strong>298 tools by category (100% Sell API coverage)</strong></summary>
292
292
 
293
- **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/):
293
+ **298 tools**, 100% Sell API coverage, organized by category. Each link points to the tool definitions and handlers in [`src/tools/categories/`](src/tools/categories/):
294
294
 
295
295
  | Category | What you can do |
296
296
  | --- | --- |
@@ -370,7 +370,7 @@ Common tasks, phrased as you'd ask your AI assistant:
370
370
  <details>
371
371
  <summary><strong>What is the eBay MCP server?</strong></summary>
372
372
 
373
- 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.
373
+ A local [Model Context Protocol](https://modelcontextprotocol.io) server that exposes **298 tools** covering **100% of eBay's Sell APIs** (270 endpoints) to AI assistants — inventory, order fulfillment, marketing, analytics, and developer tools.
374
374
 
375
375
  </details>
376
376
 
@@ -405,7 +405,7 @@ Interactive [MCP Apps](#interactive-ui-mcp-apps) views only appear on hosts that
405
405
  <details>
406
406
  <summary><strong>How many eBay APIs and tools does it cover?</strong></summary>
407
407
 
408
- 322 tools across 270 unique endpoints — 100% of eBay's Sell APIs.
408
+ 298 tools across 270 unique endpoints — 100% of eBay's Sell APIs.
409
409
 
410
410
  </details>
411
411
 
package/README.pt-BR.md CHANGED
@@ -5,7 +5,7 @@
5
5
  </p>
6
6
 
7
7
  <p align="center">
8
- <strong>O servidor MCP do eBay — dê ao Claude, ao Cursor e a qualquer assistente de IA acesso completo às Sell APIs do eBay. 322 ferramentas para estoque, pedidos, marketing e analytics, rodando localmente com suas próprias chaves.</strong>
8
+ <strong>O servidor MCP do eBay — dê ao Claude, ao Cursor e a qualquer assistente de IA acesso completo às Sell APIs do eBay. 298 ferramentas para estoque, pedidos, marketing e analytics, rodando localmente com suas próprias chaves.</strong>
9
9
  </p>
10
10
 
11
11
  <p align="center"><sub>Projeto de código aberto não oficial — sem afiliação, autorização ou endosso da eBay Inc.</sub></p>
@@ -20,7 +20,7 @@
20
20
  </p>
21
21
 
22
22
  <p align="center">
23
- <img src="https://img.shields.io/badge/tools-322-8957e5?logo=ebay&logoColor=white" alt="322 ferramentas da API do eBay" />
23
+ <img src="https://img.shields.io/badge/tools-298-8957e5?logo=ebay&logoColor=white" alt="298 ferramentas da API do eBay" />
24
24
  <img src="https://img.shields.io/badge/Sell%20API%20coverage-100%25-success" alt="100% de cobertura da Sell API do eBay" />
25
25
  <img src="https://img.shields.io/badge/Model%20Context%20Protocol-compatible-000000" alt="compatível com o Model Context Protocol" />
26
26
  <img src="https://img.shields.io/badge/tests-1%2C000%2B%20passing-3fb950?logo=vitest&logoColor=white" alt="mais de 1000 testes passando" />
@@ -47,7 +47,7 @@
47
47
 
48
48
  > **Nota:** o [README.md](README.md) em inglês é a fonte da verdade para claims de produto atuais (famílias de ferramentas, APIs descontinuadas, notas de versão). Esta tradução pode estar atrasada.
49
49
 
50
- **eBay MCP** é um servidor local do [Model Context Protocol](https://modelcontextprotocol.io) que conecta assistentes de IA —Claude Desktop, Claude Code, Cursor, Cline, Windsurf, Zed, Continue.dev, Roo Code e Amazon Q— diretamente às **Sell APIs do eBay**. Ele expõe **322 ferramentas** abrangendo **100% da superfície da Sell API do eBay** (270 endpoints únicos) para gestão de estoque, processamento de pedidos, marketing de anúncios patrocinados, analytics e ferramentas para desenvolvedores. Tudo roda na sua máquina via STDIO ou HTTP local — **sem relay na nuvem**, e suas credenciais do eBay nunca saem do seu computador.
50
+ **eBay MCP** é um servidor local do [Model Context Protocol](https://modelcontextprotocol.io) que conecta assistentes de IA —Claude Desktop, Claude Code, Cursor, Cline, Windsurf, Zed, Continue.dev, Roo Code e Amazon Q— diretamente às **Sell APIs do eBay**. Ele expõe **298 ferramentas** abrangendo **100% da superfície da Sell API do eBay** (270 endpoints únicos) para gestão de estoque, processamento de pedidos, marketing de anúncios patrocinados, analytics e ferramentas para desenvolvedores. Tudo roda na sua máquina via STDIO ou HTTP local — **sem relay na nuvem**, e suas credenciais do eBay nunca saem do seu computador.
51
51
 
52
52
  > **Aviso legal:** Projeto não oficial de terceiros — **sem afiliação ou endosso da eBay Inc.** Fornecido "como está", sem garantia. Você é responsável por cumprir o [Contrato de licença da API do eBay](https://developer.ebay.com/join/api-license-agreement) e os [requisitos de tratamento de dados](https://developer.ebay.com/api-docs/static/data-handling-update.html), por manter suas credenciais seguras e por respeitar os limites de taxa. Teste no sandbox antes de ir para produção. Consulte [LICENSE](LICENSE), [SECURITY.md](SECURITY.md) e [EBAY_COMPLIANCE.md](EBAY_COMPLIANCE.md).
53
53
 
@@ -71,7 +71,7 @@
71
71
 
72
72
  ## Recursos
73
73
 
74
- - **322 ferramentas da API do eBay** — 100% de cobertura das Sell APIs do eBay em estoque, pedidos, marketing, analytics, metadados, taxonomia e ferramentas para desenvolvedores.
74
+ - **298 ferramentas da API do eBay** — 100% de cobertura das Sell APIs do eBay em estoque, pedidos, marketing, analytics, metadados, taxonomia e ferramentas para desenvolvedores.
75
75
  - **9 clientes de IA, autoconfigurados** — Claude Desktop, Cursor, Zed, Cline, Continue.dev, Windsurf, Roo Code, Claude Code CLI e Amazon Q Developer.
76
76
  - **OAuth 2.0 integrado** — gestão completa de tokens de usuário com renovação automática e fallback inteligente de tokens de usuário (10k–50k req/dia) para credenciais de cliente (1k req/dia).
77
77
  - **Resiliente por padrão** — nova tentativa automática com recuo exponencial em limites de taxa `429` e exibição de erros clara e consistente.
@@ -93,7 +93,7 @@ Ambos falam com os mesmos endpoints do eBay — a diferença é tudo o que você
93
93
  | Validação de entradas | Esquemas Zod + tipos TypeScript em cada ferramenta | Nenhuma — você valida seus próprios payloads |
94
94
  | Configuração | Um assistente (`npm run setup`) | Auth, cabeçalhos e marketplace por chamada |
95
95
  | Suporte a clientes de IA | 9 clientes autoconfigurados | Não se aplica |
96
- | Cobertura da API | 322 ferramentas em 100% das Sell APIs, prontas para usar | Você constrói cada requisição a partir da documentação |
96
+ | Cobertura da API | 298 ferramentas em 100% das Sell APIs, prontas para usar | Você constrói cada requisição a partir da documentação |
97
97
  | Hospedagem | Roda localmente, sem relay na nuvem | Sua própria infraestrutura |
98
98
 
99
99
  ## Configuração com IA em um clique
@@ -236,7 +236,7 @@ Autoconfigurados pelo `npm run setup`. Requer Node.js ≥ 20 e o protocolo MCP 1
236
236
 
237
237
  ## Ferramentas disponíveis
238
238
 
239
- **322 ferramentas**, 100% de cobertura da Sell API, organizadas por categoria. Cada link aponta para as definições de ferramentas e seus handlers em [`src/tools/categories/`](src/tools/categories/):
239
+ **298 ferramentas**, 100% de cobertura da Sell API, organizadas por categoria. Cada link aponta para as definições de ferramentas e seus handlers em [`src/tools/categories/`](src/tools/categories/):
240
240
 
241
241
  | Categoria | O que você pode fazer |
242
242
  | --- | --- |
@@ -299,7 +299,7 @@ Tarefas comuns, formuladas como você pediria ao seu assistente de IA:
299
299
 
300
300
  ### O que é o servidor MCP do eBay?
301
301
 
302
- Um servidor local do [Model Context Protocol](https://modelcontextprotocol.io) que expõe **322 ferramentas** cobrindo **100% das Sell APIs do eBay** (270 endpoints) para assistentes de IA — estoque, processamento de pedidos, marketing, analytics e ferramentas para desenvolvedores.
302
+ Um servidor local do [Model Context Protocol](https://modelcontextprotocol.io) que expõe **298 ferramentas** cobrindo **100% das Sell APIs do eBay** (270 endpoints) para assistentes de IA — estoque, processamento de pedidos, marketing, analytics e ferramentas para desenvolvedores.
303
303
 
304
304
  ### Este é um produto oficial do eBay?
305
305
 
@@ -319,7 +319,7 @@ As visualizações interativas do [MCP Apps](#interface-interativa-mcp-apps) só
319
319
 
320
320
  ### Quantas APIs e ferramentas do eBay ele cobre?
321
321
 
322
- 322 ferramentas em 270 endpoints únicos — 100% das Sell APIs do eBay.
322
+ 298 ferramentas em 270 endpoints únicos — 100% das Sell APIs do eBay.
323
323
 
324
324
  ### É gratuito e de código aberto?
325
325
 
package/README.ru.md CHANGED
@@ -5,7 +5,7 @@
5
5
  </p>
6
6
 
7
7
  <p align="center">
8
- <strong>MCP-сервер eBay — дайте Claude, Cursor и любому ИИ-ассистенту полный доступ к Sell API eBay. 322 инструмента для инвентаря, заказов, маркетинга и аналитики, работающих локально с вашими собственными ключами.</strong>
8
+ <strong>MCP-сервер eBay — дайте Claude, Cursor и любому ИИ-ассистенту полный доступ к Sell API eBay. 298 инструмента для инвентаря, заказов, маркетинга и аналитики, работающих локально с вашими собственными ключами.</strong>
9
9
  </p>
10
10
 
11
11
  <p align="center"><sub>Неофициальный проект с открытым исходным кодом — не связан с eBay Inc., не авторизован и не одобрен ею.</sub></p>
@@ -20,7 +20,7 @@
20
20
  </p>
21
21
 
22
22
  <p align="center">
23
- <img src="https://img.shields.io/badge/tools-322-8957e5?logo=ebay&logoColor=white" alt="322 инструмента API eBay" />
23
+ <img src="https://img.shields.io/badge/tools-298-8957e5?logo=ebay&logoColor=white" alt="298 инструмента API eBay" />
24
24
  <img src="https://img.shields.io/badge/Sell%20API%20coverage-100%25-success" alt="100% покрытие Sell API eBay" />
25
25
  <img src="https://img.shields.io/badge/Model%20Context%20Protocol-compatible-000000" alt="совместим с Model Context Protocol" />
26
26
  <img src="https://img.shields.io/badge/tests-1%2C000%2B%20passing-3fb950?logo=vitest&logoColor=white" alt="более 1000 пройденных тестов" />
@@ -47,7 +47,7 @@
47
47
 
48
48
  > **Примечание:** английский [README.md](README.md) — источник истины для актуальных продуктовых формулировок (семейства инструментов, вывод API из эксплуатации, заметки о версиях). Этот перевод может отставать.
49
49
 
50
- **eBay MCP** — это локальный сервер [Model Context Protocol](https://modelcontextprotocol.io), который подключает ИИ-ассистентов —Claude Desktop, Claude Code, Cursor, Cline, Windsurf, Zed, Continue.dev, Roo Code и Amazon Q— напрямую к **Sell API eBay**. Он предоставляет **322 инструмента**, охватывающих **100% поверхности Sell API eBay** (270 уникальных эндпоинтов): управление инвентарём, обработка заказов, маркетинг продвигаемых объявлений, аналитика и инструменты разработчика. Всё работает на вашей машине через STDIO или локальный HTTP — **без облачного ретранслятора**, и ваши учётные данные eBay никогда не покидают компьютер.
50
+ **eBay MCP** — это локальный сервер [Model Context Protocol](https://modelcontextprotocol.io), который подключает ИИ-ассистентов —Claude Desktop, Claude Code, Cursor, Cline, Windsurf, Zed, Continue.dev, Roo Code и Amazon Q— напрямую к **Sell API eBay**. Он предоставляет **298 инструмента**, охватывающих **100% поверхности Sell API eBay** (270 уникальных эндпоинтов): управление инвентарём, обработка заказов, маркетинг продвигаемых объявлений, аналитика и инструменты разработчика. Всё работает на вашей машине через STDIO или локальный HTTP — **без облачного ретранслятора**, и ваши учётные данные eBay никогда не покидают компьютер.
51
51
 
52
52
  > **Отказ от ответственности:** Неофициальный сторонний проект — **не связан с eBay Inc. и не одобрен ею.** Предоставляется «как есть», без гарантий. Вы сами отвечаете за соблюдение [Лицензионного соглашения API eBay](https://developer.ebay.com/join/api-license-agreement) и [требований к обработке данных](https://developer.ebay.com/api-docs/static/data-handling-update.html), за сохранность учётных данных и за соблюдение лимитов запросов. Протестируйте в песочнице перед продакшеном. См. [LICENSE](LICENSE), [SECURITY.md](SECURITY.md) и [EBAY_COMPLIANCE.md](EBAY_COMPLIANCE.md).
53
53
 
@@ -71,7 +71,7 @@
71
71
 
72
72
  ## Возможности
73
73
 
74
- - **322 инструмента API eBay** — 100% покрытие Sell API eBay: инвентарь, заказы, маркетинг, аналитика, метаданные, таксономия и инструменты разработчика.
74
+ - **298 инструмента API eBay** — 100% покрытие Sell API eBay: инвентарь, заказы, маркетинг, аналитика, метаданные, таксономия и инструменты разработчика.
75
75
  - **9 ИИ-клиентов с автонастройкой** — Claude Desktop, Cursor, Zed, Cline, Continue.dev, Windsurf, Roo Code, Claude Code CLI и Amazon Q Developer.
76
76
  - **Встроенный OAuth 2.0** — полное управление пользовательскими токенами с автоматическим обновлением и умным переходом от пользовательских токенов (10–50 тыс. запросов/день) к клиентским учётным данным (1 тыс. запросов/день).
77
77
  - **Надёжность по умолчанию** — автоматический повтор с экспоненциальной задержкой при лимитах `429` и понятный, последовательный вывод ошибок.
@@ -93,7 +93,7 @@
93
93
  | Валидация входных данных | Схемы Zod + типы TypeScript на каждом инструменте | Нет — вы проверяете свои полезные данные сами |
94
94
  | Настройка | Один мастер (`npm run setup`) | Авторизация, заголовки и маркетплейс на каждый вызов |
95
95
  | Поддержка ИИ-клиентов | 9 клиентов с автонастройкой | Неприменимо |
96
- | Покрытие API | 322 инструмента на 100% Sell API, готовы к вызову | Вы строите каждый запрос по документации |
96
+ | Покрытие API | 298 инструмента на 100% Sell API, готовы к вызову | Вы строите каждый запрос по документации |
97
97
  | Размещение | Работает локально, без облачного ретранслятора | Ваша собственная инфраструктура |
98
98
 
99
99
  ## Настройка с помощью ИИ в один клик
@@ -236,7 +236,7 @@ EBAY_MCP_UI=on # интерактивные предста
236
236
 
237
237
  ## Доступные инструменты
238
238
 
239
- **322 инструмента**, 100% покрытие Sell API, сгруппированы по категориям. Каждая ссылка ведёт к определениям инструментов и их обработчикам в [`src/tools/categories/`](src/tools/categories/):
239
+ **298 инструмента**, 100% покрытие Sell API, сгруппированы по категориям. Каждая ссылка ведёт к определениям инструментов и их обработчикам в [`src/tools/categories/`](src/tools/categories/):
240
240
 
241
241
  | Категория | Что вы можете делать |
242
242
  | --- | --- |
@@ -299,7 +299,7 @@ EBAY_MCP_UI=on # интерактивные предста
299
299
 
300
300
  ### Что такое MCP-сервер eBay?
301
301
 
302
- Локальный сервер [Model Context Protocol](https://modelcontextprotocol.io), предоставляющий **322 инструмента**, охватывающих **100% Sell API eBay** (270 эндпоинтов), ИИ-ассистентам — инвентарь, обработка заказов, маркетинг, аналитика и инструменты разработчика.
302
+ Локальный сервер [Model Context Protocol](https://modelcontextprotocol.io), предоставляющий **298 инструмента**, охватывающих **100% Sell API eBay** (270 эндпоинтов), ИИ-ассистентам — инвентарь, обработка заказов, маркетинг, аналитика и инструменты разработчика.
303
303
 
304
304
  ### Это официальный продукт eBay?
305
305
 
@@ -319,7 +319,7 @@ EBAY_MCP_UI=on # интерактивные предста
319
319
 
320
320
  ### Сколько API и инструментов eBay он охватывает?
321
321
 
322
- 322 инструмента на 270 уникальных эндпоинтах — 100% Sell API eBay.
322
+ 298 инструмента на 270 уникальных эндпоинтах — 100% Sell API eBay.
323
323
 
324
324
  ### Это бесплатно и с открытым исходным кодом?
325
325
 
package/README.zh-CN.md CHANGED
@@ -5,7 +5,7 @@
5
5
  </p>
6
6
 
7
7
  <p align="center">
8
- <strong>eBay MCP 服务器 — 让 Claude、Cursor 以及任意 AI 助手完全访问 eBay 的 Sell API。322 个工具覆盖库存、订单、营销与分析,使用你自己的密钥在本地运行。</strong>
8
+ <strong>eBay MCP 服务器 — 让 Claude、Cursor 以及任意 AI 助手完全访问 eBay 的 Sell API。298 个工具覆盖库存、订单、营销与分析,使用你自己的密钥在本地运行。</strong>
9
9
  </p>
10
10
 
11
11
  <p align="center"><sub>非官方开源项目 — 与 eBay Inc. 无任何关联,未获其授权或认可。</sub></p>
@@ -20,7 +20,7 @@
20
20
  </p>
21
21
 
22
22
  <p align="center">
23
- <img src="https://img.shields.io/badge/tools-322-8957e5?logo=ebay&logoColor=white" alt="322 个 eBay API 工具" />
23
+ <img src="https://img.shields.io/badge/tools-298-8957e5?logo=ebay&logoColor=white" alt="298 个 eBay API 工具" />
24
24
  <img src="https://img.shields.io/badge/Sell%20API%20coverage-100%25-success" alt="100% 覆盖 eBay Sell API" />
25
25
  <img src="https://img.shields.io/badge/Model%20Context%20Protocol-compatible-000000" alt="兼容 Model Context Protocol" />
26
26
  <img src="https://img.shields.io/badge/tests-1%2C000%2B%20passing-3fb950?logo=vitest&logoColor=white" alt="超过 1000 个通过的测试" />
@@ -47,7 +47,7 @@
47
47
 
48
48
  > **说明:** 英文 [README.md](README.md) 是最新产品说明(工具族、API 下线、版本说明)的权威来源。本翻译可能滞后。
49
49
 
50
- **eBay MCP** 是一个本地的 [Model Context Protocol](https://modelcontextprotocol.io) 服务器,可将 AI 助手 —Claude Desktop、Claude Code、Cursor、Cline、Windsurf、Zed、Continue.dev、Roo Code 和 Amazon Q— 直接连接到 **eBay 的 Sell API**。它提供 **322 个工具**,覆盖 **eBay Sell API 的 100% 范围**(270 个唯一端点),涵盖库存管理、订单履行、推广刊登营销、分析和开发者工具。一切都在你的机器上通过 STDIO 或本地 HTTP 运行 — **没有云端中继**,你的 eBay 凭据永远不会离开你的电脑。
50
+ **eBay MCP** 是一个本地的 [Model Context Protocol](https://modelcontextprotocol.io) 服务器,可将 AI 助手 —Claude Desktop、Claude Code、Cursor、Cline、Windsurf、Zed、Continue.dev、Roo Code 和 Amazon Q— 直接连接到 **eBay 的 Sell API**。它提供 **298 个工具**,覆盖 **eBay Sell API 的 100% 范围**(270 个唯一端点),涵盖库存管理、订单履行、推广刊登营销、分析和开发者工具。一切都在你的机器上通过 STDIO 或本地 HTTP 运行 — **没有云端中继**,你的 eBay 凭据永远不会离开你的电脑。
51
51
 
52
52
  > **免责声明:** 非官方第三方项目 — **与 eBay Inc. 无关联,也未获其认可。** 按"原样"提供,不附带任何担保。你需自行负责遵守 [eBay API 许可协议](https://developer.ebay.com/join/api-license-agreement) 和 [数据处理要求](https://developer.ebay.com/api-docs/static/data-handling-update.html)、妥善保管你的凭据并遵守速率限制。在投入生产前请先在沙盒中测试。参见 [LICENSE](LICENSE)、[SECURITY.md](SECURITY.md) 和 [EBAY_COMPLIANCE.md](EBAY_COMPLIANCE.md)。
53
53
 
@@ -71,7 +71,7 @@
71
71
 
72
72
  ## 功能特性
73
73
 
74
- - **322 个 eBay API 工具** — 100% 覆盖 eBay Sell API,涵盖库存、订单、营销、分析、元数据、分类法和开发者工具。
74
+ - **298 个 eBay API 工具** — 100% 覆盖 eBay Sell API,涵盖库存、订单、营销、分析、元数据、分类法和开发者工具。
75
75
  - **自动配置 9 个 AI 客户端** — Claude Desktop、Cursor、Zed、Cline、Continue.dev、Windsurf、Roo Code、Claude Code CLI 和 Amazon Q Developer。
76
76
  - **内置 OAuth 2.0** — 完整的用户令牌管理与自动刷新,并能从用户令牌(每天 1 万–5 万次请求)智能回退到客户端凭据(每天 1 千次请求)。
77
77
  - **默认具备韧性** — 遇到 `429` 速率限制时自动重试并采用指数退避,错误提示清晰一致。
@@ -93,7 +93,7 @@
93
93
  | 输入校验 | 每个工具都有 Zod 模式 + TypeScript 类型 | 无 — 由你校验自己的载荷 |
94
94
  | 配置 | 一个向导(`npm run setup`) | 每次调用都要处理认证、请求头和站点 |
95
95
  | AI 客户端支持 | 自动配置 9 个客户端 | 不适用 |
96
- | API 覆盖 | 322 个工具覆盖 100% Sell API,开箱即用 | 你需根据文档构建每个请求 |
96
+ | API 覆盖 | 298 个工具覆盖 100% Sell API,开箱即用 | 你需根据文档构建每个请求 |
97
97
  | 托管 | 本地运行,无云端中继 | 你自己的基础设施 |
98
98
 
99
99
  ## AI 一键配置
@@ -236,7 +236,7 @@ EBAY_MCP_UI=on # 交互式 MCP Apps 视图(测试版)
236
236
 
237
237
  ## 可用工具
238
238
 
239
- **322 个工具**,100% Sell API 覆盖,按类别组织。每个链接都指向 [`src/tools/categories/`](src/tools/categories/) 中的工具定义及其处理程序:
239
+ **298 个工具**,100% Sell API 覆盖,按类别组织。每个链接都指向 [`src/tools/categories/`](src/tools/categories/) 中的工具定义及其处理程序:
240
240
 
241
241
  | 类别 | 你可以做什么 |
242
242
  | --- | --- |
@@ -299,7 +299,7 @@ EBAY_MCP_UI=on # 交互式 MCP Apps 视图(测试版)
299
299
 
300
300
  ### 什么是 eBay MCP 服务器?
301
301
 
302
- 一个本地的 [Model Context Protocol](https://modelcontextprotocol.io) 服务器,向 AI 助手提供 **322 个工具**,覆盖 **eBay Sell API 的 100%**(270 个端点)—— 库存、订单履行、营销、分析和开发者工具。
302
+ 一个本地的 [Model Context Protocol](https://modelcontextprotocol.io) 服务器,向 AI 助手提供 **298 个工具**,覆盖 **eBay Sell API 的 100%**(270 个端点)—— 库存、订单履行、营销、分析和开发者工具。
303
303
 
304
304
  ### 这是 eBay 的官方产品吗?
305
305
 
@@ -319,7 +319,7 @@ EBAY_MCP_UI=on # 交互式 MCP Apps 视图(测试版)
319
319
 
320
320
  ### 它覆盖多少 eBay API 和工具?
321
321
 
322
- 322 个工具,覆盖 270 个唯一端点 —— eBay Sell API 的 100%。
322
+ 298 个工具,覆盖 270 个唯一端点 —— eBay Sell API 的 100%。
323
323
 
324
324
  ### 它是免费且开源的吗?
325
325
 
@@ -1,6 +1,6 @@
1
1
  import dotenv from 'dotenv';
2
2
  import stringify from 'dotenv-stringify';
3
- import { existsSync, readFileSync, writeFileSync } from 'fs';
3
+ import { closeSync, existsSync, fsyncSync, openSync, readFileSync, writeFileSync } from 'fs';
4
4
  import { join } from 'path';
5
5
  import { Data, Effect } from 'effect';
6
6
  import process from 'node:process';
@@ -19,8 +19,26 @@ export const APP_ACCESS_TOKEN_EXPIRY_BUFFER_SECONDS = 60;
19
19
  /** Tagged failure returned when credential persistence cannot write to disk. */
20
20
  export class CredentialStoreError extends Data.TaggedError('CredentialStoreError') {
21
21
  }
22
+ /**
23
+ * Process-wide write mutexes keyed by absolute `.env` path so concurrent
24
+ * DotEnvCredentialStore instances cannot interleave read-modify-write on the
25
+ * same file (e.g. user-token write racing app-token write).
26
+ */
27
+ const writeLocksByEnvPath = new Map();
28
+ const writeLockForEnvPath = (envPath) => {
29
+ const existing = writeLocksByEnvPath.get(envPath);
30
+ if (existing) {
31
+ return existing;
32
+ }
33
+ const created = Effect.runSync(Effect.makeSemaphore(1));
34
+ writeLocksByEnvPath.set(envPath, created);
35
+ return created;
36
+ };
22
37
  /**
23
38
  * Credential store that merges token updates into the project .env file.
39
+ *
40
+ * Writes are serialized through a one-permit semaphore so concurrent Effect
41
+ * callers cannot interleave read-modify-write on the same `.env` path.
24
42
  */
25
43
  export class DotEnvCredentialStore {
26
44
  getEnvPath;
@@ -30,6 +48,10 @@ export class DotEnvCredentialStore {
30
48
  /**
31
49
  * Merges credential updates into the project `.env` file.
32
50
  *
51
+ * Concurrent writes are serialized so one call cannot overwrite another
52
+ * caller's keys. After the file is written, the store fsyncs the file
53
+ * descriptor when the path exists so crash/kill is less likely to drop tokens.
54
+ *
33
55
  * @param updates - Environment variable names and values to persist.
34
56
  * @returns An Effect that succeeds after `.env` is written.
35
57
  *
@@ -40,18 +62,44 @@ export class DotEnvCredentialStore {
40
62
  */
41
63
  write(updates) {
42
64
  const envPath = this.getEnvPath();
43
- return Effect.try({
65
+ const writeLock = writeLockForEnvPath(envPath);
66
+ return writeLock.withPermits(1)(Effect.try({
44
67
  try: () => {
45
- const existingEnv = existsSync(envPath) ? dotenv.parse(readFileSync(envPath, 'utf-8')) : {};
46
- const safeEnvContent = stringify({ ...existingEnv, ...updates });
68
+ // Drop non-string values so a missing refresh_token cannot persist as empty.
69
+ const sanitizedUpdates = {};
70
+ for (const [key, value] of Object.entries(updates)) {
71
+ if (typeof value === 'string') {
72
+ sanitizedUpdates[key] = value;
73
+ }
74
+ }
75
+ const existingEnv = existsSync(envPath)
76
+ ? dotenv.parse(readFileSync(envPath, 'utf-8'))
77
+ : {};
78
+ const safeEnvContent = stringify({ ...existingEnv, ...sanitizedUpdates });
47
79
  writeFileSync(envPath, safeEnvContent, 'utf-8');
80
+ // Durability: best-effort fsync. Windows and mocked FS may reject fsync
81
+ // on a read-only open; never fail the write after a successful writeFileSync.
82
+ if (existsSync(envPath)) {
83
+ try {
84
+ const fd = openSync(envPath, 'r+');
85
+ try {
86
+ fsyncSync(fd);
87
+ }
88
+ finally {
89
+ closeSync(fd);
90
+ }
91
+ }
92
+ catch {
93
+ // Ignore fsync failures — tokens are already on disk for the write path.
94
+ }
95
+ }
48
96
  },
49
97
  catch: (cause) => new CredentialStoreError({
50
98
  envPath,
51
99
  message: `Failed to write credential updates to ${envPath}`,
52
100
  cause,
53
101
  }),
54
- });
102
+ }));
55
103
  }
56
104
  }
57
105
  /**
@@ -265,6 +265,15 @@ export class EbayOAuthClient {
265
265
  Authorization: `Basic ${credentials}`,
266
266
  },
267
267
  });
268
+ // Authorization-code exchange must return a refresh token; without it we
269
+ // cannot persist durable user credentials and must not claim success.
270
+ const refreshToken = tokenData.refresh_token;
271
+ if (typeof refreshToken !== 'string' || refreshToken.length === 0) {
272
+ return yield* Effect.fail(new EbayOAuthError({
273
+ operation: 'exchangeCodeForToken',
274
+ message: 'eBay token response did not include a non-empty refresh_token; cannot complete authorization code exchange',
275
+ }));
276
+ }
268
277
  this.userTokens = createStoredUserTokensFromResponse({
269
278
  config: this.config,
270
279
  tokenData,
@@ -273,13 +282,13 @@ export class EbayOAuthClient {
273
282
  yield* this.credentialStore
274
283
  .write({
275
284
  EBAY_USER_ACCESS_TOKEN: tokenData.access_token,
276
- EBAY_USER_REFRESH_TOKEN: tokenData.refresh_token,
285
+ EBAY_USER_REFRESH_TOKEN: refreshToken,
277
286
  })
278
287
  .pipe(Effect.mapError((cause) => mapCredentialStoreError('exchangeCodeForToken', 'Failed to persist exchanged user tokens', cause)));
279
288
  this.config = {
280
289
  ...this.config,
281
290
  accessToken: tokenData.access_token,
282
- refreshToken: tokenData.refresh_token,
291
+ refreshToken: refreshToken,
283
292
  };
284
293
  return tokenData;
285
294
  });
package/build/index.js CHANGED
@@ -2,6 +2,7 @@
2
2
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
3
3
  import { validateEnvironmentConfig } from './config/environment.js';
4
4
  import { createEbayMcpRuntime } from './mcp/runtime.js';
5
+ import { runDiagnostics } from './scripts/diagnostics.js';
5
6
  import { runSetup } from './scripts/setup.js';
6
7
  import { runSkillsWizard } from './scripts/skills.js';
7
8
  import { getErrorMessage } from './utils/errors.js';
@@ -29,6 +30,10 @@ if (args.includes('setup')) {
29
30
  if (args.includes('skills')) {
30
31
  await runCliCommand('Skills install', runSkillsWizard);
31
32
  }
33
+ if (args.includes('diagnose')) {
34
+ const exportReport = args.includes('--export') || args.includes('-e');
35
+ await runCliCommand('Diagnostics', () => runDiagnostics(exportReport));
36
+ }
32
37
  /**
33
38
  * eBay API MCP Server
34
39
  * Provides access to eBay APIs through Model Context Protocol
@@ -10,11 +10,14 @@ import { getErrorMessage } from '../utils/errors.js';
10
10
  import { serverLogger, toolLogger } from '../utils/logger.js';
11
11
  import { Effect } from 'effect';
12
12
  function formatToolSuccess(result) {
13
+ // JSON.stringify(undefined) returns undefined (not a string), which produces an
14
+ // invalid MCP content block and triggers client -32602 on empty-body 201/204s.
15
+ const successDocument = result === undefined || result === null ? { status: 'success' } : result;
13
16
  return {
14
17
  content: [
15
18
  {
16
19
  type: 'text',
17
- text: JSON.stringify(result, null, 2),
20
+ text: JSON.stringify(successDocument, null, 2),
18
21
  },
19
22
  ],
20
23
  };
@@ -3,11 +3,12 @@
3
3
  *
4
4
  * Usage:
5
5
  * npm run diagnose
6
- * npx ebay-mcp --diagnose
6
+ * ebay-mcp diagnose
7
+ * ebay-mcp diagnose --export
7
8
  */
8
9
  import chalk from 'chalk';
9
10
  import { writeFileSync } from 'fs';
10
- import { join, dirname } from 'path';
11
+ import { join, dirname, resolve } from 'path';
11
12
  import { fileURLToPath } from 'url';
12
13
  import { runSecurityChecks, displaySecurityResults } from '../scripts/securityChecker.js';
13
14
  import { validateSetup, displayRecommendations } from '../scripts/setupValidator.js';
@@ -235,7 +236,7 @@ async function generateDiagnosticReport(exportPath) {
235
236
  /**
236
237
  * Main diagnostics function
237
238
  */
238
- async function runDiagnostics(exportReport = false) {
239
+ export const runDiagnostics = async (exportReport = false) => {
239
240
  displayHeader();
240
241
  displaySystemInfo();
241
242
  await displayUpdateStatus();
@@ -295,16 +296,21 @@ async function runDiagnostics(exportReport = false) {
295
296
  console.log(chalk.bold.green('✅ Diagnostics complete!\n'));
296
297
  console.log(chalk.gray('For more help, visit:'));
297
298
  console.log(chalk.blue.underline(' https://github.com/YosefHayim/ebay-mcp#troubleshooting\n'));
299
+ };
300
+ // Direct script entry (`node build/scripts/diagnostics.js` / `npm run diagnose`).
301
+ // Guarded so importing from the bin does not auto-run diagnostics.
302
+ const entryPath = process.argv[1] ? resolve(process.argv[1]) : undefined;
303
+ const modulePath = resolve(fileURLToPath(import.meta.url));
304
+ if (entryPath && modulePath === entryPath) {
305
+ const cliArgs = process.argv.slice(2);
306
+ const exportReport = cliArgs.includes('--export') || cliArgs.includes('-e');
307
+ void Effect.runPromise(Effect.either(Effect.tryPromise({
308
+ try: () => runDiagnostics(exportReport),
309
+ catch: (error) => error,
310
+ }))).then((result) => {
311
+ if (Either.isLeft(result)) {
312
+ console.error(chalk.red('\n❌ Diagnostics failed:'), getErrorMessage(result.left));
313
+ process.exitCode = 1;
314
+ }
315
+ });
298
316
  }
299
- // CLI handler
300
- const args = process.argv.slice(2);
301
- const exportReport = args.includes('--export') || args.includes('-e');
302
- void Effect.runPromise(Effect.either(Effect.tryPromise({
303
- try: () => runDiagnostics(exportReport),
304
- catch: (error) => error,
305
- }))).then((result) => {
306
- if (Either.isLeft(result)) {
307
- console.error(chalk.red('\n❌ Diagnostics failed:'), getErrorMessage(result.left));
308
- process.exitCode = 1;
309
- }
310
- });
@@ -63,7 +63,16 @@ export const accountEntries = [
63
63
  }),
64
64
  defineTool({
65
65
  name: 'ebay_create_fulfillment_policy',
66
- description: 'Create a new fulfillment policy.\n\nRequired OAuth Scope: sell.account\nMinimum Scope: https://api.ebay.com/oauth/api_scope/sell.account',
66
+ description: 'Create a new fulfillment policy.\n\n' +
67
+ 'shippingServiceCode must be a marketplace-valid eBay service enum (not a free-form carrier nickname). ' +
68
+ 'Invalid codes return "Please select a valid shipping service". eBay may cite DomesticItemShippingService[0] ' +
69
+ 'and [1] for a single bad entry — that is remote validation, not client array duplication. ' +
70
+ 'Discover valid codes via Trading GeteBayDetails (ShippingServiceDetails). ' +
71
+ 'Known-good EBAY_US FLAT_RATE sketch: policy.name, policy.marketplaceId=EBAY_US, ' +
72
+ 'policy.categoryTypes=[{name:ALL_EXCLUDING_MOTORS_VEHICLES}], policy.handlingTime={unit:DAY,value:1}, ' +
73
+ 'policy.shippingOptions=[{costType:FLAT_RATE,optionType:DOMESTIC,shippingServices:[{shippingServiceCode:USPSPriority,shippingCost:{currency:USD,value:"5.99"}}]}]. ' +
74
+ 'Avoid invented codes like USPSPriorityMail. Sandbox may accept a smaller code set than production.\n\n' +
75
+ 'Required OAuth Scope: sell.account\nMinimum Scope: https://api.ebay.com/oauth/api_scope/sell.account',
67
76
  inputSchema: createFulfillmentPolicyInputSchema.shape,
68
77
  outputSchema: zodToJsonSchema(createFulfillmentPolicyOutputSchema, {
69
78
  name: 'CreateFulfillmentPolicyResponse',
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ebay-mcp",
3
- "version": "1.14.2",
4
- "description": "Model Context Protocol (MCP) server that exposes 100% of eBay's Sell APIs (322 tools across 270 endpoints) to AI assistants like Claude, Cursor, and Cline, covering inventory, order fulfillment, marketing, analytics, and developer tools with OAuth authentication and refresh-token support.",
3
+ "version": "1.14.3",
4
+ "description": "Model Context Protocol (MCP) server that exposes 100% of eBay's Sell APIs (298 tools across 270 endpoints) to AI assistants like Claude, Cursor, and Cline, covering inventory, order fulfillment, marketing, analytics, and developer tools with OAuth authentication and refresh-token support.",
5
5
  "type": "module",
6
6
  "main": "build/index.js",
7
7
  "types": "build/index.d.ts",
@@ -109,10 +109,10 @@
109
109
  "test": "vitest run",
110
110
  "test:coverage": "vitest run --coverage",
111
111
  "test:integration": "vitest run --config vitest.integration.config.cts",
112
- "setup": "tsx src/scripts/setup.ts",
113
- "skills": "tsx src/scripts/skills.ts",
112
+ "setup": "node build/scripts/setup.js",
113
+ "skills": "node build/scripts/skills.js",
114
114
  "sync": "tsx src/scripts/devSync.ts",
115
- "diagnose": "tsx src/scripts/diagnostics.ts",
115
+ "diagnose": "node build/scripts/diagnostics.js",
116
116
  "typecheck": "tsc --noEmit",
117
117
  "typecheck:ui": "tsc -p ui/tsconfig.json --noEmit",
118
118
  "check": "tsc --noEmit && tsc -p ui/tsconfig.json --noEmit && biome check \"{src,ui}/**/*.{ts,tsx,js,json,md,css,html}\"",