Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
EBAY_CLIENT_IDYesYour eBay application Client ID (App ID)
EBAY_LOG_LEVELNoLog level: error, warn, info, http, verbose, debug, sillyinfo
EBAY_ENVIRONMENTYeseBay API environment: 'sandbox' or 'production'sandbox
EBAY_REDIRECT_URINoYour eBay Redirect URL (RuName) - required for OAuth user tokens
EBAY_CLIENT_SECRETYesYour eBay application Client Secret (Cert ID)
EBAY_MARKETPLACE_IDNoDefault eBay marketplace ID, e.g., EBAY_USEBAY_US
EBAY_CONTENT_LANGUAGENoDefault request content language, e.g., en-USen-US
EBAY_USER_REFRESH_TOKENNoUser refresh token for higher rate limits (optional)
EBAY_ENABLE_FILE_LOGGINGNoEnable file logging: 'true' or 'false'false

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
searchB

Search for eBay inventory items

fetchB

Fetch a specific eBay inventory item by SKU

ebay_get_oauth_urlA

Generate the eBay OAuth authorization URL for user consent. The user should open this URL in a browser to grant permissions to the application. This supports the OAuth 2.0 Authorization Code grant flow. The redirect URI can be provided as a parameter or will be read from EBAY_REDIRECT_URI environment variable.

IMPORTANT: eBay has different OAuth scopes available for production vs sandbox environments:

  • Sandbox includes additional Buy API scopes (e.g., buy.order.readonly, buy.guest.order, buy.shopping.cart) and extended Identity scopes

  • Production includes sell.edelivery, commerce.message (explicit), and commerce.shipping scopes not available in sandbox

  • If you provide custom scopes, they will be validated against the current environment (set via EBAY_ENVIRONMENT). Any scopes not valid for the environment will generate warnings.

OAUTH FLOW INSTRUCTIONS:

  1. Generate OAuth URL with this tool (optionally specify scopes)

  2. User opens URL in browser, authorizes, and gets redirected with a code parameter

  3. Use ebay_exchange_authorization_code tool with the code (URL-encoded format accepted)

  4. Tokens are automatically stored and will auto-refresh every 2 hours

COMMON SCOPES:

TROUBLESHOOTING:

  • Authorization codes expire in ~5 minutes - get fresh code if "invalid grant" error

  • "Insufficient permissions" errors mean you need to re-authorize with additional scopes

  • OAuth URL format: Use + to separate scopes (e.g., scope=scope1+scope2), not %2B

  • Refresh tokens last 18 months and are saved to .env file for persistence

ebay_set_user_tokensA

Set the user access token and refresh token for authenticated API requests. These tokens should be obtained through the OAuth authorization code flow. Tokens will be persisted to disk and automatically refreshed when needed. User tokens provide higher rate limits (10,000-50,000 requests/day) compared to client credentials (1,000 requests/day).

ebay_set_user_tokens_with_expiryA

Set user access and refresh tokens with custom expiry times. This is an enhanced version of ebay_set_user_tokens that accepts expiry times and can automatically refresh the access token if it's expired but the refresh token is valid. Useful when user provides tokens that may already be partially expired.

ebay_get_token_statusA

Check the current OAuth token status. Returns information about whether user tokens or client credentials are being used, and whether tokens are valid.

ebay_clear_tokensA

Clear all stored OAuth tokens (both user tokens and client credentials). This will require re-authentication for subsequent API calls.

ebay_validate_token_expiryA

Validate token expiry times and get recommendations. Checks if access/refresh tokens are expired or expiring soon, and provides actionable recommendations (e.g., refresh access token, re-authorize user).

ebay_convert_date_to_timestampA

Convert a date string or number to Unix timestamp (milliseconds). Supports ISO 8601 dates, Unix timestamps (seconds or milliseconds), and relative time (e.g., "in 2 hours", "in 7200 seconds"). Useful when setting token expiry times from user input.

ebay_display_credentialsA

Display all eBay API credentials and current token information. Shows client ID, client secret (masked), environment (production/sandbox), redirect URI, and current token status including access token (masked), refresh token (masked), app token (masked), and their expiry times. Useful for debugging authentication issues and verifying configuration.

ebay_refresh_access_tokenA

Manually refresh the user access token using the stored refresh token. This is useful when you want to proactively refresh an access token before it expires, or when recovering from authentication errors. Requires that user tokens are already set (either via EBAY_USER_REFRESH_TOKEN in .env or via ebay_set_user_tokens_with_expiry). Returns the new access token and expiry time.

ebay_exchange_authorization_codeA

Exchange an OAuth authorization code for access and refresh tokens. This completes the OAuth 2.0 Authorization Code grant flow. After the user authorizes the application using the URL from ebay_get_oauth_url, eBay redirects back with an authorization code in the URL. Use this tool to exchange that code for tokens that can be used to make API calls. The tokens will be automatically stored and used for subsequent API requests.

IMPORTANT NOTES:

  • Authorization codes expire in ~5 minutes - if you get "invalid grant" error, get a fresh code

  • Codes can be URL-encoded (e.g., v%5E1.1%23...) - this tool automatically decodes them

  • Extract the code parameter from the redirect URL (your RuName Accept URL): https://your-redirect-uri?code=YOUR_CODE&expires_in=299

  • Tokens are saved to .env file and will auto-refresh every 2 hours

  • Refresh tokens last 18 months before requiring re-authorization

COMMON ERRORS:

  • "invalid or was issued to another client": Code expired, get fresh code

  • "Insufficient permissions": Re-run OAuth flow with additional scopes in ebay_get_oauth_url

For complete OAuth guide with scopes, troubleshooting, and examples, see: docs/auth/OAUTH_QUICK_REFERENCE.md

ebay_get_custom_policiesB

Retrieve custom policies defined for the seller account

ebay_create_custom_policyC

Create a new custom policy

ebay_get_custom_policyB

Get a specific custom policy by ID

ebay_update_custom_policyB

Update an existing custom policy

ebay_get_fulfillment_policiesB

Get fulfillment policies for the seller.

Required OAuth Scope: sell.account.readonly or sell.account Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.account.readonly

ebay_create_fulfillment_policyA

Create a new fulfillment policy.

shippingServiceCode must be a marketplace-valid eBay service enum (not a free-form carrier nickname). Invalid codes return "Please select a valid shipping service". eBay may cite DomesticItemShippingService[0] and [1] for a single bad entry — that is remote validation, not client array duplication. Discover valid codes via Trading GeteBayDetails (ShippingServiceDetails). Known-good EBAY_US FLAT_RATE sketch: policy.name, policy.marketplaceId=EBAY_US, policy.categoryTypes=[{name:ALL_EXCLUDING_MOTORS_VEHICLES}], policy.handlingTime={unit:DAY,value:1}, policy.shippingOptions=[{costType:FLAT_RATE,optionType:DOMESTIC,shippingServices:[{shippingServiceCode:USPSPriority,shippingCost:{currency:USD,value:"5.99"}}]}]. Avoid invented codes like USPSPriorityMail. Sandbox may accept a smaller code set than production.

Required OAuth Scope: sell.account Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.account

ebay_get_fulfillment_policyA

Get a specific fulfillment policy by ID

ebay_get_fulfillment_policy_by_nameB

Get a fulfillment policy by name

ebay_update_fulfillment_policyB

Update an existing fulfillment policy.

Required OAuth Scope: sell.account Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.account

ebay_delete_fulfillment_policyB

Delete a fulfillment policy

ebay_get_payment_policiesC

Get payment policies for the seller

ebay_create_payment_policyC

Create a new payment policy

ebay_get_payment_policyA

Get a specific payment policy by ID

ebay_get_payment_policy_by_nameB

Get a payment policy by name

ebay_update_payment_policyC

Update an existing payment policy

ebay_delete_payment_policyB

Delete a payment policy

ebay_get_return_policiesB

Get return policies for the seller

ebay_create_return_policyC

Create a new return policy

ebay_get_return_policyA

Get a specific return policy by ID

ebay_get_return_policy_by_nameC

Get a return policy by name

ebay_update_return_policyC

Update an existing return policy

ebay_delete_return_policyB

Delete a return policy

ebay_get_kycB

Get seller KYC (Know Your Customer) status

ebay_get_payments_programA

Get payments program status for a marketplace. Note: This method is deprecated as all seller accounts globally have been enabled for the new eBay payment and checkout flow.

Required OAuth Scope: sell.account.readonly or sell.account

ebay_get_payments_program_onboardingA

Get payments program onboarding information. Note: This method is deprecated as all seller accounts globally have been enabled for the new eBay payment and checkout flow.

Required OAuth Scope: sell.account.readonly or sell.account

ebay_get_rate_tablesC

Get seller rate tables

ebay_create_or_replace_sales_taxB

Create or replace sales tax table for a jurisdiction

ebay_bulk_create_or_replace_sales_taxB

Bulk create or replace sales tax tables

ebay_delete_sales_taxB

Delete sales tax table for a jurisdiction

ebay_get_sales_taxC

Get sales tax table for a jurisdiction

ebay_get_sales_taxesB

Get all sales tax tables for a country

ebay_get_subscriptionC

Get seller subscription information

ebay_opt_in_to_programC

Opt-in to a seller program

ebay_opt_out_of_programC

Opt-out of a seller program

ebay_get_opted_in_programsA

Get seller programs the account is opted into

ebay_get_privilegesA

Get seller's current set of privileges, including whether or not the seller's eBay registration has been completed, as well as the details of their site-wide sellingLimit (the maximum dollar value and quantity of items a seller can sell per day).

Required OAuth Scope: sell.account.readonly or sell.account

ebay_get_advertising_eligibilityB

Check the seller eligibility status for eBay advertising programs. This allows developers to determine if a seller is eligible for various advertising programs on eBay.

Required OAuth Scope: sell.account.readonly or sell.account

ebay_get_rate_tableA

Get one shipping rate table with its rates, rateIds, regions, and shipping costs (Account API v2 getRateTable). Pass rateTableId from ebay_get_rate_tables; use the rateIds with ebay_update_rate_table_shipping_cost. Rate tables are supported on US, CA, GB, DE, AU, FR, IT and ES. Requires sell.account or sell.account.readonly.

ebay_update_rate_table_shipping_costA

Update shippingCost and/or additionalCost for rates in a shipping rate table (Account API v2 updateShippingCost). Pass rateTableId (from ebay_get_rate_tables) and rateTableUpdate.rates[] with each rateId (from ebay_get_rate_table). Returns success (eBay 204 No Content). Rate tables are supported on US, CA, GB, DE, AU, FR, IT and ES. Requires sell.account.

ebay_get_payout_settingsA

Get the seller's payout instruments (ID, type, status, nickname, last four digits) and current split-payout percentages (Account API v2 getPayoutSettings). Use instrumentId with ebay_update_payout_percentage; only ACTIVE instruments can receive split payouts. Split payouts are only available to mainland China sellers (Payoneer + bank account). Requires the sell.finances scope.

ebay_update_payout_percentageA

Set the split-payout percentage for the seller's two payout instruments (Account API v2 updatePayoutPercentage). Pass payoutSplit.payoutInstruments[] with instrumentId (from ebay_get_payout_settings) and a whole-number payoutPercentage; the values must total 100 or eBay rejects the call. Returns success (eBay 204 No Content). Split payouts are only available to mainland China sellers (Payoneer + bank account). Requires the sell.finances scope.

ebay_create_calculated_shipping_rulesA

Create calculated combined-shipping rules for listings that use calculated shipping (Account API v2 createCalculatedShippingRules): shippingRules.calculatedShippingRule (weight/item/cost-based discounts), calculatedHandlingRule, and/or combinedDuration. marketplaceId is sent as the required X-EBAY-C-MARKETPLACE-ID header. Returns success (eBay 204 No Content); confirm with ebay_get_combined_shipping_rules. Requires sell.account.

ebay_create_flat_shipping_rulesA

Create flat-rate combined-shipping rules (Account API v2 createFlatShippingRules): shippingRules.flatShippingRule and/or combinedDuration. marketplaceId is sent as the required X-EBAY-C-MARKETPLACE-ID header. Returns success (eBay 204 No Content); confirm with ebay_get_combined_shipping_rules. Requires sell.account.

ebay_create_promotional_shipping_ruleA

Create the promotional combined-shipping rule, e.g. discounted or free shipping above an order amount or item count (Account API v2 createPromotionalShippingRule): shippingRules.promotionalShippingRule and/or combinedDuration. marketplaceId is sent as the required X-EBAY-C-MARKETPLACE-ID header. Returns success (eBay 204 No Content); confirm with ebay_get_combined_shipping_rules. Requires sell.account.

ebay_get_combined_shipping_rulesA

Get the seller's combined-shipping configuration for one marketplace (Account API v2 getCombinedShippingRules): calculated, flat and promotional rules, handling rule, and the combined payment window. Rule IDs returned here are needed by the update tools. marketplaceId is sent as the required X-EBAY-C-MARKETPLACE-ID header. Requires sell.account.readonly or sell.account.

ebay_update_calculated_shipping_rulesA

Update existing calculated combined-shipping rules (Account API v2 updateCalculatedShippingRules): change discount percentages, weight offsets, amounts, handling rule, and/or combinedDuration. Reference rules by combinedShippingRuleId from ebay_get_combined_shipping_rules. marketplaceId is sent as the required X-EBAY-C-MARKETPLACE-ID header. Returns success (eBay 204 No Content); confirm with ebay_get_combined_shipping_rules. Requires sell.account.

ebay_update_combined_paymentsA

Change how long unpaid orders from one buyer can be combined into a single invoice (Account API v2 updateCombinedPayments): combinedPayments.combinedDuration DAYS_3, DAYS_5, DAYS_7, DAYS_14, DAYS_30 or INELIGIBLE. marketplaceId is sent as the required X-EBAY-C-MARKETPLACE-ID header. Returns success (eBay 204 No Content); confirm with ebay_get_combined_shipping_rules. Requires sell.account.

ebay_update_flat_shipping_rulesA

Update existing flat-rate combined-shipping rules and/or combinedDuration (Account API v2 updateFlatShippingRules). Reference rules by combinedShippingRuleId from ebay_get_combined_shipping_rules. marketplaceId is sent as the required X-EBAY-C-MARKETPLACE-ID header. Returns success (eBay 204 No Content); confirm with ebay_get_combined_shipping_rules. Requires sell.account.

ebay_update_promotional_shipping_ruleA

Update the existing promotional combined-shipping rule: thresholds, item count, shipping cost, and/or combinedDuration (Account API v2 updatePromotionalShippingRule). marketplaceId is sent as the required X-EBAY-C-MARKETPLACE-ID header. Returns success (eBay 204 No Content); confirm with ebay_get_combined_shipping_rules. Requires sell.account.

ebay_get_user_preferencesA

Get the seller's preferences for one marketplace (Account API v2 getUserPreferences): combined payment, dispatch cut-off time, unpaid item assistance, end-of-auction email, Out-of-Stock control, Business Policies opt-in, excluded ship-to locations, carrier rates, and more. Optional fieldgroups (comma-separated, default ALL) limits the groups returned. marketplaceId is sent as the required X-EBAY-C-MARKETPLACE-ID header. Requires sell.account.readonly or sell.account.

ebay_set_user_preferencesA

Change one or more seller preferences for one marketplace (Account API v2 setUserPreferences, HTTP PATCH): include only the preferences to change under preferences, e.g. combinedPaymentPreferences, dispatchCutoffTimePreference, itemsAwaitingPaymentPreferences, outOfStockControlPreference. Excluded ship-to locations cannot be changed here (My eBay only). marketplaceId is sent as the required X-EBAY-C-MARKETPLACE-ID header. Returns success (eBay 204 No Content); confirm with ebay_get_user_preferences. Requires sell.account.

ebay_get_order_earningsA

Get order-level earnings from the eBay Finances API: gross amount, expenses (fees, shipping labels, donations), refunds, and net earnings per order. Filter by orderCreationDate range (defaults to the past year), page with limit/offset, sort by orderCreationDate. Requires the optional https://api.ebay.com/oauth/api_scope/sell.finances.earnings.read 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, which this server does not add.

ebay_get_order_earnings_by_idA

Get earnings for one order from the eBay Finances API: gross amount, expenses, refunds, and net earnings for the orderId. Requires the optional https://api.ebay.com/oauth/api_scope/sell.finances.earnings.read 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, which this server does not add.

ebay_get_order_earnings_summaryA

Get aggregated order earnings from the eBay Finances API for orders created in an orderCreationDate range (defaults to the past year). Requires the optional https://api.ebay.com/oauth/api_scope/sell.finances.earnings.read 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, which this server does not add.

ebay_get_payoutA

Get one seller payout by payoutId from the eBay Finances API, including amount, status, payout instrument, and transaction count. Find IDs with ebay_get_payouts. Requires the sell.finances scope. eBay requires Digital Signatures on Finances API calls for EU/UK sellers, which this server does not add.

ebay_get_payoutsA

List seller payouts from the eBay Finances API (last five years). Filter by payoutDate range and/or payoutStatus, page with limit/offset, sort by payoutDate. Returns a success status with no data when nothing matches. Requires the sell.finances scope. eBay requires Digital Signatures on Finances API calls for EU/UK sellers, which this server does not add.

ebay_get_payout_summaryA

Get cumulative payout totals from the eBay Finances API: payout count, related transaction count, and total amount, optionally filtered by payoutDate range and one payoutStatus. Requires the sell.finances scope. eBay requires Digital Signatures on Finances API calls for EU/UK sellers, which this server does not add.

ebay_get_seller_funds_summaryA

Get the seller's funds not yet paid out from the eBay Finances API: available, processing, on-hold, and total amounts. Returns a success status with no data when no funds are pending. Requires the sell.finances scope. eBay requires Digital Signatures on Finances API calls for EU/UK sellers, which this server does not add.

ebay_get_transactionsA

List monetary transactions (sales, refunds, credits, fees, transfers, and more) from the eBay Finances API, last five years. Filter by transactionDate, transactionType, transactionStatus, buyerUsername, payoutId, orderId, or transactionId; page with limit/offset; sort by transactionDate. Returns a success status with no data when nothing matches. Requires the sell.finances scope. eBay requires Digital Signatures on Finances API calls for EU/UK sellers, which this server does not add.

ebay_get_transaction_summaryA

Get cumulative transaction counts and amounts from the eBay Finances API, including on-hold payments. eBay requires a transactionStatus criterion in filter, e.g. transactionStatus:{PAYOUT}. Requires the sell.finances scope. eBay requires Digital Signatures on Finances API calls for EU/UK sellers, which this server does not add.

ebay_get_transferA

Get one TRANSFER transaction (the seller reimbursing eBay, e.g. for a buyer refund) from the eBay Finances API. Find IDs with ebay_get_transactions and filter transactionType:{TRANSFER}. Read-only; does not move money. Requires the sell.finances scope. eBay requires Digital Signatures on Finances API calls for EU/UK sellers, which this server does not add.

ebay_get_billing_activitiesA

Get seller billing activities (fees and credits) from the eBay Finances API. eBay requires exactly one filter criterion: activityId, listingId, orderId, or a transactionDate range starting within the last 120 days. Page with limit/offset, sort by transactionDate. Requires the sell.finances scope. eBay requires Digital Signatures on Finances API calls for EU/UK sellers, which this server does not add.

ebay_get_inventory_itemsC

Retrieve all inventory items for the seller.

Required OAuth Scope: sell.inventory.readonly or sell.inventory Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.inventory.readonly

ebay_get_inventory_itemB

Get a specific inventory item by SKU.

Required OAuth Scope: sell.inventory.readonly or sell.inventory Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.inventory.readonly

ebay_create_or_replace_inventory_itemC

Create or replace an inventory item.

Required OAuth Scope: sell.inventory Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.inventory

ebay_delete_inventory_itemB

Delete an inventory item by SKU.

Required OAuth Scope: sell.inventory Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.inventory

ebay_bulk_create_or_replace_inventory_itemC

Bulk create or replace multiple inventory items

ebay_bulk_get_inventory_itemC

Bulk get multiple inventory items

ebay_bulk_update_price_quantityC

Bulk update price and quantity for multiple offers

ebay_get_product_compatibilityB

Get product compatibility information for an inventory item

ebay_create_or_replace_product_compatibilityC

Create or replace product compatibility for an inventory item

ebay_delete_product_compatibilityB

Delete product compatibility for an inventory item

ebay_get_inventory_item_groupB

Get an inventory item group (variation group)

ebay_create_or_replace_inventory_item_groupC

Create or replace an inventory item group

ebay_delete_inventory_item_groupC

Delete an inventory item group

ebay_get_inventory_locationsC

Get all inventory locations

ebay_get_inventory_locationB

Get a specific inventory location

ebay_create_inventory_locationC

Create an inventory location

ebay_delete_inventory_locationB

Delete an inventory location

ebay_disable_inventory_locationB

Disable an inventory location

ebay_enable_inventory_locationB

Enable an inventory location

ebay_update_inventory_locationC

Update an inventory location

ebay_get_offersA

Get offers for one seller-defined SKU. To enumerate offers across SKUs, call ebay_get_inventory_items first, then call this tool once per SKU.

ebay_get_offers_by_skusA

Get offers for 1-25 SKUs. Exact duplicates are queried once, at most 3 eBay requests run concurrently, and every SKU has its own success or failure result.

ebay_get_offerC

Get a specific offer by ID

ebay_create_offerA

Create a new offer (unpublished listing draft) for an inventory item SKU.

FIXED_PRICE offers take pricingSummary.price and listingDuration GTC. AUCTION offers take pricingSummary.auctionStartPrice (opening bid), an optional auctionReservePrice above it, an optional pricingSummary.price as Buy It Now (at least 30% above the opening bid, and not together with Best Offer), a day-count listingDuration (DAYS_1/3/5/7/10, or DAYS_14/21/30 where the category allows; never GTC), availableQuantity omitted or 1, and no per-buyer limit or eBay Plus. Do not add listingStartDate unless the user asked for a scheduled start (it can incur a fee). Bodies that mix the two formats are rejected before any eBay request.

Check ebay_get_listing_type_policies for the formats and durations the category allows, then ebay_get_listing_fees (reserve prices carry a fee) before ebay_publish_offer.

ebay_update_offerA

Update an existing offer. Send the full offer details; the format itself cannot change. Auction fields (auctionStartPrice, auctionReservePrice, day-count listingDuration) follow the same rules as ebay_create_offer, and a reserve price must stay above the starting bid.

ebay_delete_offerC

Delete an offer

ebay_publish_offerB

Publish an offer to create a listing

ebay_withdraw_offerB

Withdraw a published offer

ebay_bulk_create_offerA

Bulk create up to 25 offers in one request. Each request follows the ebay_create_offer rules: FIXED_PRICE offers take pricingSummary.price and listingDuration GTC. AUCTION offers take pricingSummary.auctionStartPrice (opening bid), an optional auctionReservePrice above it, an optional pricingSummary.price as Buy It Now (at least 30% above the opening bid, and not together with Best Offer), a day-count listingDuration (DAYS_1/3/5/7/10, or DAYS_14/21/30 where the category allows; never GTC), availableQuantity omitted or 1, and no per-buyer limit or eBay Plus. Do not add listingStartDate unless the user asked for a scheduled start (it can incur a fee). Bodies that mix the two formats are rejected before any eBay request.

ebay_bulk_publish_offerC

Bulk publish multiple offers

ebay_get_listing_feesB

Get listing fees for offers before publishing

ebay_bulk_migrate_listingC

Bulk migrate listings to the inventory model

ebay_get_sku_location_mappingB

Get inventory locations for a specific listing and SKU.

Required OAuth Scope: sell.inventory.readonly or sell.inventory Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.inventory.readonly

ebay_create_or_replace_sku_location_mappingB

Create or replace SKU location mapping for a listing. Maps a SKU to fulfillment center locations.

Required OAuth Scope: sell.inventory Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.inventory

ebay_delete_sku_location_mappingA

Delete SKU location mapping for a listing. Removes fulfillment center location mappings for a SKU.

Required OAuth Scope: sell.inventory Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.inventory

ebay_publish_offer_by_inventory_item_groupC

Publish an offer for an inventory item group (variation listing).

Required OAuth Scope: sell.inventory Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.inventory

ebay_withdraw_offer_by_inventory_item_groupA

Withdraw an offer for an inventory item group (variation listing).

Required OAuth Scope: sell.inventory Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.inventory

ebay_create_image_from_urlA

Create an EPS image from an HTTPS URL. Returns imageId, Location and the complete image payload, including EPS URLs. Requires sell.inventory.

ebay_create_documentA

Stage a listing document with documentType and languages. Returns documentId for ebay_upload_document. Requires sell.inventory.

ebay_create_document_from_urlA

Create a listing document from an HTTPS URL: PDF, JPEG/JPG or PNG up to 10 MiB. Check ebay_get_document for ACCEPTED before attaching it to a listing. Requires sell.inventory.

ebay_get_documentA

Get listing document metadata and processing status. Only ACCEPTED documents may be attached to listings. Does not download document bytes. Requires sell.inventory.

ebay_upload_documentA

Upload a local PDF, JPEG/JPG or PNG (up to 10 MiB) to a staged documentId. Animated/multi-page PNG is unsupported. Check ebay_get_document for ACCEPTED. Requires sell.inventory. Local file access is opt-in: the file must sit inside a directory listed in EBAY_MCP_MEDIA_DIRS (or under EBAY_MCP_MEDIA_ROOT, which also anchors media:// references). Symlinks are resolved before the check.

ebay_upload_post_order_documentA

Upload a PDF, JPEG/JPG, BMP, GIF or PNG (up to 5 MiB) for a post-order entity. Returns documentId and Location; initial state is SUBMITTED. Publishing requires a separate eBay GraphQL mutation. Animated/multi-page PNG is unsupported; PDF page limits depend on usage. Requires commerce.post_order.document consent and keyset eligibility. Local file access is opt-in: the file must sit inside a directory listed in EBAY_MCP_MEDIA_DIRS (or under EBAY_MCP_MEDIA_ROOT, which also anchors media:// references). Symlinks are resolved before the check.

ebay_download_post_order_documentA

Download a post-order document as an embedded PDF resource. SUBMITTED documents are owner-only; PUBLISHED documents require authorization in the post-order flow. Expired documents are unavailable. Requires commerce.post_order.document.

ebay_remove_post_order_documentA

Delete a SUBMITTED post-order document. PUBLISHED documents cannot be deleted; eBay enforces state and access restrictions. Requires commerce.post_order.document.

ebay_upload_imagesA

Upload local pictures to eBay Picture Services and return the EPS image URLs in the same order, ready for product.imageUrls on an inventory item. Uses the Media API (createImageFromFile). Unused images expire after a while; they become permanent once a listing uses them.

Local file access is opt-in: the file must sit inside a directory listed in EBAY_MCP_MEDIA_DIRS (or under EBAY_MCP_MEDIA_ROOT, which also anchors media:// references). Symlinks are resolved before the check.

ebay_upload_videoA

Upload a local video through the Media API lifecycle (createVideo → uploadVideo → getVideo) and return the videoId with its processing status. Waits up to waitForProcessingSeconds (default 120) for status LIVE; PROCESSING means check again with ebay_get_video, BLOCKED or PROCESSING_FAILED explain why eBay rejected it (statusMessage). MP4/MOV up to 150 MB; one video per listing.

Local file access is opt-in: the file must sit inside a directory listed in EBAY_MCP_MEDIA_DIRS (or under EBAY_MCP_MEDIA_ROOT, which also anchors media:// references). Symlinks are resolved before the check.

ebay_get_videoA

Get a Media API video by ID: processing status (PENDING_UPLOAD, PROCESSING, LIVE, BLOCKED, PROCESSING_FAILED), statusMessage, expiry, and playlists. Use it to re-check a video that was still PROCESSING after ebay_upload_video.

ebay_attach_media_to_inventory_itemA

Upload local pictures and/or a video and attach them to an existing inventory item: reads the item, uploads every file in order, then rewrites only product.imageUrls and product.videoIds (appending by default, replacing with replaceExisting). Everything else on the item is preserved and no offer is published. If any upload fails the item is left untouched and the per-file results are returned in the error, unless allowPartial is true.

Local file access is opt-in: the file must sit inside a directory listed in EBAY_MCP_MEDIA_DIRS (or under EBAY_MCP_MEDIA_ROOT, which also anchors media:// references). Symlinks are resolved before the check.

ebay_get_order_tasksA

List Feed API order report tasks (LMS_ORDER_REPORT) by feedType or scheduleId (not both), filtered by dateRange or lookBackDays (not both), with limit/offset paging. Requires sell.fulfillment.

ebay_create_order_taskA

Create an asynchronous Feed API order report task: feedType LMS_ORDER_REPORT, schemaVersion (1113 or higher) and optional filterCriteria (creationDateRange of at most 10 days, orderStatus ACTIVE or COMPLETED). eBay answers 202; returns taskId and Location. Poll ebay_get_order_task until COMPLETED or COMPLETED_WITH_ERROR, then download with ebay_get_feed_task_result_file. Requires sell.fulfillment.

ebay_get_order_taskA

Get one Feed API order report task by taskId: status (QUEUED, IN_PROCESS, then COMPLETED or COMPLETED_WITH_ERROR when the file is ready), filter criteria and timestamps. Requires sell.fulfillment.

ebay_get_inventory_tasksA

List Feed API active inventory report tasks (LMS_ACTIVE_INVENTORY_REPORT), filtered by dateRange or lookBackDays (not both), with limit/offset paging. Requires sell.inventory.

ebay_create_inventory_taskA

Create an asynchronous Feed API ActiveInventoryReport task (price and quantity of every active listing): feedType LMS_ACTIVE_INVENTORY_REPORT, schemaVersion 1.0, optional filterCriteria.listingFormat AUCTION or FIXED_PRICE. eBay answers 202; returns taskId and Location. Poll ebay_get_inventory_task, then download with ebay_get_feed_task_result_file. Requires sell.inventory.

ebay_get_inventory_taskA

Get one Feed API active inventory report task by taskId: status, filter criteria and timestamps. Requires sell.inventory.

ebay_get_feed_schedulesA

List the seller's Feed API report schedules for a feedType (required), with limit/offset paging. Schedules exist only for LMS_ORDER_REPORT, which requires sell.fulfillment.

ebay_create_feed_scheduleA

Create a recurring Feed API report schedule that subscribes to an ACTIVE schedule template: feedType and scheduleTemplateId, plus scheduleName, preferredTriggerHour/DayOfWeek/DayOfMonth, scheduleStartDate/EndDate and schemaVersion as the template requires (read it with ebay_get_feed_schedule_template). eBay answers 201; returns scheduleId and Location. Schedules per feed type are limited (error 160031). Schedules exist only for LMS_ORDER_REPORT, which requires sell.fulfillment.

ebay_get_feed_scheduleA

Get one Feed API schedule by scheduleId: template, trigger settings, status and last run. Schedules exist only for LMS_ORDER_REPORT, which requires sell.fulfillment.

ebay_update_feed_scheduleA

Update a Feed API schedule's name, trigger hour/day, start/end dates or schemaVersion. eBay validates the fields against the schedule's current template and returns 204. Schedules exist only for LMS_ORDER_REPORT, which requires sell.fulfillment.

ebay_delete_feed_scheduleA

Delete a Feed API schedule so it stops generating reports. This cannot be undone. Schedules exist only for LMS_ORDER_REPORT, which requires sell.fulfillment.

ebay_get_feed_schedule_result_fileA

Download the latest report a Feed API schedule generated (compressed or plain CSV, XML or JSON). Returned as an embedded resource carrying the content type and file name eBay sent; files above 25 MiB are refused. Schedules exist only for LMS_ORDER_REPORT, which requires sell.fulfillment.

ebay_get_feed_schedule_templateA

Get one Feed API schedule template by scheduleTemplateId: feed type, frequency and which schedule fields are required or optional (with defaults). Schedules exist only for LMS_ORDER_REPORT, which requires sell.fulfillment.

ebay_get_feed_schedule_templatesA

List the Feed API schedule templates for a feedType (required), with limit/offset paging; use a template ID with ebay_create_feed_schedule. Schedules exist only for LMS_ORDER_REPORT, which requires sell.fulfillment.

ebay_get_feed_tasksA

List Feed API tasks (uploads and downloads, on-demand and scheduled) by feedType or scheduleId (not both), filtered by dateRange or lookBackDays (not both), with limit/offset paging. The OAuth scope depends on the feed type: sell.inventory for LMS listing and inventory feeds, sell.fulfillment for LMS_ORDER_ACK and LMS_ORDER_REPORT (sell.marketing and commerce.catalog.readonly feed types are reserved by eBay).

ebay_create_feed_taskA

Create a Feed API upload or download task without filter criteria (feedType and schemaVersion), e.g. an LMS listing upload (LMS_ADD_FIXED_PRICE_ITEM), LMS_ORDER_ACK or a Seller Hub feed. eBay answers 202; returns taskId and Location. For upload feed types send the file with ebay_upload_feed_task_file, then poll ebay_get_feed_task. Optional marketplaceId and acceptLanguage set X-EBAY-C-MARKETPLACE-ID and Accept-Language (fr-CA with EBAY_CA, fr-BE with EBAY_BE). The OAuth scope depends on the feed type: sell.inventory for LMS listing and inventory feeds, sell.fulfillment for LMS_ORDER_ACK and LMS_ORDER_REPORT (sell.marketing and commerce.catalog.readonly feed types are reserved by eBay).

ebay_get_feed_task_input_fileA

Download the file previously uploaded to a Feed API task (not available for LMS_ORDER_REPORT or LMS_ACTIVE_INVENTORY_REPORT tasks). Returned as an embedded resource carrying the content type and file name eBay sent; files above 25 MiB are refused. The OAuth scope depends on the feed type: sell.inventory for LMS listing and inventory feeds, sell.fulfillment for LMS_ORDER_ACK and LMS_ORDER_REPORT (sell.marketing and commerce.catalog.readonly feed types are reserved by eBay).

ebay_get_feed_task_result_fileA

Download the result file of a Feed API task once it is COMPLETED or COMPLETED_WITH_ERROR: the generated report (order, inventory or customer service metric task IDs work too) or an upload's processing results, often csv.gz or zipped XML. Returned as an embedded resource carrying the content type and file name eBay sent; files above 25 MiB are refused. The OAuth scope depends on the feed type: sell.inventory for LMS listing and inventory feeds, sell.fulfillment for LMS_ORDER_ACK and LMS_ORDER_REPORT (sell.marketing and commerce.catalog.readonly feed types are reserved by eBay).

ebay_get_feed_taskA

Get one Feed API task by taskId: feed type, status (QUEUED, IN_PROCESS, then COMPLETED or COMPLETED_WITH_ERROR when the file is ready), timestamps and the upload summary (success and failure counts). The OAuth scope depends on the feed type: sell.inventory for LMS listing and inventory feeds, sell.fulfillment for LMS_ORDER_ACK and LMS_ORDER_REPORT (sell.marketing and commerce.catalog.readonly feed types are reserved by eBay).

ebay_upload_feed_task_fileA

Upload a local feed file to a Feed API upload task from ebay_create_feed_task: XML or zipped XML for LMS feed types, CSV for Seller Hub feed types (.xml, .zip, .gz or .csv, UTF-8 text, up to 15 MiB, eBay's data file limit). Sent as multipart/form-data; eBay then processes it asynchronously, so poll ebay_get_feed_task until COMPLETED or COMPLETED_WITH_ERROR and read per-record errors with ebay_get_feed_task_result_file. Not for LMS_ORDER_REPORT or LMS_ACTIVE_INVENTORY_REPORT. The OAuth scope depends on the feed type: sell.inventory for LMS listing and inventory feeds, sell.fulfillment for LMS_ORDER_ACK and LMS_ORDER_REPORT (sell.marketing and commerce.catalog.readonly feed types are reserved by eBay). Local file access is opt-in: the file must sit inside a directory listed in EBAY_MCP_MEDIA_DIRS (or under EBAY_MCP_MEDIA_ROOT, which also anchors media:// references). Symlinks are resolved before the check.

ebay_get_customer_service_metric_tasksA

List Feed API customer service metric report tasks (CUSTOMER_SERVICE_METRICS_REPORT), filtered by dateRange or lookBackDays (not both), with limit/offset paging. Requires sell.analytics.readonly.

ebay_create_customer_service_metric_taskA

Create an asynchronous Feed API customer service metrics report task: feedType CUSTOMER_SERVICE_METRICS_REPORT, schemaVersion 1.0, filterCriteria with customerServiceMetricType (ITEM_NOT_AS_DESCRIBED or ITEM_NOT_RECEIVED) and evaluationMarketplaceId, optionally listingCategories or shippingRegions. Only CURRENT evaluations are supported; check ebay_get_customer_service_metric first to avoid tasks with no evaluation. acceptLanguage (eBay-required Accept-Language) defaults to EBAY_CONTENT_LANGUAGE. eBay answers 202; returns taskId and Location. Poll ebay_get_customer_service_metric_task, then download with ebay_get_feed_task_result_file. Requires sell.analytics.readonly.

ebay_get_customer_service_metric_taskA

Get one Feed API customer service metric report task by taskId: status, filter criteria and timestamps. Requires sell.analytics.readonly.

ebay_get_storeA

Get the seller's eBay Store details (Stores API getStore): store name, URL, URL path, description, logo, and last opened time. Requires an active eBay Store subscription (sell.stores scope).

ebay_get_store_categoriesA

Get the eBay Store's custom category hierarchy (Stores API getStoreCategories): categoryId, categoryName, level, order, and childrenCategories for up to three levels. Use these store category IDs (not eBay marketplace category IDs) with the store category tools. Requires an active eBay Store subscription (sell.stores scope).

ebay_add_store_categoryA

Add one custom category to the eBay Store (Stores API addStoreCategory). Pass categoryName and optionally destinationParentCategoryId (omit or -999 for top level) and listingDestinationCategoryId. Asynchronous: eBay accepts the change and returns { taskId, location } from the Location header; poll ebay_get_store_task with taskId (or ebay_get_store_tasks) until the task is COMPLETED or FAILED. Only one store category change (add, rename, move, or delete) can be in flight at a time; eBay rejects a new change until the previous task finishes. Requires an active eBay Store subscription (sell.stores scope).

ebay_rename_store_categoryA

Rename one custom eBay Store category (Stores API renameStoreCategory). Pass the store categoryId and the new categoryName. Asynchronous: eBay accepts the change and returns { taskId, location } from the Location header; poll ebay_get_store_task with taskId (or ebay_get_store_tasks) until the task is COMPLETED or FAILED. Only one store category change (add, rename, move, or delete) can be in flight at a time; eBay rejects a new change until the previous task finishes. Requires an active eBay Store subscription (sell.stores scope).

ebay_move_store_categoryA

Move one custom eBay Store category under a new parent (Stores API moveStoreCategory). Pass categoryId, destinationParentCategoryId (-999 for top level), and listingDestinationCategoryId when a leaf category with listings stops being a leaf. Asynchronous: eBay accepts the change and returns { taskId, location } from the Location header; poll ebay_get_store_task with taskId (or ebay_get_store_tasks) until the task is COMPLETED or FAILED. Only one store category change (add, rename, move, or delete) can be in flight at a time; eBay rejects a new change until the previous task finishes. Requires an active eBay Store subscription (sell.stores scope).

ebay_delete_store_categoryA

Delete one custom eBay Store category (Stores API deleteStoreCategory). Pass the store categoryId and optionally listingDestinationCategoryId; active listings in or under the category move there, or to the store's Other category (ID 1) when omitted. Irreversible. Asynchronous: eBay accepts the change and returns { taskId, location } from the Location header; poll ebay_get_store_task with taskId (or ebay_get_store_tasks) until the task is COMPLETED or FAILED. Only one store category change (add, rename, move, or delete) can be in flight at a time; eBay rejects a new change until the previous task finishes. Requires an active eBay Store subscription (sell.stores scope).

ebay_get_store_taskA

Get the status of one asynchronous eBay Store category task (Stores API getStoreTask) by the taskId returned from ebay_add_store_category, ebay_rename_store_category, ebay_move_store_category, or ebay_delete_store_category. Returns task id, type, status, and message. Requires an active eBay Store subscription (sell.stores scope).

ebay_get_store_tasksA

List the status of all asynchronous eBay Store tasks (Stores API getStoreTasks). Every task ends as COMPLETED or FAILED within 24 hours; use it to check whether a store category change is still in flight. Requires an active eBay Store subscription (sell.stores scope).

ebay_get_ordersB

Retrieve orders for the seller.

Required OAuth Scope: sell.fulfillment.readonly or sell.fulfillment Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.fulfillment.readonly

ebay_get_orderB

Get details of a specific order.

Required OAuth Scope: sell.fulfillment.readonly or sell.fulfillment Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.fulfillment.readonly

ebay_create_shipping_fulfillmentB

Create a shipping fulfillment for an order.

Required OAuth Scope: sell.fulfillment Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.fulfillment

ebay_get_shipping_fulfillmentsA

Get all shipping fulfillments for an order.

Required OAuth Scope: sell.fulfillment.readonly or sell.fulfillment Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.fulfillment.readonly

ebay_get_shipping_fulfillmentB

Get a specific shipping fulfillment by ID.

Required OAuth Scope: sell.fulfillment.readonly or sell.fulfillment Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.fulfillment.readonly

ebay_issue_refundB

Issue a full or partial refund for an eBay order. Use this to refund buyers for orders, including specifying the refund amount and reason.

Required OAuth Scope: sell.fulfillment Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.fulfillment

ebay_get_cancellation_requestsA

Scan recent seller orders for cancellation requests. Calls Fulfillment API getOrders and returns orders whose cancelState is not NONE_REQUESTED (or that list cancel requests). Read-only helper — does not use the deprecated Post-Order API.

Required OAuth Scope: sell.fulfillment.readonly or sell.fulfillment Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.fulfillment.readonly

ebay_get_refunded_ordersA

Scan recent seller orders for refunds. Calls Fulfillment API getOrders and returns orders with a non-empty paymentSummary.refunds array. Read-only helper — does not issue refunds or call the Post-Order API.

Required OAuth Scope: sell.fulfillment.readonly or sell.fulfillment Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.fulfillment.readonly

ebay_get_payment_dispute_summariesA

Get summaries of all payment disputes. Use filters to narrow results by dispute status, buyer username, or order ID.

Required OAuth Scope: sell.fulfillment Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.fulfillment

ebay_get_payment_disputeB

Get detailed information about a specific payment dispute.

Required OAuth Scope: sell.fulfillment Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.fulfillment

ebay_get_payment_dispute_activitiesA

Get activity history for a payment dispute, including all actions taken by buyer, seller, and eBay.

Required OAuth Scope: sell.fulfillment Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.fulfillment

ebay_accept_payment_disputeA

Accept a payment dispute and allow eBay to refund the buyer. Use this when you agree with the buyer claim.

Required OAuth Scope: sell.fulfillment Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.fulfillment

ebay_contest_payment_disputeA

Contest a payment dispute by providing evidence. Use this when you disagree with the buyer claim and want to provide proof.

Required OAuth Scope: sell.fulfillment Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.fulfillment

ebay_add_payment_dispute_evidenceB

Add evidence to support your case in a payment dispute. Provide evidence files and supporting information.

Required OAuth Scope: sell.fulfillment Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.fulfillment

ebay_update_payment_dispute_evidenceB

Update existing evidence in a payment dispute.

Required OAuth Scope: sell.fulfillment Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.fulfillment

ebay_upload_payment_dispute_evidence_fileA

Upload a file as evidence for a payment dispute (e.g., shipping receipt, photos). Returns a file ID to use with add_evidence.

Required OAuth Scope: sell.fulfillment Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.fulfillment

ebay_fetch_payment_dispute_evidence_contentC

Download evidence file content from a payment dispute.

Required OAuth Scope: sell.fulfillment Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.fulfillment

ebay_create_shipping_quoteA

Get live shipping rates for one package (Logistics API createShippingQuote). Pass shippingQuoteRequest with orders (1-10 eBay order IDs shipping together), packageSpecification (weight, optional dimensions), shipFrom and shipTo. Returns a shippingQuoteId plus rates[] with rateId, carrier/service, base cost, optional add-ons, and an expirationDate; buy one with ebay_create_shipment_from_shipping_quote before it expires. Logistics API is limited release (eBay-approved developers only, USPS rates and labels only) and needs the https://api.ebay.com/oauth/api_scope/sell.logistics scope, which is not requested by default: eligible keysets add it to EBAY_OAUTH_SCOPES and re-consent.

ebay_get_shipping_quoteA

Get a shipping quote by shippingQuoteId with its rates, package, addresses, and expiry (Logistics API getShippingQuote). Logistics API is limited release (eBay-approved developers only, USPS rates and labels only) and needs the https://api.ebay.com/oauth/api_scope/sell.logistics scope, which is not requested by default: eligible keysets add it to EBAY_OAUTH_SCOPES and re-consent.

ebay_create_shipment_from_shipping_quoteA

Purchase postage: create a shipment and its shipping label from one rate of a shipping quote (Logistics API createFromShippingQuote). This charges the seller's billing agreement the rate's base cost plus any additionalOptions (eBay error 90030 means no billing agreement is set up). Pass shipmentRequest with shippingQuoteId and rateId from ebay_create_shipping_quote, optionally additionalOptions, labelSize, labelCustomMessage, and returnTo. Returns the shipment with shipmentId, tracking number, totalShippingCost, and labelDownloadUrl; get the PDF with ebay_download_shipping_label_file. Logistics API is limited release (eBay-approved developers only, USPS rates and labels only) and needs the https://api.ebay.com/oauth/api_scope/sell.logistics scope, which is not requested by default: eligible keysets add it to EBAY_OAUTH_SCOPES and re-consent.

ebay_get_shipmentA

Get a shipment by shipmentId: purchased rate, costs, addresses, tracking number, label URL, and cancellation status (Logistics API getShipment). Logistics API is limited release (eBay-approved developers only, USPS rates and labels only) and needs the https://api.ebay.com/oauth/api_scope/sell.logistics scope, which is not requested by default: eligible keysets add it to EBAY_OAUTH_SCOPES and re-consent.

ebay_cancel_shipmentA

Cancel a shipment and delete its shipping label; eBay refunds the totalShippingCost to the billing agreement (Logistics API cancelShipment). Fails once the label has been used. Returns the shipment with its cancellation status. Logistics API is limited release (eBay-approved developers only, USPS rates and labels only) and needs the https://api.ebay.com/oauth/api_scope/sell.logistics scope, which is not requested by default: eligible keysets add it to EBAY_OAUTH_SCOPES and re-consent.

ebay_download_shipping_label_fileA

Download the shipping label of a shipment as an embedded PDF resource (Logistics API downloadLabelFile). Pass the shipmentId from ebay_create_shipment_from_shipping_quote. Logistics API is limited release (eBay-approved developers only, USPS rates and labels only) and needs the https://api.ebay.com/oauth/api_scope/sell.logistics scope, which is not requested by default: eligible keysets add it to EBAY_OAUTH_SCOPES and re-consent.

ebay_bulk_create_ads_by_inventory_referenceC

Bulk create ads by inventory reference through the eBay Marketing API.

ebay_bulk_create_ads_by_listing_idB

Bulk create ads by listing id through the eBay Marketing API.

ebay_bulk_delete_ads_by_inventory_referenceC

Bulk delete ads by inventory reference through the eBay Marketing API.

ebay_bulk_delete_ads_by_listing_idC

Bulk delete ads by listing id through the eBay Marketing API.

ebay_bulk_update_ads_bid_by_inventory_referenceB

Bulk update ads bid by inventory reference through the eBay Marketing API.

ebay_bulk_update_ads_bid_by_listing_idB

Bulk update ads bid by listing id through the eBay Marketing API.

ebay_bulk_update_ads_statusC

Bulk update ads status through the eBay Marketing API.

ebay_bulk_update_ads_status_by_listing_idC

Bulk update ads status by listing id through the eBay Marketing API.

ebay_get_adsC

Get ads through the eBay Marketing API.

ebay_create_ad_by_listing_idB

Create ad by listing id through the eBay Marketing API.

ebay_create_ads_by_inventory_referenceB

Create ads by inventory reference through the eBay Marketing API.

ebay_get_adC

Get ad through the eBay Marketing API.

ebay_delete_adC

Delete ad through the eBay Marketing API.

ebay_delete_ads_by_inventory_referenceA

Delete ads by inventory reference through the eBay Marketing API.

ebay_get_ads_by_inventory_referenceC

Get ads by inventory reference through the eBay Marketing API.

ebay_update_bidC

Update bid through the eBay Marketing API.

ebay_get_ad_groupsC

Get ad groups through the eBay Marketing API.

ebay_create_ad_groupC

Create ad group through the eBay Marketing API.

ebay_get_ad_groupB

Get ad group through the eBay Marketing API.

ebay_update_ad_groupC

Update ad group through the eBay Marketing API.

ebay_suggest_bidsC

Suggest bids through the eBay Marketing API.

ebay_suggest_keywordsC

Suggest keywords through the eBay Marketing API.

ebay_clone_campaignC

Clone campaign through the eBay Marketing API.

ebay_get_campaignsC

Get campaigns through the eBay Marketing API.

ebay_create_campaignC

Create campaign through the eBay Marketing API.

ebay_get_campaignC

Get campaign through the eBay Marketing API.

ebay_delete_campaignB

Delete campaign through the eBay Marketing API.

ebay_end_campaignC

End campaign through the eBay Marketing API.

ebay_find_campaign_by_ad_referenceC

Find campaign by ad reference through the eBay Marketing API.

ebay_get_campaign_by_nameC

Get campaign by name through the eBay Marketing API.

ebay_launch_campaignC

Launch campaign through the eBay Marketing API.

ebay_pause_campaignC

Pause campaign through the eBay Marketing API.

ebay_resume_campaignC

Resume campaign through the eBay Marketing API.

ebay_setup_quick_campaignC

Setup quick campaign through the eBay Marketing API.

ebay_suggest_budgetC

Suggest budget through the eBay Marketing API.

ebay_suggest_itemsC

Suggest items through the eBay Marketing API.

ebay_suggest_max_cpcC

Suggest max cpc through the eBay Marketing API.

ebay_update_ad_rate_strategyC

Update ad rate strategy through the eBay Marketing API.

ebay_update_bidding_strategyC

Update bidding strategy through the eBay Marketing API.

ebay_update_campaign_budgetC

Update campaign budget through the eBay Marketing API.

ebay_update_campaign_identificationC

Update campaign identification through the eBay Marketing API.

ebay_bulk_create_keywordC

Bulk create keyword through the eBay Marketing API.

ebay_bulk_update_keywordC

Bulk update keyword through the eBay Marketing API.

ebay_get_keywordsC

Get keywords through the eBay Marketing API.

ebay_create_keywordC

Create keyword through the eBay Marketing API.

ebay_get_keywordC

Get keyword through the eBay Marketing API.

ebay_update_keywordC

Update keyword through the eBay Marketing API.

ebay_bulk_create_negative_keywordB

Bulk create negative keyword through the eBay Marketing API.

ebay_bulk_update_negative_keywordC

Bulk update negative keyword through the eBay Marketing API.

ebay_get_negative_keywordsC

Get negative keywords through the eBay Marketing API.

ebay_create_negative_keywordC

Create negative keyword through the eBay Marketing API.

ebay_get_negative_keywordC

Get negative keyword through the eBay Marketing API.

ebay_update_negative_keywordB

Update negative keyword through the eBay Marketing API.

ebay_get_reportC

Get report through the eBay Marketing API.

ebay_get_report_metadataC

Get report metadata through the eBay Marketing API.

ebay_get_report_metadata_for_report_typeB

Get report metadata for report type through the eBay Marketing API.

ebay_get_report_tasksC

Get report tasks through the eBay Marketing API.

ebay_create_report_taskC

Create report task through the eBay Marketing API.

ebay_get_report_taskB

Get report task through the eBay Marketing API.

ebay_delete_report_taskA

Delete report task through the eBay Marketing API.

ebay_create_item_price_markdown_promotionC

Create item price markdown promotion through the eBay Marketing API.

ebay_get_item_price_markdown_promotionC

Get item price markdown promotion through the eBay Marketing API.

ebay_update_item_price_markdown_promotionB

Update item price markdown promotion through the eBay Marketing API.

ebay_delete_item_price_markdown_promotionA

Delete item price markdown promotion through the eBay Marketing API.

ebay_create_item_promotionC

Create item promotion through the eBay Marketing API.

ebay_get_item_promotionC

Get item promotion through the eBay Marketing API.

ebay_update_item_promotionC

Update item promotion through the eBay Marketing API.

ebay_delete_item_promotionB

Delete item promotion through the eBay Marketing API.

ebay_get_listing_setC

Get listing set through the eBay Marketing API.

ebay_get_promotionsC

Get promotions through the eBay Marketing API.

ebay_pause_promotionB

Pause promotion through the eBay Marketing API.

ebay_resume_promotionC

Resume promotion through the eBay Marketing API.

ebay_get_promotion_reportsC

Get promotion reports through the eBay Marketing API.

ebay_get_promotion_summary_reportC

Get promotion summary report through the eBay Marketing API.

ebay_get_email_campaignsB

Get email campaigns through the eBay Marketing API.

ebay_create_email_campaignB

Create email campaign through the eBay Marketing API.

ebay_get_email_campaignB

Get email campaign through the eBay Marketing API.

ebay_update_email_campaignC

Update email campaign through the eBay Marketing API.

ebay_delete_email_campaignB

Delete email campaign through the eBay Marketing API.

ebay_get_audiencesC

Get audiences through the eBay Marketing API.

ebay_get_email_previewC

Get email preview through the eBay Marketing API.

ebay_get_email_reportC

Get email report through the eBay Marketing API.

ebay_find_listing_recommendationsC

Find listing recommendations through the eBay Recommendation API.

ebay_get_traffic_reportC

Get traffic report for listings

ebay_find_seller_standards_profilesA

Find all seller standards profiles

ebay_get_seller_standards_profileB

Get a specific seller standards profile

ebay_get_customer_service_metricC

Get customer service metrics

ebay_get_automotive_parts_compatibility_policiesB

Get automotive parts compatibility policies for a marketplace

ebay_get_category_policiesC

Get category policies for a marketplace

ebay_get_extended_producer_responsibility_policiesB

Get extended producer responsibility policies for a marketplace

ebay_get_hazardous_materials_labelsB

Get hazardous materials labels for a marketplace

ebay_get_item_condition_policiesB

Get item condition policies for a marketplace

ebay_get_listing_structure_policiesC

Get listing structure policies for a marketplace

ebay_get_negotiated_price_policiesC

Get negotiated price policies for a marketplace

ebay_get_product_safety_labelsB

Get product safety labels for a marketplace

ebay_get_regulatory_policiesC

Get regulatory policies for a marketplace

ebay_get_return_policy_metadataB

Get marketplace return policy requirements and guidelines. Returns eBay policies that define whether return policies are required for categories and the guidelines for creating domestic and international return policies.

ebay_get_classified_ad_policiesC

Get classified ad policies for a marketplace

ebay_get_currenciesC

Get currencies for a marketplace

ebay_get_listing_type_policiesC

Get listing type policies for a marketplace

ebay_get_motors_listing_policiesC

Get motors listing policies for a marketplace

ebay_get_shipping_policiesC

Get shipping policies for a marketplace

ebay_get_site_visibility_policiesC

Get site visibility policies for a marketplace

ebay_get_exclude_shipping_locationsA

Metadata API: list the regions, countries and special locations (e.g. PO Box, APO/FPO) a seller can exclude from shipping on a marketplace. Set acceptLanguage to fr-CA (EBAY_CA), fr-BE or nl-BE (EBAY_BE) to localize the metadata for the French Canada and Belgian marketplaces. Use the returned values when configuring fulfillment policies (ebay_create_fulfillment_policy).

ebay_get_handling_timesA

Metadata API: list the handling times (maximum business days to ship after cleared payment, flagged when extended) a marketplace allows. Set acceptLanguage to fr-CA (EBAY_CA), fr-BE or nl-BE (EBAY_BE) to localize the metadata for the French Canada and Belgian marketplaces. Use the returned values when configuring fulfillment policies (ebay_create_fulfillment_policy).

ebay_get_shipping_carriersA

Metadata API: list the shipping carriers supported on a marketplace. Each shippingCarrier value is the enum to use when supplying shipment tracking. Set acceptLanguage to fr-CA (EBAY_CA), fr-BE or nl-BE (EBAY_BE) to localize the metadata for the French Canada and Belgian marketplaces. Use the returned values when configuring fulfillment policies (ebay_create_fulfillment_policy).

ebay_get_shipping_locationsA

Metadata API: list the regions, countries and special locations a seller can ship to on a marketplace. Set acceptLanguage to fr-CA (EBAY_CA), fr-BE or nl-BE (EBAY_BE) to localize the metadata for the French Canada and Belgian marketplaces. Use the returned values when configuring fulfillment policies (ebay_create_fulfillment_policy).

ebay_get_shipping_servicesA

Metadata API: list the shipping services available on a marketplace with carrier, category, domestic/international flag, shipping times, cost types and package limits. Only services with validForSellingFlow=true can be used in listings or fulfillment policies. Set acceptLanguage to fr-CA (EBAY_CA), fr-BE or nl-BE (EBAY_BE) to localize the metadata for the French Canada and Belgian marketplaces. Use the returned values when configuring fulfillment policies (ebay_create_fulfillment_policy).

ebay_get_compatibilities_by_specificationC

Get compatibilities by specification

ebay_get_compatibility_property_namesC

Get compatibility property names

ebay_get_compatibility_property_valuesC

Get compatibility property values

ebay_get_multi_compatibility_property_valuesB

Get multiple compatibility property values

ebay_get_product_compatibilitiesC

Get product compatibilities

ebay_get_sales_tax_jurisdictionsC

Get sales tax jurisdictions for a country

ebay_get_default_category_tree_idB

Get the default category tree ID for a marketplace

ebay_get_category_treeB

Get category tree by ID

ebay_get_category_suggestionsB

Get category suggestions based on query

ebay_get_item_aspects_for_categoryA

Identify required and recommended item specifics for a category before creating an inventory item or checking listing fees

ebay_fetch_item_aspectsA

Taxonomy API: download the aspects (item specifics) of every leaf category in a category tree as eBay's gzipped JSON file, returned as an embedded resource with eBay's content type (application/octet-stream); gunzip it to read the JSON. eBay notes the file can exceed 100 MB compressed: anything above 25 MiB fails with DownloadTooLargeError instead of being returned, so use ebay_get_item_aspects_for_category for per-category lookups, especially on large trees such as EBAY_US (0).

ebay_get_expired_categoriesA

Taxonomy API: list expired leaf categories in a category tree with the active categories that replaced them (fromCategoryId to toCategoryId; several may merge into one). Only mapped (merged or split) categories are returned; an empty success (HTTP 204) means the tree has none.

ebay_get_charity_orgA

Charity API: get one charitable organization supported by eBay for Charity by charityOrgId (from ebay_get_charity_orgs): name, mission statement, description, logo, location, registration ID (EIN on EBAY_US) and website. Supports marketplaceId EBAY_US or EBAY_GB only. Uses an application (client-credentials) token, so EBAY_CLIENT_ID and EBAY_CLIENT_SECRET are enough; no user consent is needed.

ebay_get_charity_orgsA

Charity API: search charitable organizations supported by eBay for Charity, either by keywords (q) or by comma-separated registrationIds; supply exactly one. Paginated with limit (1-100) and offset (0-10000). Supports marketplaceId EBAY_US or EBAY_GB only. Uses an application (client-credentials) token, so EBAY_CLIENT_ID and EBAY_CLIENT_SECRET are enough; no user consent is needed.

ebay_find_eligible_itemsC

Find items eligible for Send Offer to Buyers

ebay_send_offer_to_interested_buyersC

Send offer to interested buyers

ebay_get_notification_configC

Get notification configuration

ebay_update_notification_configC

Update notification configuration

ebay_get_notification_destinationsB

Get all notification destinations (paginated)

ebay_create_notification_destinationC

Create a notification destination

ebay_get_notification_destinationA

Get a specific notification destination by ID

ebay_update_notification_destinationC

Update a notification destination

ebay_delete_notification_destinationB

Delete a notification destination

ebay_get_notification_subscriptionsA

Get all notification subscriptions (paginated)

ebay_create_notification_subscriptionC

Create a notification subscription

ebay_get_notification_subscriptionB

Get a specific notification subscription by ID

ebay_update_notification_subscriptionC

Update a notification subscription

ebay_delete_notification_subscriptionB

Delete a notification subscription

ebay_disable_notification_subscriptionB

Disable a notification subscription

ebay_enable_notification_subscriptionC

Enable a notification subscription

ebay_test_notification_subscriptionB

Test a notification subscription by sending a test message

ebay_create_notification_subscription_filterB

Create a filter for a notification subscription

ebay_get_notification_subscription_filterC

Get a specific subscription filter

ebay_delete_notification_subscription_filterC

Delete a subscription filter

ebay_get_notification_topicA

Get a specific notification topic by ID

ebay_get_notification_topicsB

Get all available notification topics (paginated)

ebay_get_notification_public_keyB

Get a public key for verifying notification signatures

ebay_get_conversationsB

Get all buyer-seller conversations (paginated)

ebay_get_conversationC

Get a specific conversation by ID

ebay_send_messageA

Send a direct message to a buyer regarding a specific transaction or inquiry. Use this to communicate about orders, answer questions, resolve issues, or provide updates.

ebay_bulk_update_conversationA

Bulk update multiple conversations. Each entry sets conversationStatus (ACTIVE, ARCHIVE, DELETE, READ, UNREAD) for a conversationId.

ebay_update_conversationA

Update a single conversation (conversationStatus: ACTIVE, ARCHIVE, DELETE; or read flag).

ebay_get_feedbackC

Get feedback for a user by type

ebay_leave_feedback_for_buyerC

Leave feedback for a buyer. Provide orderLineItemId, commentType (POSITIVE/NEUTRAL/NEGATIVE), and commentText.

ebay_get_awaiting_feedbackC

Get transactions awaiting feedback from the seller

ebay_respond_to_feedbackA

Respond to feedback received from a buyer

ebay_get_feedback_rating_summaryB

Get feedback rating summary for a user

ebay_find_active_itemsA

Search active eBay listings marketplace-wide (not the seller's own inventory). Uses the Buy Browse API item_summary/search with the application access token eBay requires for Browse, minted from client credentials under the basic api_scope. Supports pagination (limit/offset), sort (price, -price, newlyListed, endingSoonest), category restriction, and condition/buying-option/price filters plus a raw Browse filter passthrough. eBay documents that a search without a buying-option filter returns only listings that still offer FIXED_PRICE, so pass buyingOptions: ["AUCTION"] (or ["AUCTION", "FIXED_PRICE"] for both) to be sure of reaching auctions that have taken a bid. Returns cleaned summaries: itemId (feed into ebay_get_item_details), title, price (an auction's current bid when there is no fixed price, with bidCount), condition, buyingOptions, seller and feedback, first advertised shipping cost, auction end date, and listing URL. hasNext is the authoritative pagination signal, derived from the next link in eBay's paged-collection response: page forward by advancing offset in whole limit-sized steps while hasNext is true, and stop as soon as it is false. Neither total nor a short page is a pagination signal — total is eBay's match count for the query and in live testing came back as 0 once offset ran past the available result window, and a page can hold fewer items than limit without being the last one. The active-listing counterpart of ebay_find_completed_items.

ebay_get_item_detailsA

Get full detail for one active eBay listing by its Browse RESTful item id (from ebay_find_active_items, e.g. "v1|110587051479|0"). Uses the Buy Browse API item resource. Returns cleaned details: title, price, condition and condition description, short description, category path, buying options, seller and feedback, estimated available quantity, returns-accepted flag, item location, auction end date, images, and listing URL. For the seller's own listings use ebay_get_listing (Trading) instead.

ebay_find_completed_itemsA

Search eBay sold/completed listings for pricing research (sold comps). Uses the Finding API findCompletedItems operation with app credentials (SECURITY-APPNAME / EBAY_CLIENT_ID). Returns cleaned sold items: itemId, title, price, shippingCost, soldDate, condition, and listingUrl. Useful for market price research before listing or repricing. App credentials are sufficient for this public search data when OAuth is available.

ebay_get_userB

Get user identity information

ebay_get_listing_violationsA

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).

ebay_get_listing_violations_summaryA

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).

ebay_create_vero_reportB

Create a VERO report to report intellectual property infringement. This endpoint is part of the Verified Rights Owner (VeRO) Program and allows rights owners to report listings that infringe on their intellectual property.

ebay_get_vero_reportC

Get a specific VERO report by ID

ebay_get_vero_report_itemsA

Get VERO report items (listings reported for intellectual property infringement). Supports filtering, pagination via limit and offset parameters.

ebay_get_vero_reason_codeB

Get a specific VERO reason code by ID. Reason codes categorize the types of intellectual property violations.

ebay_get_vero_reason_codesA

Get all available VERO reason codes. These codes are used when creating VERO reports to specify the type of intellectual property violation.

ebay_translateC

Translate listing text

ebay_get_actual_costsC

Get actual costs for shipped packages

ebay_get_address_preferencesA

Get address preferences for international shipping

ebay_create_address_preferenceC

Create an address preference for international shipping

ebay_get_consign_preferencesA

Get consign preferences for international shipping

ebay_create_consign_preferenceC

Create a consign preference for international shipping

ebay_get_agentsC

Get available shipping agents for international shipping

ebay_get_battery_qualificationsC

Get battery qualifications for international shipping

ebay_get_dropoff_sitesC

Get available dropoff sites for international shipping

ebay_get_servicesC

Get available shipping services for international shipping

ebay_create_bundleC

Create a bundle of packages for international shipping

ebay_get_bundleC

Get bundle details by ID

ebay_cancel_bundleC

Cancel a bundle by ID

ebay_get_bundle_labelC

Get shipping label for a bundle

ebay_create_packageC

Create a package for international shipping

ebay_get_packageC

Get package details by ID

ebay_delete_packageC

Delete a package by ID

ebay_get_packages_by_line_item_idC

Get package details by order line item ID

ebay_cancel_packageC

Cancel a package by ID

ebay_clone_packageC

Clone a package to create a duplicate

ebay_confirm_packageC

Confirm a package for shipping

ebay_bulk_cancel_packagesB

Cancel multiple packages in one request

ebay_bulk_confirm_packagesC

Confirm multiple packages in one request

ebay_bulk_delete_packagesC

Delete multiple packages in one request

ebay_get_labelsC

Get shipping labels for packages

ebay_get_handover_sheetC

Get handover sheet for packages

ebay_get_trackingC

Get tracking information for packages

ebay_create_complaintC

Create a complaint for international shipping issues

ebay_get_api_statusA

Get the latest eBay API status and incidents from the official RSS feed. Returns recent issues, fixes, and outages for eBay APIs (e.g. Trading API, Inventory API, Sandbox). Use when the user asks about API status, outages, or fixes.

ebay_get_rate_limitsB

Get application rate limits for eBay APIs. Returns call quota, remaining calls, and time until reset for each API resource.

ebay_get_user_rate_limitsB

Get user-specific rate limits for eBay APIs. Returns call quota per user for APIs that limit by user.

ebay_register_clientA

Register a third party financial application with eBay (Open Banking / PSD2). Requires valid eIDAS certificate via MTLS.

ebay_get_signing_keysA

Get all signing keys for the application. Returns public keys and metadata (private keys are not stored by eBay).

ebay_create_signing_keyA

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.

ebay_get_signing_keyA

Get a specific signing key by ID. Returns public key and metadata (private key is not stored by eBay).

ebay_get_active_listingsA

Get all active listings (fixed-price and auction) with SKU, quantity, price, and watch count.

Uses the Trading API (GetMyeBaySelling). Returns listings created via any method (UI, Trading API, or REST API); ListingType is Chinese for auctions and FixedPriceItem for fixed price.

Required: User OAuth token.

ebay_get_listingA

Get full details for a single listing by item ID.

Uses the Trading API (GetItem). Returns all listing fields including description, specifics, shipping, images, and ListingType (Chinese = auction, FixedPriceItem = fixed price).

Required: User OAuth token.

ebay_create_listingA

Create a new fixed-price listing or auction.

Uses the Trading API: AddFixedPriceItem for format FIXED_PRICE (default) and AddItem with ListingType Chinese for format AUCTION. Requires complete item details.

AUCTION items take StartPrice as the opening bid, a day-count ListingDuration (Days_1/3/5/7/10; never GTC), Quantity 1, an optional ReservePrice above the opening bid, an optional BuyItNowPrice at least 30% above it, and Best Offer only without a BuyItNowPrice. FIXED_PRICE items take StartPrice as the price and ListingDuration GTC (the only fixed-price duration eBay accepts), and cannot carry ReservePrice or BuyItNowPrice. Payloads that mix the two formats are rejected before any eBay request. Reserve prices carry an eBay fee.

Required: User OAuth token.

ebay_revise_listingA

Revise an existing listing. Update quantity, price, title, description, or any other field.

Uses the Trading API: ReviseFixedPriceItem for format FIXED_PRICE (default) and ReviseItem for format AUCTION (check ListingType with ebay_get_listing when unsure; eBay limits auction revisions once bids exist). Only send the fields you want to change.

Examples:

  • Update quantity: { "Quantity": 10 }

  • Update price: { "StartPrice": 14.99 }

  • Update title: { "Title": "New Title" }

  • Raise an auction reserve: { "format": "AUCTION", "fields": { "ReservePrice": 30 } }

AUCTION items take StartPrice as the opening bid, a day-count ListingDuration (Days_1/3/5/7/10; never GTC), Quantity 1, an optional ReservePrice above the opening bid, an optional BuyItNowPrice at least 30% above it, and Best Offer only without a BuyItNowPrice. FIXED_PRICE items take StartPrice as the price and ListingDuration GTC (the only fixed-price duration eBay accepts), and cannot carry ReservePrice or BuyItNowPrice. Payloads that mix the two formats are rejected before any eBay request.

Required: User OAuth token.

ebay_end_listingA

End/remove an active listing.

Uses the Trading API: EndFixedPriceItem for format FIXED_PRICE (default) and EndItem for format AUCTION. SellToHighBidder is only valid for auctions with bids.

Required: User OAuth token.

ebay_relist_itemA

Relist an ended listing, optionally with modifications.

Uses the Trading API: RelistFixedPriceItem for format FIXED_PRICE (default) and RelistItem for format AUCTION.

AUCTION items take StartPrice as the opening bid, a day-count ListingDuration (Days_1/3/5/7/10; never GTC), Quantity 1, an optional ReservePrice above the opening bid, an optional BuyItNowPrice at least 30% above it, and Best Offer only without a BuyItNowPrice. FIXED_PRICE items take StartPrice as the price and ListingDuration GTC (the only fixed-price duration eBay accepts), and cannot carry ReservePrice or BuyItNowPrice. Payloads that mix the two formats are rejected before any eBay request.

Required: User OAuth token.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
eBay table view
eBay detail card view
eBay chart view
eBay stat grid view

TDQS

C2.8/5.0

Scored across 384 tools

Disambiguation2/5

With 384 tools spanning dozens of eBay APIs, there are many overlapping tool families: two parallel listing models (Trading `ebay_create_listing`/`ebay_revise_listing` vs Inventory `ebay_create_offer`/`ebay_publish_offer`), multiple search entry points (`search`, `fetch`, `ebay_find_active_items`, `ebay_find_completed_items`), and near-duplicate Marketing sets (`ebay_create_ad` vs `ebay_create_ads_by_inventory_reference` vs `ebay_create_ad_by_listing_id`, plus bulk variants). The unprefixed `search`/`fetch` tools are particularly hard to place against the `ebay_*` surface. Descriptions do name the underlying API, which helps, but the boundaries between sibling tools remain genuinely blurry at this scale.

Naming Consistency4/5

The overwhelming majority of tools follow a consistent `ebay_<verb>_<noun>` snake_case convention (get/create/update/delete/bulk_*), which is highly predictable. The main deviations are the two unprefixed tools (`search`, `fetch`) and occasional awkward ordering/pluralization (`ebay_bulk_create_ads_by_listing_id`, `ebay_create_ad_by_listing_id`, `ebay_setup_quick_campaign`). These are minor relative to the overall pattern.

Tool Count1/5

384 tools is an extreme mismatch for any coherent toolset, far beyond the 3-15 sweet spot. Even granting that eBay exposes a vast public API surface, this is essentially a one-to-one wrapper of hundreds of endpoints, making selection and maintenance impractical for an agent.

Completeness4/5

Coverage is exceptionally broad across sell, buy, marketing, finances, feeds, stores, media, metadata, notifications, feedback, and VERO domains, so almost no workflow dead-ends exist. The deduction is for dead or deprecated entries (`ebay_get_listing_violations` and `_summary` are decommissioned and always fail, payments-program tools are marked deprecated) and a few threadbare singular/plural pairs that leave minor gaps.

Maintenance

ActivityActive
ResponsivenessResponsive