ebay-mcp 1.18.0 → 1.18.2

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 (161) hide show
  1. package/README.md +24 -35
  2. package/build/api/account-management/accountV2.js +22 -22
  3. package/build/api/account-management/finances.js +10 -10
  4. package/build/api/analytics-and-report/analytics.js +1 -1
  5. package/build/api/{client.js → client/ebayApiClient.js} +37 -41
  6. package/build/api/{clientTrading.js → client/tradingApiClient.js} +22 -22
  7. package/build/api/communication/feedback.js +21 -21
  8. package/build/api/communication/message.js +23 -23
  9. package/build/api/communication/negotiation.js +7 -7
  10. package/build/api/communication/notification.js +52 -52
  11. package/build/api/developer/developer.js +3 -3
  12. package/build/api/{index.js → ebaySellerApi.js} +4 -4
  13. package/build/api/listing-management/feedReportTasks.js +6 -6
  14. package/build/api/listing-management/feedRequest.js +6 -6
  15. package/build/api/listing-management/feedSchedules.js +4 -4
  16. package/build/api/listing-management/feedTasks.js +2 -2
  17. package/build/api/listing-management/items.js +22 -22
  18. package/build/api/listing-management/locations.js +4 -4
  19. package/build/api/listing-management/media.js +14 -14
  20. package/build/api/listing-management/mediaAttach.js +14 -14
  21. package/build/api/listing-management/mediaResources.js +15 -13
  22. package/build/api/listing-management/offerFormat.js +1 -1
  23. package/build/api/listing-management/offers.js +23 -23
  24. package/build/api/listing-management/stores.js +9 -9
  25. package/build/api/listing-metadata/metadata.js +10 -10
  26. package/build/api/marketing-and-promotions/ads.js +34 -34
  27. package/build/api/marketing-and-promotions/campaigns.js +19 -19
  28. package/build/api/marketing-and-promotions/promotions.js +22 -22
  29. package/build/api/marketing-and-promotions/reports.js +7 -7
  30. package/build/api/order-management/dispute.js +11 -9
  31. package/build/api/order-management/fulfillment.js +4 -4
  32. package/build/api/order-management/logistics.js +7 -7
  33. package/build/api/other/browseMappers.js +15 -13
  34. package/build/api/other/browseValidators.js +4 -4
  35. package/build/api/other/edelivery.js +19 -19
  36. package/build/api/other/finding.js +13 -13
  37. package/build/api/other/translation.js +2 -2
  38. package/build/api/other/vero.js +2 -2
  39. package/build/api/shared/download.js +7 -7
  40. package/build/api/shared/request.js +28 -19
  41. package/build/api/trading/listingFormat.js +37 -30
  42. package/build/api/trading/trading.js +33 -33
  43. package/build/auth/credentialSession.js +5 -5
  44. package/build/auth/oauth.js +3 -3
  45. package/build/auth/oauthHelper.js +24 -24
  46. package/build/auth/oauthMetadata.js +4 -4
  47. package/build/auth/oauthMiddleware.js +16 -16
  48. package/build/auth/scopeUtils.js +2 -2
  49. package/build/auth/tokenVerifier.js +23 -23
  50. package/build/config/environment.js +4 -45
  51. package/build/config/oauthScopes.js +132 -0
  52. package/build/index.js +5 -5
  53. package/build/mcp/httpTransport.js +32 -20
  54. package/build/mcp/runtime.js +12 -12
  55. package/build/mcp/toolGating.js +6 -12
  56. package/build/mcp/uiBridge.js +3 -3
  57. package/build/schemas/account-management/account.js +2 -52
  58. package/build/schemas/account-management/accountV2.js +2 -2
  59. package/build/schemas/account-management/finances.js +1 -1
  60. package/build/schemas/analytics/analytics.js +2 -48
  61. package/build/schemas/communication/messages.js +2 -46
  62. package/build/schemas/developer/developer.js +1 -27
  63. package/build/schemas/fulfillment/logistics.js +1 -1
  64. package/build/schemas/fulfillment/orders.js +2 -47
  65. package/build/schemas/inventory-management/feed.js +1 -1
  66. package/build/schemas/inventory-management/inventory.js +2 -50
  67. package/build/schemas/inventory-management/media.js +2 -2
  68. package/build/schemas/inventory-management/mediaDocuments.js +1 -1
  69. package/build/schemas/inventory-management/stores.js +1 -1
  70. package/build/schemas/marketing/ads.js +2 -2
  71. package/build/schemas/marketing/campaigns.js +2 -2
  72. package/build/schemas/marketing/common.js +2 -2
  73. package/build/schemas/marketing/marketing.js +0 -1
  74. package/build/schemas/marketing/promotions.js +2 -2
  75. package/build/schemas/marketing/reports.js +2 -2
  76. package/build/schemas/metadata/metadata.js +2 -90
  77. package/build/schemas/metadata/shipping.js +1 -1
  78. package/build/schemas/other/browse.js +2 -2
  79. package/build/schemas/other/finding.js +2 -2
  80. package/build/schemas/other/otherApis.js +2 -114
  81. package/build/schemas/taxonomy/categoryTree.js +1 -1
  82. package/build/schemas/taxonomy/charity.js +1 -1
  83. package/build/schemas/taxonomy/taxonomy.js +2 -69
  84. package/build/scripts/autoSetup.js +3 -3
  85. package/build/scripts/{buildUi.js → buildMcpApps.js} +13 -13
  86. package/build/scripts/devSync.js +19 -68
  87. package/build/scripts/diagnostics.js +15 -16
  88. package/build/scripts/interactiveSetup.js +25 -25
  89. package/build/scripts/scopeHelper.js +2 -2
  90. package/build/scripts/securityChecker.js +20 -20
  91. package/build/scripts/setup.js +76 -76
  92. package/build/scripts/setupShared.js +5 -30
  93. package/build/scripts/setupValidator.js +9 -9
  94. package/build/scripts/setupWizard.js +23 -23
  95. package/build/scripts/skills.js +14 -17
  96. package/build/scripts/specRefs.js +1 -1
  97. package/build/scripts/specSources.js +144 -0
  98. package/build/serverHttp.js +4 -7
  99. package/build/skills/content.js +13 -13
  100. package/build/skills/install.js +9 -9
  101. package/build/skills/render.js +2 -2
  102. package/build/tools/categories/communication.js +1 -1
  103. package/build/tools/categories/connector.js +19 -16
  104. package/build/tools/categories/fulfillment.js +4 -4
  105. package/build/tools/categories/inventory.js +1 -1
  106. package/build/tools/categories/metadata.js +1 -1
  107. package/build/tools/categories/taxonomy.js +1 -1
  108. package/build/tools/categories/tokenManagement.js +8 -8
  109. package/build/tools/contracts.js +2 -2
  110. package/build/tools/defineTool.js +27 -12
  111. package/build/tools/registry.js +2 -2
  112. package/build/tools/schemas.js +2 -2
  113. package/build/tools/ui/mapHelpers.js +12 -12
  114. package/build/tools/ui/maps.js +101 -97
  115. package/build/tools/ui/viewModels.js +2 -2
  116. package/build/utils/apiStatusFeed.js +12 -12
  117. package/build/utils/communication/feedback.js +3 -3
  118. package/build/utils/communication/message.js +3 -3
  119. package/build/utils/communication/negotiation.js +3 -3
  120. package/build/utils/communication/notification.js +3 -3
  121. package/build/utils/entryModule.js +33 -0
  122. package/build/utils/envFile.js +47 -0
  123. package/build/utils/envParser.js +5 -5
  124. package/build/utils/errors.js +4 -4
  125. package/build/utils/http.js +38 -38
  126. package/build/utils/localFeedFiles.js +3 -3
  127. package/build/utils/logRedaction.js +21 -0
  128. package/build/utils/logger.js +49 -35
  129. package/build/utils/other/compliance.js +3 -3
  130. package/build/utils/other/identity.js +3 -3
  131. package/build/utils/other/translation.js +3 -3
  132. package/build/utils/other/vero.js +3 -3
  133. package/build/utils/schemaHelpers.js +2 -2
  134. package/build/utils/tokenUtils.js +2 -2
  135. package/build/utils/trading/trading.js +1 -1
  136. package/build/utils/version.js +1 -1
  137. package/build/utils/zodIssues.js +14 -0
  138. package/package.json +8 -11
  139. package/README.de.md +0 -426
  140. package/README.es.md +0 -426
  141. package/README.fr.md +0 -426
  142. package/README.ja.md +0 -426
  143. package/README.ko.md +0 -426
  144. package/README.pt-BR.md +0 -426
  145. package/README.ru.md +0 -426
  146. package/README.zh-CN.md +0 -426
  147. package/build/schemas/index.js +0 -76
  148. package/build/schemas/marketing/jsonSchemas.js +0 -118
  149. package/build/scripts/downloadSpecs.js +0 -117
  150. package/build/scripts/updateApiStatusDoc.js +0 -71
  151. package/build/utils/effectSchema.js +0 -203
  152. package/build/utils/effectSchemaAdapter.js +0 -121
  153. package/build/utils/effectSchemaChainMethods.js +0 -146
  154. package/build/utils/effectSchemaRefinements.js +0 -104
  155. package/build/utils/effectSchemaStringMethods.js +0 -63
  156. package/build/utils/effectSchemaTypes.js +0 -47
  157. package/docs/auth/production_scopes.json +0 -111
  158. package/docs/auth/sandbox_scopes.json +0 -142
  159. /package/build/api/{clientRequestError.js → client/ebayClientRequestError.js} +0 -0
  160. /package/build/api/{rateLimitTracker.js → client/rateLimitTracker.js} +0 -0
  161. /package/build/api/{clientTradingError.js → client/tradingApiFailure.js} +0 -0
package/README.pt-BR.md DELETED
@@ -1,426 +0,0 @@
1
- <!-- Keywords: servidor MCP do eBay, Model Context Protocol para eBay, API do eBay para assistentes de IA, eBay Sell API, integração do eBay com Claude, eBay com Cursor, automação de estoque do eBay, gestão de pedidos do eBay com IA, OAuth do eBay, ferramentas para desenvolvedores do eBay, servidor MCP para eBay -->
2
-
3
- <p align="center">
4
- <a href="https://github.com/YosefHayim/ebay-mcp"><img src="public/ebay-mcp-hero.png" alt="Servidor MCP do eBay — conecte o Claude, o Cursor e qualquer assistente de IA às Sell APIs do eBay com um único comando (npm run setup)" width="820" /></a>
5
- </p>
6
-
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. 384 ferramentas para estoque, pedidos, marketing e analytics, rodando localmente com suas próprias chaves.</strong>
9
- </p>
10
-
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>
12
-
13
- <p align="center">
14
- <a href="https://www.npmjs.com/package/ebay-mcp"><img src="https://img.shields.io/npm/v/ebay-mcp?logo=npm&color=cb3837" alt="versão no npm" /></a>
15
- <a href="https://www.npmjs.com/package/ebay-mcp"><img src="https://img.shields.io/npm/dm/ebay-mcp?logo=npm&color=cb3837" alt="downloads mensais no npm" /></a>
16
- <a href="https://github.com/YosefHayim/ebay-mcp/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/YosefHayim/ebay-mcp/ci.yml?branch=main&logo=github&label=CI" alt="status do CI" /></a>
17
- <a href="LICENSE"><img src="https://img.shields.io/npm/l/ebay-mcp?color=blue" alt="licença MIT" /></a>
18
- <img src="https://img.shields.io/node/v/ebay-mcp?logo=node.js&color=339933" alt="versão do Node.js necessária" />
19
- <img src="https://img.shields.io/badge/types-included-3178c6?logo=typescript&logoColor=white" alt="tipos do TypeScript incluídos" />
20
- </p>
21
-
22
- <p align="center">
23
- <img src="https://img.shields.io/badge/tools-384-8957e5?logo=ebay&logoColor=white" alt="384 ferramentas da API do eBay" />
24
- <img src="https://img.shields.io/badge/Sell%20API%20coverage-100%25-success" alt="100% de cobertura da Sell API do eBay" />
25
- <img src="https://img.shields.io/badge/Model%20Context%20Protocol-compatible-000000" alt="compatível com o Model Context Protocol" />
26
- <img src="https://img.shields.io/badge/tests-1%2C000%2B%20passing-3fb950?logo=vitest&logoColor=white" alt="mais de 1000 testes passando" />
27
- <img src="https://img.shields.io/badge/runs-100%25%20local-blue" alt="roda inteiramente na sua máquina" />
28
- </p>
29
-
30
- <p align="center">
31
- <a href="https://mseep.ai/app/yosefhayim-ebay-api-mcp-server"><img src="https://mseep.net/pr/yosefhayim-ebay-api-mcp-server-badge.png" alt="Selo de avaliação de segurança da MseeP.ai" height="40" /></a>
32
- </p>
33
-
34
- <p align="center">
35
- <a href="README.md">English</a> ·
36
- <a href="README.zh-CN.md">简体中文</a> ·
37
- <a href="README.es.md">Español</a> ·
38
- <strong>Português (BR)</strong> ·
39
- <a href="README.ja.md">日本語</a> ·
40
- <a href="README.ko.md">한국어</a> ·
41
- <a href="README.fr.md">Français</a> ·
42
- <a href="README.de.md">Deutsch</a> ·
43
- <a href="README.ru.md">Русский</a>
44
- </p>
45
-
46
- ---
47
-
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
-
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 **384 ferramentas** abrangendo **100% da superfície da Sell API do eBay** (360 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
-
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
-
54
- ## Índice
55
-
56
- - [Recursos](#recursos)
57
- - [eBay MCP vs. a API bruta do eBay](#ebay-mcp-vs-a-api-bruta-do-ebay)
58
- - [Configuração com IA em um clique](#configuração-com-ia-em-um-clique)
59
- - [Início rápido](#início-rápido)
60
- - [Demonstração](#demonstração)
61
- - [Configuração](#configuração)
62
- - [Ferramentas disponíveis](#ferramentas-disponíveis)
63
- - [Interface interativa (MCP Apps) — beta](#interface-interativa-mcp-apps)
64
- - [Exemplos de uso](#exemplos-de-uso)
65
- - [Logs e solução de problemas](#logs-e-solução-de-problemas)
66
- - [Perguntas frequentes](#perguntas-frequentes)
67
- - [Como contribuir](#como-contribuir)
68
- - [Links úteis](#links-úteis)
69
- - [Licença](#licença)
70
- - [Colaboradores](#colaboradores)
71
-
72
- ## Recursos
73
-
74
- - **384 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
- - **9 clientes de IA, autoconfigurados** — Claude Desktop, Cursor, Zed, Cline, Continue.dev, Windsurf, Roo Code, Claude Code CLI e Amazon Q Developer.
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
- - **Resiliente por padrão** — nova tentativa automática com recuo exponencial em limites de taxa `429` e exibição de erros clara e consistente.
78
- - **Com segurança de tipos** — TypeScript de ponta a ponta, entradas de ferramentas validadas com Effect e tipos gerados a partir do OpenAPI.
79
- - **Local e privado** — roda via STDIO ou HTTP local; suas credenciais e dados nunca saem da sua máquina.
80
- - **Sandbox e produção** — troque de ambiente com uma única variável.
81
- - **Configuração em um comando** — `npm run setup` configura credenciais, OAuth e seu cliente MCP, abrindo o navegador automaticamente para o fluxo OAuth.
82
- - **Bem testado** — mais de 1000 testes automatizados rodam no CI a cada alteração.
83
-
84
- ## eBay MCP vs. a API bruta do eBay
85
-
86
- Ambos falam com os mesmos endpoints do eBay — a diferença é tudo o que você teria que construir sozinho.
87
-
88
- | | **Servidor MCP do eBay** | **API REST bruta do eBay** |
89
- | --- | --- | --- |
90
- | Interface | Linguagem natural pelo seu assistente de IA | Requisições HTTP escritas à mão e parsing de JSON |
91
- | OAuth e renovação de tokens | Integrados, com renovação automática | Você implementa e mantém |
92
- | Tratamento de limites de taxa | Nova tentativa automática com recuo exponencial | Tratamento manual de `429` e recuo |
93
- | Validação de entradas | Esquemas baseados em Effect + tipos TypeScript em cada ferramenta | Nenhuma — você valida seus próprios payloads |
94
- | Configuração | Um assistente (`npm run setup`) | Auth, cabeçalhos e marketplace por chamada |
95
- | Suporte a clientes de IA | 9 clientes autoconfigurados | Não se aplica |
96
- | Cobertura da API | 384 ferramentas em 100% das Sell APIs, prontas para usar | Você constrói cada requisição a partir da documentação |
97
- | Hospedagem | Roda localmente, sem relay na nuvem | Sua própria infraestrutura |
98
-
99
- ## Configuração com IA em um clique
100
-
101
- > **Deixe seu assistente de IA configurar para você.** Copie o prompt abaixo e cole no Claude, no ChatGPT ou em qualquer assistente de IA com suporte a MCP.
102
-
103
- <details>
104
- <summary><strong>Clique para copiar o prompt de configuração com IA</strong></summary>
105
-
106
- ```
107
- I want to set up the eBay MCP Server for my AI assistant. Please help me:
108
-
109
- 1. Install the eBay MCP server:
110
- npm install -g ebay-mcp
111
-
112
- 2. I need to configure it for [Claude Desktop / Cursor / Cline / Zed / Continue.dev / Windsurf / Claude Code CLI / Amazon Q] (choose one)
113
-
114
- 3. My eBay credentials are:
115
- - Client ID: [YOUR_CLIENT_ID]
116
- - Client Secret: [YOUR_CLIENT_SECRET]
117
- - Environment: [sandbox / production]
118
- - Redirect URI (RuName): [YOUR_REDIRECT_URI]
119
-
120
- Please:
121
- - Create the appropriate config file for my MCP client
122
- - Set up the environment variables
123
- - Help me complete the OAuth flow to get a refresh token for higher rate limits
124
- - Test that the connection works
125
-
126
- If I don't have eBay credentials yet, guide me through creating a developer account at https://developer.ebay.com/
127
- ```
128
-
129
- </details>
130
-
131
- ## Início rápido
132
-
133
- ### 1. Obtenha credenciais do eBay
134
-
135
- 1. Crie uma [conta de desenvolvedor do eBay](https://developer.ebay.com/) gratuita.
136
- 2. Gere as chaves do aplicativo no [Portal do desenvolvedor](https://developer.ebay.com/my/keys).
137
- 3. Salve seu **Client ID** e seu **Client Secret**.
138
-
139
- ### 2. Instale
140
-
141
- ```bash
142
- npm install -g ebay-mcp # pelo npm (recomendado)
143
- ```
144
-
145
- Ou a partir do código-fonte:
146
-
147
- ```bash
148
- git clone https://github.com/YosefHayim/ebay-mcp.git
149
- cd ebay-mcp && npm install && npm run build
150
- ```
151
-
152
- ### 3. Rode o assistente de configuração
153
-
154
- ```bash
155
- npm run setup
156
- ```
157
-
158
- O assistente configura suas credenciais do eBay, estabelece o OAuth (para limites de taxa mais altos), detecta e configura automaticamente seu cliente MCP e salva tudo automaticamente.
159
-
160
- ### 4. Use
161
-
162
- Reinicie seu cliente MCP (Claude Desktop, etc.) e comece a gerenciar o eBay pelo seu assistente de IA.
163
-
164
- <details>
165
- <summary><strong>📸 Guia visual de configuração (Portal do desenvolvedor do eBay)</strong></summary>
166
-
167
- <br />
168
-
169
- O assistente de configuração (`npm run setup`) cuida do OAuth automaticamente. Veja onde encontrar suas credenciais no Portal do desenvolvedor do eBay:
170
-
171
- **Passo 1** — No [Portal do desenvolvedor](https://developer.ebay.com/my/keys), copie seu **App ID (Client ID)** e seu **Cert ID (Client Secret)**:
172
-
173
- ![Passo 1 - Copie o Client ID e o Client Secret do Portal do desenvolvedor do eBay](public/screenshot-guides/STEP%20-%201%20-%20COPY%20CLIENT%20ID%20AND%20CLIENT%20SECRET%20TO%20ENV%20FILE.png)
174
-
175
- **Passo 2** — Nas configurações de **User Tokens** do seu aplicativo, copie o **RuName** (URL de redirecionamento do eBay):
176
-
177
- ![Passo 2 - Copie a URL de redirecionamento RuName das configurações de login do eBay](public/screenshot-guides/STEP%20-%202%20-%20COPY%20REDIRECT%20URL.png)
178
-
179
- **Passo 3** — Rode `npm run setup`. Ele abre seu navegador para o login OAuth e guia você pelo acesso ao eBay:
180
-
181
- ![Passo 3 - Faça login no eBay durante o fluxo OAuth iniciado pelo npm run setup](public/screenshot-guides/STEP%203%20-%20RUN%20COMMAND%20NPM%20RUN%20SETUP%20AND%20PREFORM%20OAUTH%20LOGIN.png)
182
-
183
- **Passo 4** — Cole o código de autorização da URL de retorno quando solicitado:
184
-
185
- ![Passo 4 - Cole o código de autorização no assistente de configuração do eBay MCP](public/screenshot-guides/STEP%20-%204%20-%20PASTE%20INTO%20THE%20SETUP%20WIZARD.png)
186
-
187
- O assistente troca o código por tokens, salva-os e configura seu cliente MCP. Agora você tem autenticação com token de usuário (10k–50k req/dia em vez das 1k/dia padrão).
188
-
189
- </details>
190
-
191
- ## Demonstração
192
-
193
- Veja o servidor MCP do eBay em ação com o Claude Desktop:
194
-
195
- https://github.com/user-attachments/assets/0173c8df-221c-4943-a4ce-cd20bce79f4b
196
-
197
- ## Configuração
198
-
199
- > 📖 A referência completa —cada variável de ambiente, etapa do OAuth e escopo— está no [Guia de configuração](docs/auth/CONFIGURATION.md). `npm run setup` escreve o `.env` para você; as variáveis abaixo são apenas para referência.
200
-
201
- ```bash
202
- EBAY_CLIENT_ID=your_client_id
203
- EBAY_CLIENT_SECRET=your_client_secret
204
- EBAY_ENVIRONMENT=sandbox # ou "production"
205
- EBAY_REDIRECT_URI=your_runame
206
- EBAY_MARKETPLACE_ID=EBAY_US # marketplace padrão (substituível por ferramenta)
207
- EBAY_CONTENT_LANGUAGE=en-US # idioma de conteúdo padrão das requisições
208
- EBAY_USER_REFRESH_TOKEN=your_token # para limites de taxa mais altos
209
- EBAY_MCP_UI=on # visualizações interativas MCP Apps (beta); defina "off" para forçar JSON puro
210
- ```
211
-
212
- ### Autenticação e limites de taxa
213
-
214
- | Modo | Limite diário | Ideal para | Configuração |
215
- | --------------------------------------- | ------------------ | -------------------- | --------------------------------- |
216
- | **Credenciais de cliente** (padrão) | 1000 req/dia | Desenvolvimento, teste | Automática com Client ID + Secret |
217
- | **Token de usuário** (recomendado) | 10k–50k req/dia | Produção, alto volume | OAuth via `npm run setup` |
218
-
219
- Os limites do token de usuário variam conforme o nível da conta (Individual 10k · Comercial 25k · Enterprise 50k+). Em um `429`, o servidor tenta novamente com recuo exponencial e exibe o erro. Consulte o [Guia de configuração](docs/auth/CONFIGURATION.md) e a [Referência rápida do OAuth](docs/auth/OAUTH_QUICK_REFERENCE.md) para detalhes, e monitore o uso no [Portal do desenvolvedor](https://developer.ebay.com/my/api_usage).
220
-
221
- ### Compatibilidade de clientes MCP
222
-
223
- Autoconfigurados pelo `npm run setup`. Requer Node.js ≥ 20 e o protocolo MCP 1.0+ via STDIO (padrão) ou HTTP.
224
-
225
- | Cliente | Plataforma | Caminho de configuração |
226
- | ---------------------- | --------------------- | --------------------------------------------------------------------------- |
227
- | **Claude Desktop** | macOS, Windows, Linux | `~/Library/Application Support/Claude/claude_desktop_config.json` |
228
- | **Cursor IDE** | macOS, Windows, Linux | `~/.cursor/mcp.json` |
229
- | **Zed Editor** | macOS, Windows, Linux | `~/.config/zed/settings.json` |
230
- | **Cline** | Extensão do VS Code | `~/...globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json` |
231
- | **Continue.dev** | VS Code, JetBrains | `~/.continue/config.json` |
232
- | **Windsurf (Codeium)** | macOS, Windows, Linux | `~/.codeium/windsurf/mcp_config.json` |
233
- | **Roo Code** | Extensão do VS Code | `~/...globalStorage/rooveterinaryinc.roo-cline/settings/mcp_settings.json` |
234
- | **Claude Code CLI** | Terminal | `~/.claude.json` |
235
- | **Amazon Q Developer** | AWS | `~/.aws/amazonq/mcp.json` |
236
-
237
- ## Ferramentas disponíveis
238
-
239
- **384 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
-
241
- | Categoria | O que você pode fazer |
242
- | --- | --- |
243
- | [Connector](src/tools/categories/connector.ts) | Ferramentas search/fetch do conector ChatGPT sobre o catálogo eBay MCP |
244
- | [Account](src/tools/categories/account.ts) | Políticas de negócio, envio, pagamento e devolução; programas; assinaturas; imposto sobre vendas; tabelas de frete, configurações de repasse, regras de envio combinado e preferências do usuário ([`accountV2.ts`](src/tools/categories/accountV2.ts), Account API v2) |
245
- | [Finances](src/tools/categories/finances.ts) | Repasses, transações, transferências, fundos do vendedor, atividade de cobrança, ganhos por pedido |
246
- | [Inventory](src/tools/categories/inventory.ts) | Itens de estoque, ofertas, locais, grupos de itens, operações em massa, mapeamento SKU/local e upload de fotos/vídeos locais ([`media.ts`](src/tools/categories/media.ts), Media API) |
247
- | [Feed](src/tools/categories/feed.ts) | Tarefas de feed de pedidos, estoque e métricas de atendimento; agendamentos e modelos; upload e download de arquivos de feed |
248
- | [Stores](src/tools/categories/stores.ts) | Detalhes da loja eBay, categorias da loja, tarefas de categoria |
249
- | [Fulfillment](src/tools/categories/fulfillment.ts) | Pedidos, envio, reembolsos, disputas, evidências de disputas de pagamento |
250
- | [Logistics](src/tools/categories/logistics.ts) | Cotações de frete, compra de etiquetas, remessas, download de etiquetas (lançamento limitado) |
251
- | [Marketing](src/tools/categories/marketing.ts) | Campanhas de anúncios patrocinados, anúncios, promoções, lances, operações em massa |
252
- | [Analytics](src/tools/categories/analytics.ts) | Relatórios de tráfego, padrões do vendedor, métricas de atendimento ao cliente |
253
- | [Communication](src/tools/categories/communication.ts) | Mensagens comprador–vendedor, negociações, notificações, avaliações |
254
- | [Metadata](src/tools/categories/metadata.ts) | Políticas de devolução, jurisdições de imposto sobre vendas, compatibilidade automotiva |
255
- | [Taxonomy](src/tools/categories/taxonomy.ts) | Árvores de categorias, aspectos de itens, condições de itens |
256
- | [Browse](src/tools/categories/browse.ts) | Busca de anúncios vendidos/concluídos (Finding API) para comparáveis de preço |
257
- | [Other](src/tools/categories/other.ts) | Identity, VeRO, tradução e APIs de suporte a envio internacional (ferramentas de Compliance reportam a desativação da eBay em 2026-03-30) |
258
- | [Trading (XML legado)](src/tools/categories/trading.ts) | Criar, revisar, republicar e encerrar anúncios de preço fixo e leilões |
259
- | [Developer](src/tools/categories/developer.ts) | Limites de taxa, chaves de assinatura, registro de clientes |
260
- | [Token Management](src/tools/categories/tokenManagement.ts) | Geração de URL de OAuth e gestão de tokens |
261
-
262
- **Ferramentas de exemplo:** `ebay_get_inventory_items`, `ebay_get_orders`, `ebay_create_offer`, `ebay_get_campaigns`, `ebay_get_oauth_url`.
263
-
264
- Para o índice completo legível por máquina, consulte [llms.txt](llms.txt).
265
-
266
- ## Interface interativa (MCP Apps)
267
-
268
- > **Beta** — este recurso é novo e evolui junto com a especificação do MCP Apps, e o suporte dos hosts ainda está sendo lançado. É opcional (opt-in) e tem fallback para JSON puro, então nunca quebra clientes existentes. Ative ou desative com `EBAY_MCP_UI`.
269
-
270
- Em hosts compatíveis com [MCP Apps](https://modelcontextprotocol.io), as ferramentas de leitura mais comuns exibem seus resultados como visualizações interativas em vez de JSON bruto — uma **tabela** ordenável, um **cartão** de detalhes ou um **gráfico** — usando o próprio tema do host. Em qualquer outro lugar, exatamente as mesmas ferramentas retornam JSON puro, então nada quebra. É construída sobre o [SDK oficial do MCP Apps (`@modelcontextprotocol/ext-apps`)](https://github.com/modelcontextprotocol/ext-apps), a extensão que permite que servidores MCP entreguem interfaces interativas a clientes conversacionais.
271
-
272
- - **Opt-in e condicionado ao host.** As visualizações só são anunciadas aos clientes que declaram a capacidade MCP Apps (por exemplo, o Claude). Hosts sem ela (por exemplo, o Cursor) recebem JSON silenciosamente.
273
- - **Interruptor de desligamento.** Defina `EBAY_MCP_UI=off` para forçar JSON puro em todos os lugares, mesmo em hosts compatíveis.
274
- - **Econômico em tokens.** O HTML de cada visualização é buscado uma única vez pelo host fora de banda (nunca entra no contexto do modelo); o modelo só vê um resumo de uma linha mais os dados estruturados que receberia de qualquer forma.
275
- - **Somente leitura.** As visualizações só acionam ferramentas de leitura (detalhar uma linha, paginar, atualizar) — elas nunca alteram seus dados do eBay.
276
-
277
- 13 ferramentas de fluxos de trabalho essenciais adotam isso hoje, em três arquétipos:
278
-
279
- | Arquétipo | Ferramentas |
280
- | --- | --- |
281
- | **Tabela** | `ebay_get_orders`, `ebay_get_shipping_fulfillments`, `ebay_get_offers`, `ebay_get_inventory_items`, `ebay_get_inventory_locations`, `ebay_get_payment_dispute_summaries` |
282
- | **Cartão** | `ebay_get_order`, `ebay_get_offer`, `ebay_get_inventory_item`, `ebay_get_payment_dispute`, `ebay_get_seller_standards_profile` |
283
- | **Gráfico** | `ebay_get_traffic_report`, `ebay_get_customer_service_metric` |
284
-
285
- As visualizações são compiladas em HTML autocontido com `npm run build` (ou `npm run build:ui`); elas são distribuídas no pacote publicado e carregam sem nenhum acesso à rede próprio.
286
-
287
- ## Exemplos de uso
288
-
289
- Tarefas comuns, formuladas como você pediria ao seu assistente de IA:
290
-
291
- - **Configurar OAuth** — *"Me ajude a configurar o OAuth para minha conta do eBay."* → gera uma URL de autorização via `ebay_get_oauth_url` e depois configura o refresh token. Desbloqueia 10k–50k req/dia.
292
- - **Gerenciar estoque** — *"Mostre todos os meus anúncios ativos."* → `ebay_get_inventory_items` retorna SKUs, quantidades e status.
293
- - **Processar pedidos** — *"Pegue todos os pedidos não atendidos dos últimos 7 dias."* → `ebay_get_orders` com filtros de data e status de envio.
294
- - **Criar campanhas** — *"Crie uma campanha de anúncios patrocinados para eletrônicos."* → `ebay_create_campaign` e ferramentas de marketing relacionadas.
295
- - **Operações em massa** — *"Aplique 10% de desconto a todos os itens de 'Relógios Vintage'."* → `ebay_get_inventory_items` + `ebay_update_offer` nas correspondências.
296
-
297
- ## Logs e solução de problemas
298
-
299
- - **Logs** — baseados em Winston, gravados em stderr (seguro para MCP) com saída de arquivo opcional. Consulte [docs/logging.md](docs/logging.md).
300
- - **Solução de problemas** — servidor não aparece, erros de autenticação, limites de taxa, resultados vazios. Comece com `npm run diagnose` e depois consulte [docs/troubleshooting.md](docs/troubleshooting.md).
301
-
302
- ## Perguntas frequentes
303
-
304
- ### O que é o servidor MCP do eBay?
305
-
306
- Um servidor local do [Model Context Protocol](https://modelcontextprotocol.io) que expõe **384 ferramentas** cobrindo **100% das Sell APIs do eBay** (360 endpoints) para assistentes de IA — estoque, processamento de pedidos, marketing, analytics e ferramentas para desenvolvedores.
307
-
308
- ### Este é um produto oficial do eBay?
309
-
310
- Não. É um projeto de código aberto de terceiros não oficial. **Não tem afiliação, autorização ou endosso da eBay Inc.**
311
-
312
- ### Quais assistentes de IA e clientes MCP são compatíveis?
313
-
314
- `npm run setup` autoconfigura nove clientes: Claude Desktop, Cursor, Zed, Cline, Continue.dev, Windsurf, Roo Code, Claude Code CLI e Amazon Q Developer. Qualquer cliente compatível com MCP pode se conectar.
315
-
316
- ### Posso usar com Claude, ChatGPT ou Cursor?
317
-
318
- Sim. Funciona com Claude Desktop e Claude Code de forma nativa, com Cursor e outros IDEs com MCP, e com qualquer assistente que suporte o Model Context Protocol. O prompt de configuração em um clique acima também funciona com ChatGPT e outros assistentes.
319
-
320
- ### Por que não vejo as tabelas e os gráficos interativos?
321
-
322
- As visualizações interativas do [MCP Apps](#interface-interativa-mcp-apps) só aparecem em hosts que declaram a capacidade (por exemplo, o Claude); outros clientes recebem os mesmos dados como JSON puro. Confirme também que você não definiu `EBAY_MCP_UI=off` e que as visualizações foram compiladas (`npm run build` executa `build:ui`).
323
-
324
- ### Quantas APIs e ferramentas do eBay ele cobre?
325
-
326
- 384 ferramentas em 360 endpoints únicos — 100% das Sell APIs do eBay.
327
-
328
- ### É gratuito e de código aberto?
329
-
330
- Sim. É publicado sob a [licença MIT](LICENSE).
331
-
332
- ### Ele roda localmente ou na nuvem?
333
-
334
- Roda inteiramente na sua máquina via STDIO (ou HTTP local). Não há relay na nuvem — suas credenciais do eBay nunca saem do seu computador.
335
-
336
- ### O que preciso para começar?
337
-
338
- 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`.
339
-
340
- ### Quais são os limites de taxa da API do eBay?
341
-
342
- As credenciais de cliente (padrão) permitem cerca de 1000 requisições/dia. Autenticar com um token de usuário via OAuth eleva isso para 10.000–50.000 requisições/dia, conforme o nível da sua conta.
343
-
344
- ### Ele suporta sandbox e produção?
345
-
346
- Sim. Troque com a variável `EBAY_ENVIRONMENT` (`sandbox` ou `production`).
347
-
348
- ### Minhas credenciais e dados estão seguros?
349
-
350
- As credenciais são armazenadas localmente no seu arquivo `.env` e usadas apenas para chamar o eBay diretamente. Consulte [SECURITY.md](SECURITY.md) e [EBAY_COMPLIANCE.md](EBAY_COMPLIANCE.md).
351
-
352
- ### Qual a diferença em relação a chamar a API do eBay diretamente?
353
-
354
- Você interage em linguagem natural pelo seu assistente de IA. Gestão de tokens OAuth, novas tentativas automáticas com recuo e validação com segurança de tipos baseada em Effect já vêm integradas. Consulte a [tabela comparativa](#ebay-mcp-vs-a-api-bruta-do-ebay) acima.
355
-
356
- ### Ele consegue enviar minhas fotos e vídeos?
357
-
358
- Sim. `ebay_upload_images`, `ebay_upload_video` e `ebay_attach_media_to_inventory_item` leem arquivos locais (caminhos absolutos ou referências `media://`) e os enviam pela Media API do eBay, devolvendo URLs de imagem EPS e IDs de vídeo para `product.imageUrls` / `product.videoIds`. O acesso ao sistema de arquivos é opcional: nada pode ser lido até que `EBAY_MCP_MEDIA_DIRS` ou `EBAY_MCP_MEDIA_ROOT` indique os diretórios. Veja [Photos and videos from local files](README.md#photos-and-videos-from-local-files) (em inglês).
359
-
360
- ### Ele suporta anúncios em leilão?
361
-
362
- Sim, pelas ferramentas de ofertas da Inventory API (REST): crie a oferta com `format: "AUCTION"`, um `auctionStartPrice`, um `auctionReservePrice` opcional e uma `listingDuration` em dias, e depois publique. Veja [Auction offers](README.md#auction-offers) (em inglês). As ferramentas da Trading API usam a mesma chave: `ebay_create_listing` com `format: "AUCTION"` envia `AddItem` com `ListingType` Chinese, um lance inicial `StartPrice` e uma `ListingDuration` em dias.
363
-
364
- ### Ele suporta a antiga Trading API do eBay (XML)?
365
-
366
- Sim. As operações de criar, revisar, republicar e encerrar anúncios são suportadas pelas ferramentas da Trading API, tanto para anúncios de preço fixo (família `AddFixedPriceItem`, o padrão) quanto para leilões (`format: "AUCTION"` → `AddItem`, `ReviseItem`, `EndItem`, `RelistItem`).
367
-
368
- ### Como obtenho limites de taxa mais altos?
369
-
370
- Conclua o fluxo OAuth com `npm run setup` para autenticar com um token de usuário (10k–50k req/dia em vez das 1k padrão).
371
-
372
- ### Com o que ele é construído?
373
-
374
- TypeScript e Node.js (ESM), usando o SDK oficial do MCP, validação baseada em Effect com um adaptador MCP compatível com Zod e tipos gerados a partir do OpenAPI.
375
-
376
- ### Como atualizo para a versão mais recente?
377
-
378
- Rode `npm install -g ebay-mcp@latest` (ou `npm update -g ebay-mcp`).
379
-
380
- ### Funciona offline?
381
-
382
- Não. "Roda localmente" significa que o processo do servidor é executado na sua máquina — ele ainda precisa de conexão com a internet e credenciais válidas para acessar as APIs ao vivo do eBay.
383
-
384
- ## Como contribuir
385
-
386
- Contribuições são bem-vindas. Faça fork → crie um branch → adicione testes → `npm run check && npm test` → faça commit com [Conventional Commits](https://www.conventionalcommits.org/) → abra um PR.
387
-
388
- - Trabalhando no código ou com um agente de programação? Comece pelo **[AGENTS.md](AGENTS.md)** — comandos de build/teste, mapa de módulos e o fluxo para adicionar um endpoint.
389
- - Guia completo: **[CONTRIBUTING.md](CONTRIBUTING.md)**.
390
-
391
- ## Links úteis
392
-
393
- - [Portal do desenvolvedor do eBay](https://developer.ebay.com/) — documentação da API e credenciais
394
- - [Contrato de licença da API do eBay](https://developer.ebay.com/join/api-license-agreement) — termos e conformidade
395
- - [Requisitos de tratamento de dados do eBay](https://developer.ebay.com/api-docs/static/data-handling-update.html) — proteção de dados e privacidade
396
- - [Documentação do MCP](https://modelcontextprotocol.io/) — especificação do Model Context Protocol
397
- - [Referência rápida do OAuth](docs/auth/OAUTH_QUICK_REFERENCE.md) — escopos, solução de problemas, exemplos
398
- - [Status da API do eBay](https://developer.ebay.com/support/api-status) — página de status oficial (também pela ferramenta `ebay_get_api_status` e pelo [snapshot no repositório](docs/API_STATUS.md))
399
- - [CHANGELOG.md](CHANGELOG.md) · [SECURITY.md](SECURITY.md) · [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)
400
- - [Rastreador de issues](https://github.com/YosefHayim/ebay-mcp/issues) — relatos de bugs e solicitações de recursos
401
-
402
- ## Licença
403
-
404
- MIT — consulte [LICENSE](LICENSE).
405
-
406
- ## Colaboradores
407
-
408
- Obrigado a todos que ajudaram a melhorar este projeto! 🎉
409
-
410
- <a href="https://github.com/YosefHayim/ebay-mcp/graphs/contributors">
411
- <img src="https://contrib.rocks/image?repo=YosefHayim/ebay-mcp" alt="Colaboradores do eBay MCP" />
412
- </a>
413
-
414
- ---
415
-
416
- <div align="center">
417
-
418
- <a href="https://www.buymeacoffee.com/yosefhayim" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" height="48" /></a>
419
-
420
- <br /><br />
421
-
422
- **[Apoie este projeto](https://www.buymeacoffee.com/yosefhayim)** · Criado por [Yosef Hayim Sabag](https://github.com/YosefHayim)
423
-
424
- <sub>Servidor MCP do eBay · Model Context Protocol para as Sell APIs do eBay · conecte o Claude, o Cursor e qualquer assistente de IA ao estoque, pedidos, marketing e analytics do eBay.</sub>
425
-
426
- </div>