ebay-mcp 1.4.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/LICENSE +201 -0
- package/README.md +586 -0
- package/build/api/account-management/account.d.ts +216 -0
- package/build/api/account-management/account.js +305 -0
- package/build/api/analytics-and-report/analytics.d.ts +33 -0
- package/build/api/analytics-and-report/analytics.js +102 -0
- package/build/api/client.d.ts +89 -0
- package/build/api/client.js +343 -0
- package/build/api/communication/feedback.d.ts +45 -0
- package/build/api/communication/feedback.js +119 -0
- package/build/api/communication/message.d.ts +55 -0
- package/build/api/communication/message.js +131 -0
- package/build/api/communication/negotiation.d.ts +39 -0
- package/build/api/communication/negotiation.js +97 -0
- package/build/api/communication/notification.d.ts +128 -0
- package/build/api/communication/notification.js +373 -0
- package/build/api/index.d.ts +96 -0
- package/build/api/index.js +121 -0
- package/build/api/listing-management/inventory.d.ts +216 -0
- package/build/api/listing-management/inventory.js +633 -0
- package/build/api/listing-metadata/metadata.d.ts +154 -0
- package/build/api/listing-metadata/metadata.js +485 -0
- package/build/api/listing-metadata/taxonomy.d.ts +38 -0
- package/build/api/listing-metadata/taxonomy.js +58 -0
- package/build/api/marketing-and-promotions/marketing.d.ts +395 -0
- package/build/api/marketing-and-promotions/marketing.js +565 -0
- package/build/api/marketing-and-promotions/recommendation.d.ts +20 -0
- package/build/api/marketing-and-promotions/recommendation.js +32 -0
- package/build/api/order-management/dispute.d.ts +65 -0
- package/build/api/order-management/dispute.js +69 -0
- package/build/api/order-management/fulfillment.d.ts +80 -0
- package/build/api/order-management/fulfillment.js +89 -0
- package/build/api/other/compliance.d.ts +26 -0
- package/build/api/other/compliance.js +47 -0
- package/build/api/other/edelivery.d.ts +153 -0
- package/build/api/other/edelivery.js +219 -0
- package/build/api/other/identity.d.ts +17 -0
- package/build/api/other/identity.js +24 -0
- package/build/api/other/translation.d.ts +14 -0
- package/build/api/other/translation.js +22 -0
- package/build/api/other/vero.d.ts +30 -0
- package/build/api/other/vero.js +48 -0
- package/build/auth/oauth-metadata.d.ts +46 -0
- package/build/auth/oauth-metadata.js +59 -0
- package/build/auth/oauth-middleware.d.ts +35 -0
- package/build/auth/oauth-middleware.js +99 -0
- package/build/auth/oauth-types.d.ts +66 -0
- package/build/auth/oauth-types.js +4 -0
- package/build/auth/oauth.d.ts +93 -0
- package/build/auth/oauth.js +383 -0
- package/build/auth/scope-utils.d.ts +70 -0
- package/build/auth/scope-utils.js +304 -0
- package/build/auth/token-verifier.d.ts +57 -0
- package/build/auth/token-verifier.js +172 -0
- package/build/config/environment.d.ts +61 -0
- package/build/config/environment.js +260 -0
- package/build/index.d.ts +1 -0
- package/build/index.js +98 -0
- package/build/schemas/account-management/account.d.ts +5324 -0
- package/build/schemas/account-management/account.js +366 -0
- package/build/schemas/analytics/analytics.d.ts +167 -0
- package/build/schemas/analytics/analytics.js +191 -0
- package/build/schemas/communication/messages.d.ts +1872 -0
- package/build/schemas/communication/messages.js +348 -0
- package/build/schemas/fulfillment/orders.d.ts +4655 -0
- package/build/schemas/fulfillment/orders.js +317 -0
- package/build/schemas/index.d.ts +2100 -0
- package/build/schemas/index.js +68 -0
- package/build/schemas/inventory-management/inventory.d.ts +6419 -0
- package/build/schemas/inventory-management/inventory.js +450 -0
- package/build/schemas/marketing/marketing.d.ts +14181 -0
- package/build/schemas/marketing/marketing.js +1088 -0
- package/build/schemas/metadata/metadata.d.ts +5259 -0
- package/build/schemas/metadata/metadata.js +614 -0
- package/build/schemas/other/other-apis.d.ts +257 -0
- package/build/schemas/other/other-apis.js +372 -0
- package/build/schemas/taxonomy/taxonomy.d.ts +215 -0
- package/build/schemas/taxonomy/taxonomy.js +571 -0
- package/build/scripts/auto-setup.d.ts +12 -0
- package/build/scripts/auto-setup.js +277 -0
- package/build/scripts/diagnostics.d.ts +8 -0
- package/build/scripts/diagnostics.js +299 -0
- package/build/scripts/download-specs.d.ts +1 -0
- package/build/scripts/download-specs.js +116 -0
- package/build/scripts/interactive-setup.d.ts +21 -0
- package/build/scripts/interactive-setup.js +723 -0
- package/build/server-http.d.ts +11 -0
- package/build/server-http.js +361 -0
- package/build/tools/definitions/account-with-schemas.d.ts +39 -0
- package/build/tools/definitions/account-with-schemas.js +170 -0
- package/build/tools/definitions/account.d.ts +12 -0
- package/build/tools/definitions/account.js +428 -0
- package/build/tools/definitions/analytics.d.ts +25 -0
- package/build/tools/definitions/analytics.js +66 -0
- package/build/tools/definitions/communication.d.ts +12 -0
- package/build/tools/definitions/communication.js +151 -0
- package/build/tools/definitions/fulfillment.d.ts +12 -0
- package/build/tools/definitions/fulfillment.js +326 -0
- package/build/tools/definitions/index.d.ts +25 -0
- package/build/tools/definitions/index.js +37 -0
- package/build/tools/definitions/inventory.d.ts +12 -0
- package/build/tools/definitions/inventory.js +429 -0
- package/build/tools/definitions/marketing.d.ts +12 -0
- package/build/tools/definitions/marketing.js +1095 -0
- package/build/tools/definitions/metadata.d.ts +12 -0
- package/build/tools/definitions/metadata.js +188 -0
- package/build/tools/definitions/other.d.ts +13 -0
- package/build/tools/definitions/other.js +309 -0
- package/build/tools/definitions/taxonomy.d.ts +25 -0
- package/build/tools/definitions/taxonomy.js +64 -0
- package/build/tools/definitions/token-management.d.ts +35 -0
- package/build/tools/definitions/token-management.js +103 -0
- package/build/tools/index.d.ts +11 -0
- package/build/tools/index.js +1003 -0
- package/build/tools/schemas.d.ts +14764 -0
- package/build/tools/schemas.js +667 -0
- package/build/tools/tool-definitions.d.ts +35 -0
- package/build/tools/tool-definitions.js +3534 -0
- package/build/types/application-settings/developerAnalyticsV1BetaOas3.d.ts +197 -0
- package/build/types/application-settings/developerAnalyticsV1BetaOas3.js +5 -0
- package/build/types/application-settings/developerClientRegistrationV1Oas3.d.ts +155 -0
- package/build/types/application-settings/developerClientRegistrationV1Oas3.js +5 -0
- package/build/types/application-settings/developerKeyManagementV1Oas3.d.ts +246 -0
- package/build/types/application-settings/developerKeyManagementV1Oas3.js +5 -0
- package/build/types/ebay-enums.d.ts +1204 -0
- package/build/types/ebay-enums.js +1330 -0
- package/build/types/ebay.d.ts +143 -0
- package/build/types/ebay.js +123 -0
- package/build/types/index.d.ts +6 -0
- package/build/types/index.js +10 -0
- package/build/types/sell-apps/account-management/sellAccountV1Oas3.d.ts +2579 -0
- package/build/types/sell-apps/account-management/sellAccountV1Oas3.js +5 -0
- package/build/types/sell-apps/analytics-and-report/sellAnalyticsV1Oas3.d.ts +446 -0
- package/build/types/sell-apps/analytics-and-report/sellAnalyticsV1Oas3.js +5 -0
- package/build/types/sell-apps/communication/commerceFeedbackV1BetaOas3.d.ts +705 -0
- package/build/types/sell-apps/communication/commerceFeedbackV1BetaOas3.js +5 -0
- package/build/types/sell-apps/communication/commerceMessageV1Oas3.d.ts +590 -0
- package/build/types/sell-apps/communication/commerceMessageV1Oas3.js +5 -0
- package/build/types/sell-apps/communication/commerceNotificationV1Oas3.d.ts +1276 -0
- package/build/types/sell-apps/communication/commerceNotificationV1Oas3.js +5 -0
- package/build/types/sell-apps/communication/sellNegotiationV1Oas3.d.ts +277 -0
- package/build/types/sell-apps/communication/sellNegotiationV1Oas3.js +5 -0
- package/build/types/sell-apps/listing-management/sellInventoryV1Oas3.d.ts +3133 -0
- package/build/types/sell-apps/listing-management/sellInventoryV1Oas3.js +5 -0
- package/build/types/sell-apps/listing-metadata/sellMetadataV1Oas3.d.ts +2289 -0
- package/build/types/sell-apps/listing-metadata/sellMetadataV1Oas3.js +5 -0
- package/build/types/sell-apps/markeitng-and-promotions/sellMarketingV1Oas3.d.ts +6650 -0
- package/build/types/sell-apps/markeitng-and-promotions/sellMarketingV1Oas3.js +5 -0
- package/build/types/sell-apps/markeitng-and-promotions/sellRecommendationV1Oas3.d.ts +172 -0
- package/build/types/sell-apps/markeitng-and-promotions/sellRecommendationV1Oas3.js +5 -0
- package/build/types/sell-apps/order-management/sellFulfillmentV1Oas3.d.ts +1869 -0
- package/build/types/sell-apps/order-management/sellFulfillmentV1Oas3.js +5 -0
- package/build/types/sell-apps/other-apis/commerceIdentityV1Oas3.d.ts +178 -0
- package/build/types/sell-apps/other-apis/commerceIdentityV1Oas3.js +5 -0
- package/build/types/sell-apps/other-apis/commerceTranslationV1BetaOas3.d.ts +128 -0
- package/build/types/sell-apps/other-apis/commerceTranslationV1BetaOas3.js +5 -0
- package/build/types/sell-apps/other-apis/commerceVeroV1Oas3.d.ts +417 -0
- package/build/types/sell-apps/other-apis/commerceVeroV1Oas3.js +5 -0
- package/build/types/sell-apps/other-apis/sellComplianceV1Oas3.d.ts +273 -0
- package/build/types/sell-apps/other-apis/sellComplianceV1Oas3.js +5 -0
- package/build/types/sell-apps/other-apis/sellEdeliveryInternationalShippingOas3.d.ts +2537 -0
- package/build/types/sell-apps/other-apis/sellEdeliveryInternationalShippingOas3.js +5 -0
- package/build/types/sell-apps/other-apis/sellMarketingV1Oas3.d.ts +6650 -0
- package/build/types/sell-apps/other-apis/sellMarketingV1Oas3.js +5 -0
- package/build/types/sell-apps/other-apis/sellRecommendationV1Oas3.d.ts +172 -0
- package/build/types/sell-apps/other-apis/sellRecommendationV1Oas3.js +5 -0
- package/build/utils/account-management/account.d.ts +1094 -0
- package/build/utils/account-management/account.js +831 -0
- package/build/utils/communication/feedback.d.ts +152 -0
- package/build/utils/communication/feedback.js +216 -0
- package/build/utils/communication/message.d.ts +174 -0
- package/build/utils/communication/message.js +242 -0
- package/build/utils/communication/negotiation.d.ts +123 -0
- package/build/utils/communication/negotiation.js +150 -0
- package/build/utils/communication/notification.d.ts +370 -0
- package/build/utils/communication/notification.js +369 -0
- package/build/utils/date-converter.d.ts +59 -0
- package/build/utils/date-converter.js +160 -0
- package/build/utils/llm-client-detector.d.ts +54 -0
- package/build/utils/llm-client-detector.js +318 -0
- package/build/utils/oauth-helper.d.ts +37 -0
- package/build/utils/oauth-helper.js +315 -0
- package/build/utils/order-management/dispute.d.ts +346 -0
- package/build/utils/order-management/dispute.js +369 -0
- package/build/utils/order-management/fulfillment.d.ts +200 -0
- package/build/utils/order-management/fulfillment.js +205 -0
- package/build/utils/other/compliance.d.ts +49 -0
- package/build/utils/other/compliance.js +76 -0
- package/build/utils/other/edelivery.d.ts +310 -0
- package/build/utils/other/edelivery.js +241 -0
- package/build/utils/other/identity.d.ts +13 -0
- package/build/utils/other/identity.js +13 -0
- package/build/utils/other/translation.d.ts +28 -0
- package/build/utils/other/translation.js +41 -0
- package/build/utils/other/vero.d.ts +61 -0
- package/build/utils/other/vero.js +90 -0
- package/build/utils/scope-helper.d.ts +49 -0
- package/build/utils/scope-helper.js +207 -0
- package/build/utils/security-checker.d.ts +46 -0
- package/build/utils/security-checker.js +248 -0
- package/build/utils/setup-validator.d.ts +25 -0
- package/build/utils/setup-validator.js +305 -0
- package/build/utils/token-utils.d.ts +40 -0
- package/build/utils/token-utils.js +40 -0
- package/package.json +115 -0
package/README.md
ADDED
|
@@ -0,0 +1,586 @@
|
|
|
1
|
+
# eBay API MCP Server
|
|
2
|
+
|
|
3
|
+
<div align="center">
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/ebay-mcp)
|
|
6
|
+
[](https://www.npmjs.com/package/ebay-mcp)
|
|
7
|
+
[](tests/)
|
|
8
|
+
[](LICENSE)
|
|
9
|
+
|
|
10
|
+
A [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server providing AI assistants with comprehensive access to eBay's Sell APIs. Includes 230+ tools for inventory management, order fulfillment, marketing campaigns, analytics, and more.
|
|
11
|
+
|
|
12
|
+
**API Coverage:** 99.1% (~110 of 111 eBay Sell API endpoints)
|
|
13
|
+
|
|
14
|
+
</div>
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## ⚠️ Disclaimer
|
|
19
|
+
|
|
20
|
+
**IMPORTANT: Please read this disclaimer carefully before using this software.**
|
|
21
|
+
|
|
22
|
+
This is an **open-source project** provided "as is" without warranty of any kind, either express or implied. By using this software, you acknowledge and agree to the following:
|
|
23
|
+
|
|
24
|
+
- **No Liability:** The authors, contributors, and maintainers of this project accept **NO responsibility or liability** for any damages, losses, or issues that may arise from using this software, including but not limited to:
|
|
25
|
+
- Data loss or corruption
|
|
26
|
+
- Financial losses
|
|
27
|
+
- Service disruptions
|
|
28
|
+
- eBay account suspension or termination
|
|
29
|
+
- Violations of eBay's Terms of Service or API usage policies
|
|
30
|
+
- Any other direct or indirect damages
|
|
31
|
+
|
|
32
|
+
- **eBay API Usage:** This project is an unofficial third-party implementation and is **NOT affiliated with, endorsed by, or sponsored by eBay Inc.** You are solely responsible for:
|
|
33
|
+
- Complying with [eBay's API Terms of Use](https://developer.ebay.com/join/api_license_agreement)
|
|
34
|
+
- Ensuring your usage stays within eBay's rate limits and policies
|
|
35
|
+
- Managing your eBay Developer credentials securely
|
|
36
|
+
- Any actions performed through the API
|
|
37
|
+
|
|
38
|
+
- **Use at Your Own Risk:** This software is provided for educational and development purposes. Users must:
|
|
39
|
+
- Test thoroughly in eBay's sandbox environment before production use
|
|
40
|
+
- Understand the API calls being made on their behalf
|
|
41
|
+
- Maintain backups of critical data
|
|
42
|
+
- Monitor their API usage and account status
|
|
43
|
+
|
|
44
|
+
- **Security:** You are responsible for:
|
|
45
|
+
- Keeping your API credentials secure
|
|
46
|
+
- Properly configuring environment variables
|
|
47
|
+
- Understanding the security implications of MCP server usage
|
|
48
|
+
- Following security best practices
|
|
49
|
+
|
|
50
|
+
- **No Warranty:** This software is provided without any guarantees of functionality, reliability, or fitness for a particular purpose.
|
|
51
|
+
|
|
52
|
+
**By using this software, you accept all risks and agree to hold harmless the authors, contributors, and maintainers from any claims, damages, or liabilities.**
|
|
53
|
+
|
|
54
|
+
For official eBay API support, please refer to the [eBay Developer Program](https://developer.ebay.com/).
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Table of Contents
|
|
59
|
+
|
|
60
|
+
- [⚠️ Disclaimer](#️-disclaimer)
|
|
61
|
+
- [Features](#features)
|
|
62
|
+
- [Quick Start](#quick-start)
|
|
63
|
+
- [Configuration](#configuration)
|
|
64
|
+
- [Available Tools](#available-tools)
|
|
65
|
+
- [Usage Examples](#usage-examples)
|
|
66
|
+
- [Development](#development)
|
|
67
|
+
- [Contributing](#contributing)
|
|
68
|
+
- [Troubleshooting](#troubleshooting)
|
|
69
|
+
- [Resources](#resources)
|
|
70
|
+
- [License](#license)
|
|
71
|
+
|
|
72
|
+
## Features
|
|
73
|
+
|
|
74
|
+
- **230+ eBay API Tools** - Comprehensive coverage of eBay Sell APIs across inventory, orders, marketing, analytics, and more
|
|
75
|
+
- **OAuth 2.0 Support** - Full user token management with automatic refresh
|
|
76
|
+
- **Type Safety** - Built with TypeScript, Zod validation, and OpenAPI-generated types
|
|
77
|
+
- **MCP Integration** - STDIO transport for direct integration with AI assistants
|
|
78
|
+
- **Smart Authentication** - Automatic fallback from user tokens (10k-50k req/day) to client credentials (1k req/day)
|
|
79
|
+
- **Well Tested** - 870+ tests with 99%+ function coverage
|
|
80
|
+
|
|
81
|
+
## Quick Start
|
|
82
|
+
|
|
83
|
+
### 1. Get eBay Credentials
|
|
84
|
+
|
|
85
|
+
1. Create a free [eBay Developer Account](https://developer.ebay.com/)
|
|
86
|
+
2. Generate application keys in the [Developer Portal](https://developer.ebay.com/my/keys)
|
|
87
|
+
3. Save your **Client ID** and **Client Secret**
|
|
88
|
+
|
|
89
|
+
### 2. Install
|
|
90
|
+
|
|
91
|
+
**Option A: Install from npm (Recommended)**
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
npm install -g ebay-mcp
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
**Option B: Install from source**
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
git clone https://github.com/YosefHayim/ebay-mcp.git
|
|
101
|
+
cd ebay-mcp
|
|
102
|
+
npm install
|
|
103
|
+
npm run build
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### 3. Configure
|
|
107
|
+
|
|
108
|
+
Run the interactive setup wizard:
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
npm run setup
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Or manually configure:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
cp .env.example .env
|
|
118
|
+
# Edit .env with your credentials
|
|
119
|
+
npm run auto-setup
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### 4. Configure MCP Client
|
|
123
|
+
|
|
124
|
+
Add this server to your MCP client configuration:
|
|
125
|
+
|
|
126
|
+
**Claude Desktop:**
|
|
127
|
+
|
|
128
|
+
Edit your Claude Desktop config file:
|
|
129
|
+
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
130
|
+
- Windows: `%APPDATA%/Claude/claude_desktop_config.json`
|
|
131
|
+
- Linux: `~/.config/Claude/claude_desktop_config.json`
|
|
132
|
+
|
|
133
|
+
Add the server configuration:
|
|
134
|
+
|
|
135
|
+
```json
|
|
136
|
+
{
|
|
137
|
+
"mcpServers": {
|
|
138
|
+
"ebay": {
|
|
139
|
+
"command": "npx",
|
|
140
|
+
"args": ["-y", "ebay-mcp"],
|
|
141
|
+
"env": {
|
|
142
|
+
"EBAY_CLIENT_ID": "your_client_id",
|
|
143
|
+
"EBAY_CLIENT_SECRET": "your_client_secret",
|
|
144
|
+
"EBAY_ENVIRONMENT": "sandbox",
|
|
145
|
+
"EBAY_REDIRECT_URI": "your_runame"
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
**Alternative: Use locally installed version**
|
|
153
|
+
|
|
154
|
+
If you installed from source:
|
|
155
|
+
|
|
156
|
+
```json
|
|
157
|
+
{
|
|
158
|
+
"mcpServers": {
|
|
159
|
+
"ebay": {
|
|
160
|
+
"command": "node",
|
|
161
|
+
"args": ["/absolute/path/to/ebay-mcp/build/index.js"],
|
|
162
|
+
"env": {
|
|
163
|
+
"EBAY_CLIENT_ID": "your_client_id",
|
|
164
|
+
"EBAY_CLIENT_SECRET": "your_client_secret",
|
|
165
|
+
"EBAY_ENVIRONMENT": "sandbox"
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### 5. Use
|
|
173
|
+
|
|
174
|
+
Restart your MCP client (Claude Desktop, etc.) and start using eBay tools through your AI assistant.
|
|
175
|
+
|
|
176
|
+
## Configuration
|
|
177
|
+
|
|
178
|
+
### Environment Variables
|
|
179
|
+
|
|
180
|
+
Create a `.env` file with your eBay credentials:
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
EBAY_CLIENT_ID=your_client_id
|
|
184
|
+
EBAY_CLIENT_SECRET=your_client_secret
|
|
185
|
+
EBAY_ENVIRONMENT=sandbox # or "production"
|
|
186
|
+
EBAY_REDIRECT_URI=your_runame
|
|
187
|
+
|
|
188
|
+
# Optional: For higher rate limits (10k-50k req/day)
|
|
189
|
+
EBAY_USER_REFRESH_TOKEN=your_refresh_token
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### OAuth Authentication
|
|
193
|
+
|
|
194
|
+
**Client Credentials (Automatic):**
|
|
195
|
+
- Default authentication method
|
|
196
|
+
- 1,000 requests/day
|
|
197
|
+
- No setup required beyond client ID and secret
|
|
198
|
+
|
|
199
|
+
**User Tokens (Recommended for Production):**
|
|
200
|
+
- 10,000-50,000 requests/day
|
|
201
|
+
- Use `ebay_get_oauth_url` tool to generate authorization URL
|
|
202
|
+
- Add `EBAY_USER_REFRESH_TOKEN` to `.env` after OAuth flow
|
|
203
|
+
- Tokens refresh automatically
|
|
204
|
+
|
|
205
|
+
For detailed OAuth setup, see the [OAuth documentation](docs/auth/).
|
|
206
|
+
|
|
207
|
+
### MCP Client Compatibility
|
|
208
|
+
|
|
209
|
+
This server is compatible with any MCP client that supports STDIO transport:
|
|
210
|
+
|
|
211
|
+
**Tested and Supported:**
|
|
212
|
+
- ✅ **Claude Desktop** (macOS, Windows, Linux) - Full support
|
|
213
|
+
- ✅ **MCP Inspector** - For development and testing
|
|
214
|
+
- ✅ **Custom MCP Clients** - Via STDIO or HTTP transport
|
|
215
|
+
|
|
216
|
+
**Configuration Requirements:**
|
|
217
|
+
- MCP Protocol version: 1.0+
|
|
218
|
+
- Transport: STDIO (default) or HTTP
|
|
219
|
+
- Node.js runtime: 18.0.0 or higher
|
|
220
|
+
|
|
221
|
+
**Other MCP Clients:**
|
|
222
|
+
|
|
223
|
+
While not specifically tested, the server should work with any MCP-compliant client including:
|
|
224
|
+
- Continue.dev
|
|
225
|
+
- Other editors with MCP support
|
|
226
|
+
- Custom implementations
|
|
227
|
+
|
|
228
|
+
If you successfully use this server with another MCP client, please let us know by [opening a discussion](https://github.com/YosefHayim/ebay-mcp/discussions)!
|
|
229
|
+
|
|
230
|
+
### Rate Limiting
|
|
231
|
+
|
|
232
|
+
Understanding eBay API rate limits is crucial for production use:
|
|
233
|
+
|
|
234
|
+
**Client Credentials (Default):**
|
|
235
|
+
- **Daily Limit:** 1,000 requests per day
|
|
236
|
+
- **Best For:** Development, testing, low-volume operations
|
|
237
|
+
- **Setup:** Automatic with just Client ID and Secret
|
|
238
|
+
|
|
239
|
+
**User Token (Recommended):**
|
|
240
|
+
- **Daily Limit:** 10,000-50,000 requests per day (varies by account type)
|
|
241
|
+
- **Best For:** Production, high-volume operations
|
|
242
|
+
- **Setup:** Requires OAuth flow (use `ebay_get_oauth_url` tool)
|
|
243
|
+
|
|
244
|
+
**Rate Limit Tiers by Account Type:**
|
|
245
|
+
- Individual Developer: 10,000 requests/day
|
|
246
|
+
- Commercial Developer: 25,000 requests/day
|
|
247
|
+
- Enterprise: 50,000+ requests/day (custom limits)
|
|
248
|
+
|
|
249
|
+
**Rate Limit Best Practices:**
|
|
250
|
+
1. Use user tokens for production workloads
|
|
251
|
+
2. Implement exponential backoff on rate limit errors
|
|
252
|
+
3. Cache responses when possible
|
|
253
|
+
4. Monitor your usage in the eBay Developer Portal
|
|
254
|
+
5. Batch operations when the API supports it
|
|
255
|
+
6. Consider upgrading your developer account tier for higher limits
|
|
256
|
+
|
|
257
|
+
**Handling Rate Limits:**
|
|
258
|
+
|
|
259
|
+
When you hit a rate limit, the API returns a 429 status code. The server will:
|
|
260
|
+
- Automatically retry with exponential backoff
|
|
261
|
+
- Inform you of rate limit errors
|
|
262
|
+
- Suggest upgrading to user token authentication
|
|
263
|
+
|
|
264
|
+
**Check Current Usage:**
|
|
265
|
+
|
|
266
|
+
Monitor your API usage in the [eBay Developer Portal](https://developer.ebay.com/my/api_usage).
|
|
267
|
+
|
|
268
|
+
## Available Tools
|
|
269
|
+
|
|
270
|
+
The server provides 230+ tools organized into the following categories:
|
|
271
|
+
|
|
272
|
+
- **Account Management** - Policies, programs, subscriptions, sales tax
|
|
273
|
+
- **Inventory Management** - Items, offers, locations, bulk operations
|
|
274
|
+
- **Order Fulfillment** - Orders, shipping, refunds, disputes
|
|
275
|
+
- **Marketing & Promotions** - Campaigns, ads, promotions, bidding
|
|
276
|
+
- **Analytics** - Traffic reports, seller standards, metrics
|
|
277
|
+
- **Communication** - Buyer-seller messaging, negotiations
|
|
278
|
+
- **Metadata & Taxonomy** - Categories, item aspects, policies
|
|
279
|
+
- **Token Management** - OAuth URL generation, token management
|
|
280
|
+
|
|
281
|
+
**Example Tools:**
|
|
282
|
+
- `ebay_get_inventory_items` - List all inventory items
|
|
283
|
+
- `ebay_get_orders` - Retrieve seller orders
|
|
284
|
+
- `ebay_create_offer` - Create new listing offer
|
|
285
|
+
- `ebay_get_campaigns` - Get marketing campaigns
|
|
286
|
+
- `ebay_get_oauth_url` - Generate OAuth authorization URL
|
|
287
|
+
|
|
288
|
+
For the complete tool list, see [src/tools/definitions/](src/tools/definitions/).
|
|
289
|
+
|
|
290
|
+
## Usage Examples
|
|
291
|
+
|
|
292
|
+
Here are some common tasks you can accomplish with the eBay MCP server:
|
|
293
|
+
|
|
294
|
+
### Setting Up OAuth for Higher Rate Limits
|
|
295
|
+
|
|
296
|
+
**User:** "Can you help me set up OAuth authentication for my eBay account?"
|
|
297
|
+
|
|
298
|
+
**Assistant:** Uses `ebay_get_oauth_url` tool to generate an authorization URL. You visit the URL, grant permissions, and the assistant helps you configure the refresh token in your `.env` file.
|
|
299
|
+
|
|
300
|
+
**Result:** Access to 10,000-50,000 API requests per day instead of 1,000.
|
|
301
|
+
|
|
302
|
+
### Managing Inventory
|
|
303
|
+
|
|
304
|
+
**User:** "Show me all my active listings on eBay"
|
|
305
|
+
|
|
306
|
+
**Assistant:** Uses `ebay_get_inventory_items` to retrieve all inventory items.
|
|
307
|
+
|
|
308
|
+
**Result:** Displays a formatted list of all your products with SKUs, quantities, and status.
|
|
309
|
+
|
|
310
|
+
### Processing Orders
|
|
311
|
+
|
|
312
|
+
**User:** "Get all unfulfilled orders from the last 7 days"
|
|
313
|
+
|
|
314
|
+
**Assistant:** Uses `ebay_get_orders` with date filters and fulfillment status parameters.
|
|
315
|
+
|
|
316
|
+
**Result:** Returns a list of pending orders ready for shipment processing.
|
|
317
|
+
|
|
318
|
+
### Creating Marketing Campaigns
|
|
319
|
+
|
|
320
|
+
**User:** "Create a promoted listing campaign for my electronics category"
|
|
321
|
+
|
|
322
|
+
**Assistant:** Uses `ebay_create_campaign` and related marketing tools to set up ad campaigns.
|
|
323
|
+
|
|
324
|
+
**Result:** New campaign created with specified budget and target items.
|
|
325
|
+
|
|
326
|
+
### Bulk Operations
|
|
327
|
+
|
|
328
|
+
**User:** "Update prices for all items in category 'Vintage Watches' with a 10% discount"
|
|
329
|
+
|
|
330
|
+
**Assistant:** Combines `ebay_get_inventory_items`, filters by category, and uses `ebay_update_offer` to apply bulk pricing changes.
|
|
331
|
+
|
|
332
|
+
**Result:** All matching items updated with new pricing.
|
|
333
|
+
|
|
334
|
+
## Development
|
|
335
|
+
|
|
336
|
+
### Prerequisites
|
|
337
|
+
|
|
338
|
+
- Node.js >= 18.0.0
|
|
339
|
+
- npm or pnpm
|
|
340
|
+
- eBay Developer Account
|
|
341
|
+
|
|
342
|
+
### Setup
|
|
343
|
+
|
|
344
|
+
```bash
|
|
345
|
+
# Fork and clone the repository
|
|
346
|
+
git clone https://github.com/YOUR_USERNAME/ebay-mcp.git
|
|
347
|
+
cd ebay-mcp
|
|
348
|
+
|
|
349
|
+
# Install dependencies
|
|
350
|
+
npm install
|
|
351
|
+
|
|
352
|
+
# Set up environment
|
|
353
|
+
cp .env.example .env
|
|
354
|
+
# Edit .env with your credentials
|
|
355
|
+
|
|
356
|
+
# Build and test
|
|
357
|
+
npm run build
|
|
358
|
+
npm test
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
### Development Commands
|
|
362
|
+
|
|
363
|
+
```bash
|
|
364
|
+
npm run dev # Run STDIO server
|
|
365
|
+
npm run dev:http # Run HTTP server
|
|
366
|
+
npm run test # Run tests
|
|
367
|
+
npm run test:watch # Run tests in watch mode
|
|
368
|
+
npm run typecheck # Type-check code
|
|
369
|
+
npm run lint # Lint code
|
|
370
|
+
npm run format # Format code
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
### Docker Support
|
|
374
|
+
|
|
375
|
+
Run the server in a containerized environment:
|
|
376
|
+
|
|
377
|
+
```bash
|
|
378
|
+
# Build the Docker image
|
|
379
|
+
npm run docker:build
|
|
380
|
+
|
|
381
|
+
# Start the container
|
|
382
|
+
npm run docker:up
|
|
383
|
+
|
|
384
|
+
# View logs
|
|
385
|
+
npm run docker:logs
|
|
386
|
+
|
|
387
|
+
# Stop the container
|
|
388
|
+
npm run docker:down
|
|
389
|
+
|
|
390
|
+
# Restart the container
|
|
391
|
+
npm run docker:restart
|
|
392
|
+
```
|
|
393
|
+
|
|
394
|
+
**Docker Compose Configuration:**
|
|
395
|
+
|
|
396
|
+
The server can be run with Docker Compose for easy deployment:
|
|
397
|
+
|
|
398
|
+
```bash
|
|
399
|
+
docker-compose up -d
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
Environment variables should be configured in `.env` file before running Docker commands. The container will automatically use your `.env` configuration.
|
|
403
|
+
|
|
404
|
+
**Use Cases for Docker:**
|
|
405
|
+
- Production deployments
|
|
406
|
+
- Consistent development environments
|
|
407
|
+
- CI/CD pipelines
|
|
408
|
+
- Isolated testing environments
|
|
409
|
+
|
|
410
|
+
### HTTP Server Mode
|
|
411
|
+
|
|
412
|
+
In addition to the default STDIO transport for MCP clients, the server can run in HTTP mode for testing and debugging:
|
|
413
|
+
|
|
414
|
+
```bash
|
|
415
|
+
# Development
|
|
416
|
+
npm run dev:http
|
|
417
|
+
|
|
418
|
+
# Production
|
|
419
|
+
npm run start:http
|
|
420
|
+
```
|
|
421
|
+
|
|
422
|
+
**HTTP Mode Features:**
|
|
423
|
+
- RESTful API endpoints for all tools
|
|
424
|
+
- Interactive API documentation
|
|
425
|
+
- Useful for testing tools without an MCP client
|
|
426
|
+
- CORS support for web applications
|
|
427
|
+
- Helmet security headers
|
|
428
|
+
|
|
429
|
+
**When to Use HTTP Mode:**
|
|
430
|
+
- Testing individual tools during development
|
|
431
|
+
- Building custom integrations
|
|
432
|
+
- Debugging API responses
|
|
433
|
+
- Creating web-based interfaces
|
|
434
|
+
|
|
435
|
+
**Note:** STDIO mode (default) is recommended for MCP client integration (Claude Desktop, etc.). HTTP mode is primarily for development and custom integrations.
|
|
436
|
+
|
|
437
|
+
### Project Structure
|
|
438
|
+
|
|
439
|
+
```
|
|
440
|
+
ebay-mcp/
|
|
441
|
+
├── src/
|
|
442
|
+
│ ├── index.ts # MCP server entry point
|
|
443
|
+
│ ├── api/ # eBay API implementations
|
|
444
|
+
│ ├── auth/ # OAuth & token management
|
|
445
|
+
│ ├── tools/ # MCP tool definitions
|
|
446
|
+
│ ├── types/ # TypeScript types
|
|
447
|
+
│ └── utils/ # Validation schemas
|
|
448
|
+
├── tests/ # Test suite
|
|
449
|
+
├── docs/ # Documentation
|
|
450
|
+
└── build/ # Compiled output
|
|
451
|
+
```
|
|
452
|
+
|
|
453
|
+
For detailed contribution guidelines, see [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
454
|
+
|
|
455
|
+
## Contributing
|
|
456
|
+
|
|
457
|
+
Contributions are welcome! Here's how to get started:
|
|
458
|
+
|
|
459
|
+
1. Fork the repository
|
|
460
|
+
2. Create a feature branch: `git checkout -b feature/my-feature`
|
|
461
|
+
3. Make your changes and add tests
|
|
462
|
+
4. Run quality checks: `npm run check && npm test`
|
|
463
|
+
5. Commit using [Conventional Commits](https://www.conventionalcommits.org/)
|
|
464
|
+
6. Push to your fork and open a Pull Request
|
|
465
|
+
|
|
466
|
+
**Before submitting:**
|
|
467
|
+
- Ensure all tests pass
|
|
468
|
+
- Follow TypeScript best practices
|
|
469
|
+
- Update documentation as needed
|
|
470
|
+
- Maintain test coverage
|
|
471
|
+
|
|
472
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines.
|
|
473
|
+
|
|
474
|
+
## Troubleshooting
|
|
475
|
+
|
|
476
|
+
### Common Issues
|
|
477
|
+
|
|
478
|
+
#### Server Not Appearing in Claude Desktop
|
|
479
|
+
|
|
480
|
+
**Problem:** The eBay MCP server doesn't show up in your MCP client.
|
|
481
|
+
|
|
482
|
+
**Solutions:**
|
|
483
|
+
1. Verify the config file path is correct for your OS
|
|
484
|
+
2. Check JSON syntax is valid (use a JSON validator)
|
|
485
|
+
3. Ensure environment variables are properly set
|
|
486
|
+
4. Restart Claude Desktop completely
|
|
487
|
+
5. Check Claude Desktop logs for error messages
|
|
488
|
+
|
|
489
|
+
#### Authentication Errors
|
|
490
|
+
|
|
491
|
+
**Problem:** "Invalid credentials" or "Authentication failed" errors.
|
|
492
|
+
|
|
493
|
+
**Solutions:**
|
|
494
|
+
1. Verify your `EBAY_CLIENT_ID` and `EBAY_CLIENT_SECRET` are correct
|
|
495
|
+
2. Ensure you're using the right environment (sandbox vs production)
|
|
496
|
+
3. Check if your app keys are active in the eBay Developer Portal
|
|
497
|
+
4. For user tokens, verify your `EBAY_USER_REFRESH_TOKEN` is valid
|
|
498
|
+
5. Run `npm run diagnose` to check your configuration
|
|
499
|
+
|
|
500
|
+
#### Rate Limit Errors
|
|
501
|
+
|
|
502
|
+
**Problem:** "Rate limit exceeded" errors.
|
|
503
|
+
|
|
504
|
+
**Solutions:**
|
|
505
|
+
1. Upgrade to user token authentication (10k-50k requests/day)
|
|
506
|
+
2. Implement request throttling in your usage
|
|
507
|
+
3. Check your current rate limit in the Developer Portal
|
|
508
|
+
4. Consider upgrading your eBay Developer account tier
|
|
509
|
+
|
|
510
|
+
#### Tools Not Working Correctly
|
|
511
|
+
|
|
512
|
+
**Problem:** Tools return unexpected errors or empty results.
|
|
513
|
+
|
|
514
|
+
**Solutions:**
|
|
515
|
+
1. Verify you're using the correct environment (sandbox vs production)
|
|
516
|
+
2. Ensure you have proper permissions/scopes for the operation
|
|
517
|
+
3. Check eBay API status: https://developer.ebay.com/support/api-status
|
|
518
|
+
4. Run `npm run diagnose:export` to generate a diagnostic report
|
|
519
|
+
5. Review the [eBay API documentation](https://developer.ebay.com/docs) for endpoint requirements
|
|
520
|
+
|
|
521
|
+
### Diagnostic Tools
|
|
522
|
+
|
|
523
|
+
Run diagnostics to troubleshoot configuration issues:
|
|
524
|
+
|
|
525
|
+
```bash
|
|
526
|
+
# Interactive diagnostics
|
|
527
|
+
npm run diagnose
|
|
528
|
+
|
|
529
|
+
# Export diagnostic report
|
|
530
|
+
npm run diagnose:export
|
|
531
|
+
```
|
|
532
|
+
|
|
533
|
+
The diagnostic tool checks:
|
|
534
|
+
- Environment variable configuration
|
|
535
|
+
- eBay API connectivity
|
|
536
|
+
- Authentication status
|
|
537
|
+
- Token validity
|
|
538
|
+
- Available scopes and permissions
|
|
539
|
+
|
|
540
|
+
### Getting Help
|
|
541
|
+
|
|
542
|
+
If you're still experiencing issues:
|
|
543
|
+
|
|
544
|
+
1. Check existing [GitHub Issues](https://github.com/YosefHayim/ebay-mcp/issues)
|
|
545
|
+
2. Review [GitHub Discussions](https://github.com/YosefHayim/ebay-mcp/discussions)
|
|
546
|
+
3. Create a new issue with:
|
|
547
|
+
- Your diagnostic report (`npm run diagnose:export`)
|
|
548
|
+
- Steps to reproduce the problem
|
|
549
|
+
- Error messages or logs
|
|
550
|
+
- Your environment (OS, Node version, MCP client)
|
|
551
|
+
|
|
552
|
+
## Resources
|
|
553
|
+
|
|
554
|
+
### Documentation
|
|
555
|
+
|
|
556
|
+
- [eBay Developer Portal](https://developer.ebay.com/) - API documentation and credentials
|
|
557
|
+
- [MCP Documentation](https://modelcontextprotocol.io/) - Model Context Protocol specification
|
|
558
|
+
- [OAuth Setup Guide](docs/auth/) - Detailed authentication configuration
|
|
559
|
+
- [Contributing Guidelines](CONTRIBUTING.md) - How to contribute to this project
|
|
560
|
+
- [Code of Conduct](CODE_OF_CONDUCT.md) - Community guidelines and expectations
|
|
561
|
+
- [Changelog](CHANGELOG.md) - Version history and release notes
|
|
562
|
+
- [Security Policy](SECURITY.md) - Vulnerability reporting guidelines
|
|
563
|
+
|
|
564
|
+
### Support
|
|
565
|
+
|
|
566
|
+
- [GitHub Discussions](https://github.com/YosefHayim/ebay-mcp/discussions) - Community Q&A and general discussions
|
|
567
|
+
- [Issue Tracker](https://github.com/YosefHayim/ebay-mcp/issues) - Bug reports and feature requests
|
|
568
|
+
- [Bug Report Template](BUG_REPORT.md) - Detailed bug reporting guide
|
|
569
|
+
|
|
570
|
+
## License
|
|
571
|
+
|
|
572
|
+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
573
|
+
|
|
574
|
+
## Acknowledgments
|
|
575
|
+
|
|
576
|
+
- [eBay Developers Program](https://developer.ebay.com/) for API access
|
|
577
|
+
- [Model Context Protocol](https://modelcontextprotocol.io/) for the MCP specification
|
|
578
|
+
- All [contributors](https://github.com/YosefHayim/ebay-mcp/graphs/contributors) who have helped improve this project
|
|
579
|
+
|
|
580
|
+
---
|
|
581
|
+
|
|
582
|
+
<div align="center">
|
|
583
|
+
|
|
584
|
+
**[Support this project](https://www.buymeacoffee.com/yosefhayim)** | Created by [Yosef Hayim Sabag](https://github.com/YosefHayim)
|
|
585
|
+
|
|
586
|
+
</div>
|