ebay-mcp 1.18.3 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -16
- package/build/api/account-management/account.js +2 -2
- package/build/api/account-management/accountV2.js +0 -6
- package/build/api/account-management/finances.js +7 -5
- package/build/api/client/ebayApiClient.js +111 -10
- package/build/api/client/signEbayRequest.js +124 -0
- package/build/api/communication/feedback.js +4 -4
- package/build/api/developer/developer.js +43 -7
- package/build/api/ebaySellerApi.js +0 -4
- package/build/api/marketing-and-promotions/campaigns.js +0 -34
- package/build/api/order-management/dispute.js +29 -20
- package/build/api/order-management/fulfillment.js +2 -1
- package/build/api/other/edelivery.js +3 -3
- package/build/api/other/translation.js +1 -1
- package/build/config/environment.js +31 -3
- package/build/schemas/account-management/account.js +1 -1
- package/build/schemas/account-management/accountV2.js +3 -4
- package/build/schemas/communication/messages.js +2 -2
- package/build/schemas/marketing/campaigns.js +0 -21
- package/build/schemas/other/otherApis.js +2 -85
- package/build/scripts/devSync.js +75 -225
- package/build/scripts/specCoverage.js +78 -0
- package/build/scripts/specDownload.js +42 -0
- package/build/scripts/specRefs.js +2 -3
- package/build/scripts/specSources.js +4 -6
- package/build/scripts/specTypeNames.js +23 -0
- package/build/skills/content.js +2 -2
- package/build/tools/categories/account.js +3 -3
- package/build/tools/categories/communication.js +5 -5
- package/build/tools/categories/developer.js +1 -1
- package/build/tools/categories/finances.js +2 -2
- package/build/tools/categories/marketing.js +0 -16
- package/build/tools/categories/other.js +3 -17
- package/build/types/ebay.js +0 -1
- package/build/types/ebayEnums.js +0 -40
- package/build/ui/card.html +23 -23
- package/build/ui/chart.html +22 -22
- package/build/ui/stat.html +23 -23
- package/build/ui/table.html +21 -21
- package/build/utils/communication/feedback.js +3 -3
- package/build/utils/errors.js +1 -0
- package/package.json +5 -5
- package/build/api/other/compliance.js +0 -60
- package/build/utils/other/compliance.js +0 -56
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Effect } from 'effect';
|
|
2
2
|
import { zodToJsonSchema } from 'zod-to-json-schema';
|
|
3
|
-
import { bulkCreateOrReplaceSalesTaxInputSchema, createCustomPolicyInputSchema, createCustomPolicyOutputSchema, createFulfillmentPolicyInputSchema, createFulfillmentPolicyOutputSchema, createOrReplaceSalesTaxInputSchema, createPaymentPolicyInputSchema, createPaymentPolicyOutputSchema, createReturnPolicyInputSchema, createReturnPolicyOutputSchema, customPolicyResponseSchema, deleteFulfillmentPolicyInputSchema, deletePaymentPolicyInputSchema, deleteReturnPolicyInputSchema, deleteSalesTaxInputSchema, fulfillmentPolicyResponseSchema, getAdvertisingEligibilityInputSchema, getCustomPoliciesInputSchema, getCustomPolicyInputSchema, getFulfillmentPoliciesInputSchema, getFulfillmentPoliciesOutputSchema, getFulfillmentPolicyByNameInputSchema, getFulfillmentPolicyInputSchema, getPaymentPoliciesInputSchema, getPaymentPoliciesOutputSchema, getPaymentPolicyByNameInputSchema, getPaymentPolicyInputSchema,
|
|
3
|
+
import { bulkCreateOrReplaceSalesTaxInputSchema, createCustomPolicyInputSchema, createCustomPolicyOutputSchema, createFulfillmentPolicyInputSchema, createFulfillmentPolicyOutputSchema, createOrReplaceSalesTaxInputSchema, createPaymentPolicyInputSchema, createPaymentPolicyOutputSchema, createReturnPolicyInputSchema, createReturnPolicyOutputSchema, customPolicyResponseSchema, deleteFulfillmentPolicyInputSchema, deletePaymentPolicyInputSchema, deleteReturnPolicyInputSchema, deleteSalesTaxInputSchema, fulfillmentPolicyResponseSchema, getAdvertisingEligibilityInputSchema, getCustomPoliciesInputSchema, getCustomPolicyInputSchema, getFulfillmentPoliciesInputSchema, getFulfillmentPoliciesOutputSchema, getFulfillmentPolicyByNameInputSchema, getFulfillmentPolicyInputSchema, getPaymentPoliciesInputSchema, getPaymentPoliciesOutputSchema, getPaymentPolicyByNameInputSchema, getPaymentPolicyInputSchema, getKYCInputSchema, getOptedInProgramsInputSchema, getPaymentsProgramInputSchema, getPaymentsProgramOnboardingInputSchema, getPrivilegesInputSchema, getRateTablesInputSchema, getReturnPoliciesInputSchema, getReturnPoliciesOutputSchema, getReturnPolicyByNameInputSchema, getReturnPolicyInputSchema, getSalesTaxesInputSchema, getSalesTaxesOutputSchema, getSalesTaxInputSchema, getSubscriptionInputSchema, kycOutputSchema, optInToProgramInputSchema, optOutOfProgramInputSchema, paymentPolicyResponseSchema, privilegesOutputSchema, programsOutputSchema, returnPolicyResponseSchema, salesTaxSchema, updateCustomPolicyInputSchema, updateFulfillmentPolicyInputSchema, updatePaymentPolicyInputSchema, updateReturnPolicyInputSchema, } from '../../schemas/account-management/account.js';
|
|
4
4
|
import { defineTool } from '../../tools/defineTool.js';
|
|
5
5
|
const emptyResponseSchema = {
|
|
6
6
|
type: 'object',
|
|
@@ -251,13 +251,13 @@ export const accountEntries = [
|
|
|
251
251
|
defineTool({
|
|
252
252
|
name: 'ebay_get_kyc',
|
|
253
253
|
description: 'Get seller KYC (Know Your Customer) status',
|
|
254
|
-
inputSchema:
|
|
254
|
+
inputSchema: getKYCInputSchema.shape,
|
|
255
255
|
outputSchema: zodToJsonSchema(kycOutputSchema, {
|
|
256
256
|
name: 'KYCResponse',
|
|
257
257
|
$refStrategy: 'none',
|
|
258
258
|
}),
|
|
259
259
|
annotations: { readOnlyHint: true },
|
|
260
|
-
handler: (api, args) => Effect.runPromise(api.account.
|
|
260
|
+
handler: (api, args) => Effect.runPromise(api.account.getKYC(args)),
|
|
261
261
|
}),
|
|
262
262
|
defineTool({
|
|
263
263
|
name: 'ebay_get_payments_program',
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineTool } from '../../tools/defineTool.js';
|
|
2
2
|
import { Effect } from 'effect';
|
|
3
|
-
import {
|
|
3
|
+
import { getItemsAwaitingFeedbackSchema, getFeedbackRatingSummarySchema, getFeedbackSchema, leaveFeedbackSchema, respondToFeedbackSchema, } from '../../utils/communication/feedback.js';
|
|
4
4
|
import { bulkUpdateConversationSchema, getConversationSchema, getConversationsSchema, sendMessageSchema, updateConversationSchema, } from '../../utils/communication/message.js';
|
|
5
5
|
import { findEligibleItemsSchema, sendOfferToInterestedBuyersSchema, } from '../../utils/communication/negotiation.js';
|
|
6
6
|
import { createDestinationSchema, createSubscriptionFilterSchema, createSubscriptionSchema, deleteDestinationSchema, deleteSubscriptionFilterSchema, deleteSubscriptionSchema, disableSubscriptionSchema, enableSubscriptionSchema, getConfigSchema, getDestinationSchema, getDestinationsSchema, getPublicKeySchema, getSubscriptionFilterSchema, getSubscriptionSchema, getSubscriptionsSchema, getTopicSchema, getTopicsSchema, testSubscriptionSchema, updateConfigSchema, updateDestinationSchema, updateSubscriptionSchema, } from '../../utils/communication/notification.js';
|
|
@@ -198,14 +198,14 @@ export const communicationEntries = [
|
|
|
198
198
|
defineTool({
|
|
199
199
|
name: 'ebay_leave_feedback_for_buyer',
|
|
200
200
|
description: 'Leave feedback for a buyer. Provide orderLineItemId, commentType (POSITIVE/NEUTRAL/NEGATIVE), and commentText.',
|
|
201
|
-
inputSchema:
|
|
202
|
-
handler: (api, args) => Effect.runPromise(api.feedback.
|
|
201
|
+
inputSchema: leaveFeedbackSchema.shape,
|
|
202
|
+
handler: (api, args) => Effect.runPromise(api.feedback.leaveFeedback(args)),
|
|
203
203
|
}),
|
|
204
204
|
defineTool({
|
|
205
205
|
name: 'ebay_get_awaiting_feedback',
|
|
206
206
|
description: 'Get transactions awaiting feedback from the seller',
|
|
207
|
-
inputSchema:
|
|
208
|
-
handler: (api, args) => Effect.runPromise(api.feedback.
|
|
207
|
+
inputSchema: getItemsAwaitingFeedbackSchema.shape,
|
|
208
|
+
handler: (api, args) => Effect.runPromise(api.feedback.getItemsAwaitingFeedback(args)),
|
|
209
209
|
}),
|
|
210
210
|
defineTool({
|
|
211
211
|
name: 'ebay_respond_to_feedback',
|
|
@@ -78,7 +78,7 @@ export const developerEntries = [
|
|
|
78
78
|
}),
|
|
79
79
|
defineTool({
|
|
80
80
|
name: 'ebay_create_signing_key',
|
|
81
|
-
description: 'Create a new signing keypair for API digital signatures. Supports ED25519 (recommended) or RSA ciphers. IMPORTANT: Save the private key immediately as eBay does not store it.',
|
|
81
|
+
description: 'Create a new signing keypair for API digital signatures. Supports ED25519 (recommended) or RSA ciphers. IMPORTANT: Save the private key immediately as eBay does not store it. To sign the calls eBay requires signatures on for EU/UK sellers (Finances API, issueRefund), set EBAY_SIGNING_KEY_JWE to the returned jwe and EBAY_SIGNING_PRIVATE_KEY to the returned privateKey, then restart the server.',
|
|
82
82
|
inputSchema: createSigningKeyInputSchema.shape,
|
|
83
83
|
outputSchema: zodToJsonSchema(signingKeySchema, {
|
|
84
84
|
name: 'CreateSigningKeyOutput',
|
|
@@ -2,8 +2,8 @@ import { FINANCES_EARNINGS_SCOPE } from '../../config/environment.js';
|
|
|
2
2
|
import { getBillingActivitiesInputSchema, getOrderEarningsByIdInputSchema, getOrderEarningsInputSchema, getOrderEarningsSummaryInputSchema, getPayoutInputSchema, getPayoutSummaryInputSchema, getPayoutsInputSchema, getSellerFundsSummaryInputSchema, getTransactionSummaryInputSchema, getTransactionsInputSchema, getTransferInputSchema, } from '../../schemas/account-management/finances.js';
|
|
3
3
|
import { defineTool } from '../../tools/defineTool.js';
|
|
4
4
|
import { Effect } from 'effect';
|
|
5
|
-
const FINANCES_SCOPE_NOTE = 'Requires the sell.finances scope. eBay requires Digital Signatures on Finances API calls for EU/UK sellers
|
|
6
|
-
const EARNINGS_SCOPE_NOTE = `Requires the optional ${FINANCES_EARNINGS_SCOPE} scope, which is not requested by default: add it to EBAY_OAUTH_SCOPES and re-run OAuth consent. eBay grants it only to approved US, CN, or HK sellers with USD payouts. eBay requires Digital Signatures on Finances API calls for EU/UK sellers
|
|
5
|
+
const FINANCES_SCOPE_NOTE = 'Requires the sell.finances scope. eBay requires Digital Signatures on Finances API calls for EU/UK sellers; set EBAY_SIGNING_KEY_JWE and EBAY_SIGNING_PRIVATE_KEY to sign them.';
|
|
6
|
+
const EARNINGS_SCOPE_NOTE = `Requires the optional ${FINANCES_EARNINGS_SCOPE} scope, which is not requested by default: add it to EBAY_OAUTH_SCOPES and re-run OAuth consent. eBay grants it only to approved US, CN, or HK sellers with USD payouts. eBay requires Digital Signatures on Finances API calls for EU/UK sellers; set EBAY_SIGNING_KEY_JWE and EBAY_SIGNING_PRIVATE_KEY to sign them.`;
|
|
7
7
|
/** Finances API tools for payouts, transactions, transfers, seller funds, billing activity, and order earnings. */
|
|
8
8
|
export const financesEntries = [
|
|
9
9
|
defineTool({
|
|
@@ -250,14 +250,6 @@ export const marketingEntries = [
|
|
|
250
250
|
annotations: { readOnlyHint: true },
|
|
251
251
|
handler: (api, args) => Effect.runPromise(api.marketing.getCampaignByName(args)),
|
|
252
252
|
}),
|
|
253
|
-
defineTool({
|
|
254
|
-
name: 'ebay_launch_campaign',
|
|
255
|
-
description: 'Launch campaign through the eBay Marketing API.',
|
|
256
|
-
inputSchema: marketingSchemas.launchCampaignInputSchema.shape,
|
|
257
|
-
outputSchema: emptyResponseSchema,
|
|
258
|
-
annotations: { readOnlyHint: false },
|
|
259
|
-
handler: (api, args) => Effect.runPromise(api.marketing.launchCampaign(args)),
|
|
260
|
-
}),
|
|
261
253
|
defineTool({
|
|
262
254
|
name: 'ebay_pause_campaign',
|
|
263
255
|
description: 'Pause campaign through the eBay Marketing API.',
|
|
@@ -274,14 +266,6 @@ export const marketingEntries = [
|
|
|
274
266
|
annotations: { readOnlyHint: false },
|
|
275
267
|
handler: (api, args) => Effect.runPromise(api.marketing.resumeCampaign(args)),
|
|
276
268
|
}),
|
|
277
|
-
defineTool({
|
|
278
|
-
name: 'ebay_setup_quick_campaign',
|
|
279
|
-
description: 'Setup quick campaign through the eBay Marketing API.',
|
|
280
|
-
inputSchema: marketingSchemas.setupQuickCampaignInputSchema.shape,
|
|
281
|
-
outputSchema: emptyResponseSchema,
|
|
282
|
-
annotations: { readOnlyHint: false },
|
|
283
|
-
handler: (api, args) => Effect.runPromise(api.marketing.setupQuickCampaign(args)),
|
|
284
|
-
}),
|
|
285
269
|
defineTool({
|
|
286
270
|
name: 'ebay_suggest_budget',
|
|
287
271
|
description: 'Suggest budget through the eBay Marketing API.',
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Effect } from 'effect';
|
|
2
|
-
import { bundleIdInputSchema, createVeroReportInputSchema, edeliveryBodyInputSchema, edeliveryPaginationInputSchema, getActualCostsInputSchema, getAddressPreferencesInputSchema, getConsignPreferencesInputSchema, getHandoverSheetInputSchema, getLabelsInputSchema,
|
|
2
|
+
import { bundleIdInputSchema, createVeroReportInputSchema, edeliveryBodyInputSchema, edeliveryPaginationInputSchema, getActualCostsInputSchema, getAddressPreferencesInputSchema, getConsignPreferencesInputSchema, getHandoverSheetInputSchema, getLabelsInputSchema, getPackagesByLineItemIDInputSchema, getTrackingInputSchema, getUserInputSchema, getVeroReasonCodeInputSchema, getVeroReasonCodesInputSchema, getVeroReportInputSchema, getVeroReportItemsInputSchema, packageIdInputSchema, translateInputSchema, } from '../../schemas/other/otherApis.js';
|
|
3
3
|
import { defineTool } from '../../tools/defineTool.js';
|
|
4
4
|
/** Miscellaneous eBay API tools that do not fit the primary seller API categories. */
|
|
5
5
|
export const otherEntries = [
|
|
@@ -10,20 +10,6 @@ export const otherEntries = [
|
|
|
10
10
|
inputSchema: getUserInputSchema.shape,
|
|
11
11
|
handler: (api, args) => Effect.runPromise(api.identity.getUser(args)),
|
|
12
12
|
}),
|
|
13
|
-
// Compliance API — decommissioned by eBay on 2026-03-30 (no API replacement).
|
|
14
|
-
// Tools stay registered so callers get a clear failure instead of a bare 404.
|
|
15
|
-
defineTool({
|
|
16
|
-
name: 'ebay_get_listing_violations',
|
|
17
|
-
description: 'DECOMMISSIONED: eBay shut down the Sell Compliance API on 2026-03-30. This tool always fails with a clear message. Use Seller Hub → Performance → Issue Resolution Center instead (no API equivalent).',
|
|
18
|
-
inputSchema: getListingViolationsInputSchema.shape,
|
|
19
|
-
handler: (api, args) => Effect.runPromise(api.compliance.getListingViolations(args)),
|
|
20
|
-
}),
|
|
21
|
-
defineTool({
|
|
22
|
-
name: 'ebay_get_listing_violations_summary',
|
|
23
|
-
description: 'DECOMMISSIONED: eBay shut down the Sell Compliance API on 2026-03-30. This tool always fails with a clear message. Use Seller Hub → Performance → Issue Resolution Center instead (no API equivalent).',
|
|
24
|
-
inputSchema: getListingViolationsSummaryInputSchema.shape,
|
|
25
|
-
handler: (api, args) => Effect.runPromise(api.compliance.getListingViolationsSummary(args)),
|
|
26
|
-
}),
|
|
27
13
|
// VERO API
|
|
28
14
|
defineTool({
|
|
29
15
|
name: 'ebay_create_vero_report',
|
|
@@ -165,8 +151,8 @@ export const otherEntries = [
|
|
|
165
151
|
defineTool({
|
|
166
152
|
name: 'ebay_get_packages_by_line_item_id',
|
|
167
153
|
description: 'Get package details by order line item ID',
|
|
168
|
-
inputSchema:
|
|
169
|
-
handler: (api, args) => Effect.runPromise(api.edelivery.
|
|
154
|
+
inputSchema: getPackagesByLineItemIDInputSchema.shape,
|
|
155
|
+
handler: (api, args) => Effect.runPromise(api.edelivery.getPackagesByLineItemID(args)),
|
|
170
156
|
}),
|
|
171
157
|
defineTool({
|
|
172
158
|
name: 'ebay_cancel_package',
|
package/build/types/ebay.js
CHANGED
|
@@ -41,7 +41,6 @@ export var EbayApi;
|
|
|
41
41
|
// Other APIs
|
|
42
42
|
EbayApi["IDENTITY"] = "commerce/identity/v1";
|
|
43
43
|
EbayApi["VERO"] = "commerce/vero/v1";
|
|
44
|
-
EbayApi["COMPLIANCE"] = "sell/compliance/v1";
|
|
45
44
|
EbayApi["TRANSLATION"] = "commerce/translation/v1";
|
|
46
45
|
EbayApi["EDELIVERY"] = "sell/logistics/v1";
|
|
47
46
|
})(EbayApi || (EbayApi = {}));
|
package/build/types/ebayEnums.js
CHANGED
|
@@ -471,40 +471,6 @@ export var ListingStatus;
|
|
|
471
471
|
/** This enumeration value indicates that the eBay listing associated with the offer has ended. */
|
|
472
472
|
// ENDED = 'ENDED', // Duplicate, already defined above
|
|
473
473
|
})(ListingStatus || (ListingStatus = {}));
|
|
474
|
-
/**
|
|
475
|
-
* Compliance Types
|
|
476
|
-
*
|
|
477
|
-
* Types of compliance issues.
|
|
478
|
-
*
|
|
479
|
-
* Reference: https://developer.ebay.com/api-docs/sell/compliance/types/com:ComplianceTypeEnum
|
|
480
|
-
*/
|
|
481
|
-
export var ComplianceType;
|
|
482
|
-
(function (ComplianceType) {
|
|
483
|
-
/** @deprecated Note: The ASPECTS_ADOPTION compliance type has been deprecated and will be decommissioned on September 9th, 2025.
|
|
484
|
-
* Use this compliance type to see if a seller's listings have missing or invalid item aspects (item specifics).
|
|
485
|
-
* For each category, eBay maintains a list of required and recommended item aspects. */
|
|
486
|
-
ComplianceType["ASPECTS_ADOPTION"] = "ASPECTS_ADOPTION";
|
|
487
|
-
/** Use this compliance type to see if any of the seller's listings are violating eBay's policy of using an 'HTTP' link
|
|
488
|
-
* (to eBay and non-eBay sites) in the listing instead of 'HTTPS' links. This requirement includes links to externally-hosted
|
|
489
|
-
* listing images. If the server hosting the listing images does not support the HTTPS protocol, this server cannot be used
|
|
490
|
-
* to host listing images. */
|
|
491
|
-
ComplianceType["HTTPS"] = "HTTPS";
|
|
492
|
-
/** Use this compliance type to see if any listings are violating eBay's policy of not allowing links in the listing to sites
|
|
493
|
-
* outside of eBay. The seller including a personal email address and/or a phone number in the listing is also a violation of this policy.
|
|
494
|
-
* All communication between seller and buyers should be handled through eBay's communication system. The only exceptions to this
|
|
495
|
-
* outside links rule are links to product videos, information on freight shipping services, or any legally required information. */
|
|
496
|
-
ComplianceType["OUTSIDE_EBAY_BUYING_AND_SELLING"] = "OUTSIDE_EBAY_BUYING_AND_SELLING";
|
|
497
|
-
/** Product safety compliance */
|
|
498
|
-
ComplianceType["PRODUCT_SAFETY"] = "PRODUCT_SAFETY";
|
|
499
|
-
/** Product Adoption is not enforced at this time, so this compliance type is not currently applicable. */
|
|
500
|
-
ComplianceType["PRODUCT_ADOPTION"] = "PRODUCT_ADOPTION";
|
|
501
|
-
/** Product Adoption is not enforced at this time, so this compliance type is not currently applicable. */
|
|
502
|
-
ComplianceType["PRODUCT_ADOPTION_CONFORMANCE"] = "PRODUCT_ADOPTION_CONFORMANCE";
|
|
503
|
-
/** Regulatory compliance */
|
|
504
|
-
ComplianceType["REGULATORY"] = "REGULATORY";
|
|
505
|
-
/** Returns policy compliance */
|
|
506
|
-
ComplianceType["RETURNS_POLICY"] = "RETURNS_POLICY";
|
|
507
|
-
})(ComplianceType || (ComplianceType = {}));
|
|
508
474
|
/**
|
|
509
475
|
* Language Codes (ISO 639-1)
|
|
510
476
|
*
|
|
@@ -1231,12 +1197,6 @@ export const EbayEnums = {
|
|
|
1231
1197
|
isValidListingStatus(status) {
|
|
1232
1198
|
return Object.values(ListingStatus).includes(status);
|
|
1233
1199
|
},
|
|
1234
|
-
/**
|
|
1235
|
-
* Check if a compliance type is valid
|
|
1236
|
-
*/
|
|
1237
|
-
isValidComplianceType(type) {
|
|
1238
|
-
return Object.values(ComplianceType).includes(type);
|
|
1239
|
-
},
|
|
1240
1200
|
/**
|
|
1241
1201
|
* Check if a language code is valid
|
|
1242
1202
|
*/
|