eBay Seller MCP Server
Provides comprehensive access to eBay's Sell APIs, including 325 tools for inventory management, order fulfillment, marketing campaigns, analytics, and developer tools.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@eBay Seller MCP Server list my active eBay listings"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
eBay API MCP Server
A Model Context Protocol (MCP) server providing AI assistants with comprehensive access to eBay's Sell APIs. Includes 325 tools for inventory management, order fulfillment, marketing campaigns, analytics, developer tools, and more.
API Coverage: 100% (270 unique eBay API endpoints)
One-Click AI Setup
Let your AI assistant set this up for you! Copy the prompt below and paste it into Claude, ChatGPT, or any AI assistant with MCP support.
I want to set up the eBay MCP Server for my AI assistant. Please help me:
1. Install the eBay MCP server:
npm install -g ebay-mcp
2. I need to configure it for [Claude Desktop / Cursor / Cline / Zed / Continue.dev / Windsurf / Claude Code CLI / Amazon Q] (choose one)
3. My eBay credentials are:
- Client ID: [YOUR_CLIENT_ID]
- Client Secret: [YOUR_CLIENT_SECRET]
- Environment: [sandbox / production]
- Redirect URI (RuName): [YOUR_REDIRECT_URI]
Please:
- Create the appropriate config file for my MCP client
- Set up the environment variables
- Help me complete the OAuth flow to get a refresh token for higher rate limits
- Test that the connection works
If I don't have eBay credentials yet, guide me through creating a developer account at https://developer.ebay.com/Related MCP server: SellerChamp MCP Server
⚠️ Disclaimer
IMPORTANT: Please read this disclaimer carefully before using this software.
This is an open-source project provided "as is" without warranty of any kind, either express or implied. By using this software, you acknowledge and agree to the following:
No Liability: The authors, contributors, and maintainers of this project accept NO responsibility or liability for any damages, losses, or issues that may arise from using this software, including but not limited to:
Data loss or corruption
Financial losses
Service disruptions
eBay account suspension or termination
Violations of eBay's Terms of Service or API usage policies
Any other direct or indirect damages
eBay API Usage: This project is an unofficial third-party implementation and is NOT affiliated with, endorsed by, or sponsored by eBay Inc. You are solely responsible for:
Complying with eBay's API Terms of Use
Ensuring your usage stays within eBay's rate limits and policies
Managing your eBay Developer credentials securely
Understanding and complying with eBay's data handling requirements
Any actions performed through the API
Use at Your Own Risk: This software is provided for educational and development purposes. Users must:
Test thoroughly in eBay's sandbox environment before production use
Understand the API calls being made on their behalf
Maintain backups of critical data
Monitor their API usage and account status
Security: You are responsible for:
Keeping your API credentials secure
Properly configuring environment variables
Understanding the security implications of MCP server usage
Following security best practices
No Warranty: This software is provided without any guarantees of functionality, reliability, or fitness for a particular purpose.
By using this software, you accept all risks and agree to hold harmless the authors, contributors, and maintainers from any claims, damages, or liabilities.
For official eBay API support, please refer to the eBay Developer Program.
Table of Contents
Features
325 eBay API Tools - 100% coverage of eBay Sell APIs across inventory, orders, marketing, analytics, developer tools, and more
9 AI Clients Supported - Auto-configuration for Claude Desktop, Cursor, Zed, Cline, Continue.dev, Windsurf, Roo Code, Claude Code CLI, and Amazon Q
OAuth 2.0 Support - Full user token management with automatic refresh
Type Safety - Built with TypeScript, Zod validation, and OpenAPI-generated types
MCP Integration - STDIO transport for direct integration with AI assistants
Smart Authentication - Automatic fallback from user tokens (10k-50k req/day) to client credentials (1k req/day)
Well Tested - 958+ tests with comprehensive coverage
Interactive Setup Wizard - Run
npm run setupfor guided configuration with auto browser-open for OAuthDeveloper Analytics - Rate limit monitoring and signing key management
Quick Start
1. Get eBay Credentials
Create a free eBay Developer Account
Generate application keys in the Developer Portal
Save your Client ID and Client Secret
2. Install
Option A: Install from npm (Recommended)
npm install -g ebay-mcpOption B: Install from source
git clone https://github.com/jyarbro/ebay-seller-mcp.git
cd ebay-seller-mcp
npm install
npm run build3. Run Setup Wizard
The interactive setup wizard handles everything for you:
npm run setupBuilt with a standard Node CLI prompt stack for reliable interactive setup.
The wizard will:
Configure your eBay credentials
Set up OAuth authentication (for higher rate limits)
Auto-detect and configure your MCP client (Claude Desktop, etc.)
Save all configuration automatically
Demo
See the eBay MCP Server in action with Claude Desktop:
https://github.com/user-attachments/assets/0173c8df-221c-4943-a4ce-cd20bce79f4b
Visual Setup Guide
The setup wizard (npm run setup) handles OAuth authentication automatically. Here's where to find your credentials in the eBay Developer Portal:
Finding Your Credentials
Step 1: Navigate to eBay Developer Portal and copy your App ID (Client ID) and Cert ID (Client Secret):

Step 2: In your app's User Tokens settings, copy the RuName (eBay Redirect URL):

Running the Setup Wizard
Run npm run setup and enter your credentials when prompted. The wizard will:
Open your browser for OAuth login automatically
Guide you through the eBay sign-in process

Ask you to paste the authorization code from the callback URL

Exchange the code for tokens and save them automatically
Configure your MCP client (Claude Desktop, etc.)
Success! You now have user token authentication with 10k-50k requests/day instead of the default 1k/day.
4. Use
Restart your MCP client (Claude Desktop, etc.) and start using eBay tools through your AI assistant.
Configuration
📖 For a comprehensive configuration guide with detailed explanations of all environment variables, OAuth flow steps, and troubleshooting, see Configuration Documentation.
Environment Variables
The setup wizard (npm run setup) automatically creates and configures your .env file. For reference, these are the environment variables used:
EBAY_CLIENT_ID=your_client_id
EBAY_CLIENT_SECRET=your_client_secret
EBAY_ENVIRONMENT=sandbox # or "production"
EBAY_REDIRECT_URI=your_runame
EBAY_MARKETPLACE_ID=EBAY_US # Default marketplace (overridable by many tools)
EBAY_CONTENT_LANGUAGE=en-US # Default request content language (global)
EBAY_USER_REFRESH_TOKEN=your_refresh_token # For higher rate limitsOAuth Authentication
Client Credentials (Default): 1,000 requests/day - works automatically with just Client ID and Secret.
User Tokens (Recommended): 10,000-50,000 requests/day - the setup wizard handles the OAuth flow automatically. Tokens refresh automatically.
For detailed OAuth setup and comprehensive configuration guide, see the Configuration Documentation.
MCP Client Compatibility
This server supports 9 AI clients with auto-configuration via npm run setup:
Client | Platform | Config Path | Status |
Claude Desktop | macOS, Windows, Linux |
| ✅ Auto-configured |
Cursor IDE | macOS, Windows, Linux |
| ✅ Auto-configured |
Zed Editor | macOS, Windows, Linux |
| ✅ Auto-configured |
Cline | VSCode Extension |
| ✅ Auto-configured |
Continue.dev | VSCode, JetBrains |
| ✅ Auto-configured |
Windsurf (Codeium) | macOS, Windows, Linux |
| ✅ Auto-configured |
Roo Code | VSCode Extension |
| ✅ Auto-configured |
Claude Code CLI | Terminal |
| ✅ Auto-configured |
Amazon Q Developer | AWS |
| ✅ Auto-configured |
Configuration Requirements:
MCP Protocol version: 1.0+
Transport: STDIO (default) or HTTP
Node.js runtime: 18.0.0 or higher
Quick Setup for Any Client:
npm install -g ebay-mcp
npx ebay-mcp setup # Interactive setup wizard - auto-detects installed clientsThe setup wizard will automatically detect which AI clients you have installed and configure them for you.
Rate Limiting
Understanding eBay API rate limits is crucial for production use:
Client Credentials (Default):
Daily Limit: 1,000 requests per day
Best For: Development, testing, low-volume operations
Setup: Automatic with just Client ID and Secret
User Token (Recommended):
Daily Limit: 10,000-50,000 requests per day (varies by account type)
Best For: Production, high-volume operations
Setup: Requires OAuth flow (use
ebay_get_oauth_urltool)
Rate Limit Tiers by Account Type:
Individual Developer: 10,000 requests/day
Commercial Developer: 25,000 requests/day
Enterprise: 50,000+ requests/day (custom limits)
Rate Limit Best Practices:
Use user tokens for production workloads
Implement exponential backoff on rate limit errors
Cache responses when possible
Monitor your usage in the eBay Developer Portal
Batch operations when the API supports it
Consider upgrading your developer account tier for higher limits
Handling Rate Limits:
When you hit a rate limit, the API returns a 429 status code. The server will:
Automatically retry with exponential backoff
Inform you of rate limit errors
Suggest upgrading to user token authentication
Check Current Usage:
Monitor your API usage in the eBay Developer Portal.
Available Tools
The server provides 325 tools with 100% API coverage organized into the following categories:
Account Management - Policies, programs, subscriptions, sales tax
Inventory Management - Items, offers, locations, bulk operations, SKU location mapping
Order Fulfillment - Orders, shipping, refunds, disputes, payment dispute evidence
Marketing & Promotions - Campaigns, ads, promotions, bidding, bulk operations
Analytics - Traffic reports, seller standards, metrics
Communication - Buyer-seller messaging, negotiations, notifications, feedback
Metadata & Taxonomy - Categories, item aspects, policies
Developer Tools - Rate limits, signing keys, client registration
Token Management - OAuth URL generation, token management
Example Tools:
ebay_get_inventory_items- List all inventory itemsebay_get_orders- Retrieve seller ordersebay_create_offer- Create new listing offerebay_get_campaigns- Get marketing campaignsebay_get_oauth_url- Generate OAuth authorization URL
For the complete tool list, see src/tools/definitions/.
Usage Examples
Here are some common tasks you can accomplish with the eBay MCP server:
Setting Up OAuth for Higher Rate Limits
User: "Can you help me set up OAuth authentication for my eBay account?"
Assistant: Uses ebay_get_oauth_url tool to generate an authorization URL. You visit the URL, grant permissions, and the assistant helps you configure the refresh token in your .env file.
Result: Access to 10,000-50,000 API requests per day instead of 1,000.
Managing Inventory
User: "Show me all my active listings on eBay"
Assistant: Uses ebay_get_inventory_items to retrieve all inventory items.
Result: Displays a formatted list of all your products with SKUs, quantities, and status.
Processing Orders
User: "Get all unfulfilled orders from the last 7 days"
Assistant: Uses ebay_get_orders with date filters and fulfillment status parameters.
Result: Returns a list of pending orders ready for shipment processing.
Creating Marketing Campaigns
User: "Create a promoted listing campaign for my electronics category"
Assistant: Uses ebay_create_campaign and related marketing tools to set up ad campaigns.
Result: New campaign created with specified budget and target items.
Bulk Operations
User: "Update prices for all items in category 'Vintage Watches' with a 10% discount"
Assistant: Combines ebay_get_inventory_items, filters by category, and uses ebay_update_offer to apply bulk pricing changes.
Result: All matching items updated with new pricing.
Development
Prerequisites
Node.js >= 18.0.0
npm or pnpm
eBay Developer Account
Quick Start for Contributors
git clone https://github.com/jyarbro/ebay-seller-mcp.git
cd ebay-seller-mcp
npm install
npm run setup # Interactive setup wizard
npm run build
npm testCommands Reference
Command | Description |
| Compile TypeScript to JavaScript |
| Run the MCP server |
| Run server with hot reload |
| Run test suite |
| Interactive setup wizard |
| Sync specs, generate types, find missing endpoints |
| Check configuration and connectivity |
| Run typecheck + lint + format check |
| Auto-fix lint and format issues |
Adding New API Endpoints
When eBay releases new API endpoints, use the sync tool to identify what's missing:
npm run syncThis single command will:
Download latest OpenAPI specs from eBay
Generate TypeScript types from specs
Analyze which endpoints are implemented
Report missing endpoints that need tools
Workflow for adding a new endpoint:
Run
npm run syncto identify missing endpointsCheck
dev-sync-report.jsonfor the full listCreate a new tool in
src/tools/definitions/Add the API method in
src/api/Write tests in
tests/Run
npm run check && npm test
Project Structure
ebay-mcp/
├── src/
│ ├── index.ts # MCP server entry point
│ ├── api/ # eBay API implementations
│ ├── auth/ # OAuth & token management
│ ├── tools/ # MCP tool definitions
│ ├── types/ # TypeScript types (auto-generated)
│ ├── scripts/ # CLI tools (setup, sync, diagnose)
│ └── utils/ # Shared utilities
├── docs/ # OpenAPI specs (auto-downloaded)
├── tests/ # Test suite
└── build/ # Compiled outputDocker Support
docker-compose up -d # Start container
docker-compose logs -f # View logs
docker-compose down # Stop containerFor detailed contribution guidelines, see CONTRIBUTING.md.
Contributing
Contributions are welcome! Here's how to get started:
Fork the repository
Create a feature branch:
git checkout -b feature/my-featureMake your changes and add tests
Run quality checks:
npm run check && npm testCommit using Conventional Commits
Push to your fork and open a Pull Request
Before submitting:
Ensure all tests pass
Follow TypeScript best practices
Update documentation as needed
Maintain test coverage
See CONTRIBUTING.md for detailed guidelines.
Logging
The server includes Winston-based logging for easier debugging. Logs are output to stderr (compatible with MCP protocol) and optionally to files.
Log Levels
Set the log level via environment variable:
EBAY_LOG_LEVEL=debug # Options: error, warn, info, http, verbose, debug, sillyFile Logging
Enable file logging for persistent logs:
EBAY_ENABLE_FILE_LOGGING=trueLog files are stored in ~/.ebay-mcp/logs/:
error.log- Error-level messages onlycombined.log- All log messagesdebug.log- Debug and verbose messages
Log Output Example
[2024-01-15 10:30:45] [INFO] [Server] Starting eBay API MCP Server
[2024-01-15 10:30:45] [INFO] [Auth] Loading tokens from environment variables
[2024-01-15 10:30:46] [INFO] [Auth] Access token refreshed successfully
[2024-01-15 10:30:46] [HTTP] [API] Request: GET https://api.ebay.com/sell/inventory/v1/inventory_item
[2024-01-15 10:30:47] [HTTP] [API] Response: 200 OKTroubleshooting
Common Issues
Server Not Appearing in Claude Desktop
Problem: The eBay MCP server doesn't show up in your MCP client.
Solutions:
Verify the config file path is correct for your OS
Check JSON syntax is valid (use a JSON validator)
Ensure environment variables are properly set
Restart Claude Desktop completely
Check Claude Desktop logs for error messages
Authentication Errors
Problem: "Invalid credentials" or "Authentication failed" errors.
Solutions:
Verify your
EBAY_CLIENT_IDandEBAY_CLIENT_SECRETare correctEnsure you're using the right environment (sandbox vs production)
Check if your app keys are active in the eBay Developer Portal
For user tokens, verify your
EBAY_USER_REFRESH_TOKENis validRun
npm run diagnoseto check your configuration
Rate Limit Errors
Problem: "Rate limit exceeded" errors.
Solutions:
Upgrade to user token authentication (10k-50k requests/day)
Implement request throttling in your usage
Check your current rate limit in the Developer Portal
Consider upgrading your eBay Developer account tier
Tools Not Working Correctly
Problem: Tools return unexpected errors or empty results.
Solutions:
Verify you're using the correct environment (sandbox vs production)
Ensure you have proper permissions/scopes for the operation
Check current API status with the
ebay_get_api_statustool or the eBay API Status pageRun
npm run diagnoseto check your configurationReview the eBay API documentation for endpoint requirements
Diagnostic Tools
Run diagnostics to troubleshoot configuration issues:
# Interactive diagnostics
npm run diagnose
# Export diagnostic report
npm run diagnose:exportThe diagnostic tool checks:
Environment variable configuration
eBay API connectivity
Authentication status
Token validity
Available scopes and permissions
Getting Help
If you're still experiencing issues:
Check existing GitHub Issues
Create a new issue with:
Your diagnostic report (
npm run diagnose:export)Steps to reproduce the problem
Error messages or logs
Your environment (OS, Node version, MCP client)
Resources
API Status
Check current eBay API health, incidents, and fixes:
eBay API Status - Official status page
API Status RSS feed - Latest issues and resolutions (XML)
ebay_get_api_status- MCP tool that returns the latest items from this feed (filter by status or API name, optional limit)Latest snapshot (auto-updated) - In-repo digest of recent status items
Documentation
eBay Developer Portal - API documentation and credentials
eBay API License Agreement - Terms of use and compliance requirements
eBay Data Handling Requirements - Important data protection and privacy guidelines
MCP Documentation - Model Context Protocol specification
OAuth Quick Reference - Complete OAuth authentication guide with scopes, troubleshooting, and examples
OAuth Setup Guide - Detailed authentication configuration
Contributing Guidelines - How to contribute to this project
Code of Conduct - Community guidelines and expectations
Changelog - Version history and release notes
Security Policy - Vulnerability reporting guidelines
Support
Issue Tracker - Bug reports and feature requests
Bug Report Template - Detailed bug reporting guide
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
eBay Developers Program for API access
Model Context Protocol for the MCP specification
Forked from https://github.com/YosefHayim/ebay-mcp
Available Tools
332 toolsebay_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
Inputs: paymentDisputeId (required), returnAddress, revisionNumber.
ebay_add_payment_dispute_evidenceC
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
Inputs: paymentDisputeId (required), files, lineItems, evidenceId, +1 more.
ebay_bulk_cancel_packagesB
Cancel multiple packages in one request
Inputs: bulkCancelRequest (required).
ebay_bulk_confirm_packagesB
Confirm multiple packages in one request
Inputs: bulkConfirmRequest (required).
ebay_bulk_create_ad_group_negative_keywordsC
Create multiple ad group-level negative keywords.
Inputs: adGroupId (required), campaignId (required), negativeKeywords (required).
ebay_bulk_create_ads_by_inventory_referenceB
Create multiple ads using Inventory API references (SKU/inventory item group key). CPS campaigns only.
Inputs: ads (required), campaignId (required).
ebay_bulk_create_ads_by_listing_idA
Create multiple ads using listing IDs. Maximum 500 listings per call. Supports both CPS and CPC campaigns.
Inputs: ads (required), campaignId (required).
ebay_bulk_create_campaign_keywordC
Bulk create keywords at the campaign level.
Inputs: keywords (required), campaignId (required).
ebay_bulk_create_campaign_negative_keywordsB
Create multiple campaign-level negative keywords.
Inputs: campaignId (required), negativeKeywords (required).
ebay_bulk_create_keywordsB
Create multiple keywords in a campaign. Maximum recommended per call varies by eBay.
Inputs: keywords (required), campaignId (required).
ebay_bulk_create_offerC
Bulk create multiple offers
Inputs: requests (required).
ebay_bulk_create_or_replace_inventory_itemB
Bulk create or replace multiple inventory items
Inputs: requests (required).
ebay_bulk_create_or_replace_sales_taxB
Bulk create or replace sales tax tables
Inputs: requests (required).
ebay_bulk_delete_ad_group_negative_keywordsB
Delete multiple ad group-level negative keywords.
Inputs: adGroupId (required), campaignId (required), negativeKeywords (required).
ebay_bulk_delete_ads_by_inventory_referenceB
Delete multiple ads by inventory reference. CPS campaigns only.
Inputs: ads (required), campaignId (required).
ebay_bulk_delete_ads_by_listing_idA
Delete multiple ads by listing ID. CPS campaigns only.
Inputs: ads (required), campaignId (required).
ebay_bulk_delete_campaign_negative_keywordsB
Delete multiple campaign-level negative keywords.
Inputs: campaignId (required), negativeKeywords (required).
ebay_bulk_delete_keywordsC
Delete multiple keywords from a campaign.
Inputs: keywords (required), campaignId (required).
ebay_bulk_delete_packagesB
Delete multiple packages in one request
Inputs: bulkDeleteRequest (required).
ebay_bulk_get_inventory_itemC
Bulk get multiple inventory items
Inputs: requests (required).
ebay_bulk_migrate_listingC
Bulk migrate listings to the inventory model
Inputs: requests (required).
ebay_bulk_publish_offerC
Bulk publish multiple offers
Inputs: requests (required).
ebay_bulk_update_ad_group_negative_keywordsC
Update multiple ad group-level negative keywords.
Inputs: adGroupId (required), campaignId (required), negativeKeywords (required).
ebay_bulk_update_ads_bid_by_inventory_referenceA
Update bid percentages for multiple ads by inventory reference. CPS campaigns only.
Inputs: ads (required), campaignId (required).
ebay_bulk_update_ads_bid_by_listing_idA
Update bid percentages for multiple ads by listing ID. CPS campaigns only.
Inputs: ads (required), campaignId (required).
ebay_bulk_update_ads_statusB
Update status for multiple ads. CPC priority strategy campaigns only.
Inputs: ads (required), campaignId (required).
ebay_bulk_update_ads_status_by_listing_idC
Update status for multiple ads by listing ID. CPC priority strategy campaigns only.
Inputs: ads (required), campaignId (required).
ebay_bulk_update_campaign_keywordC
Bulk update keywords at the campaign level.
Inputs: keywords (required), campaignId (required).
ebay_bulk_update_campaign_negative_keywordsC
Update multiple campaign-level negative keywords.
Inputs: campaignId (required), negativeKeywords (required).
ebay_bulk_update_conversationB
Bulk update multiple conversations (read status, flagged, etc.)
Inputs: conversations (required).
ebay_bulk_update_keyword_bidsC
Update bids for multiple keywords.
Inputs: keywords (required), campaignId (required).
ebay_bulk_update_price_quantityB
Bulk update price and quantity for multiple offers
Inputs: requests (required).
ebay_cancel_bundleC
Cancel a bundle by ID
Inputs: bundleId (required).
ebay_cancel_packageB
Cancel a package by ID
Inputs: packageId (required).
ebay_clear_tokensA
Clear all stored OAuth tokens (both user tokens and client credentials). This will require re-authentication for subsequent API calls.
Inputs: no named parameters.
ebay_clone_adC
Clone an ad within a campaign.
Inputs: adId (required), campaignId (required).
ebay_clone_ad_groupC
Clone an ad group within a campaign.
Inputs: adGroupId (required), campaignId (required).
ebay_clone_campaignB
Clone an existing campaign with new settings. Useful for creating campaigns with modified budget or duration.
Inputs: cloneData (required), campaignId (required).
ebay_clone_packageB
Clone a package to create a duplicate
Inputs: packageId (required).
ebay_confirm_packageC
Confirm a package for shipping
Inputs: packageId (required).
ebay_contest_payment_disputeB
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
Inputs: paymentDisputeId (required), returnAddress, revisionNumber.
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.
Inputs: dateInput (required).
ebay_create_adB
Create a single ad in a campaign. Supports both CPS and CPC campaigns.
Inputs: ad (required), campaignId (required).
ebay_create_address_preferenceB
Create an address preference for international shipping
Inputs: addressPreference (required).
ebay_create_ad_groupB
Create an ad group for manual targeting in a CPC campaign. Required for CPC campaigns with manual targeting.
Inputs: adGroup (required), campaignId (required).
ebay_create_ad_group_negative_keywordB
Create an ad group-level negative keyword. Prevents ads in this ad group from showing for this keyword.
Inputs: adGroupId (required), campaignId (required), negativeKeyword (required).
ebay_create_ads_by_inventory_referenceC
Create ads using Inventory API references. CPS campaigns only.
Inputs: ads (required), campaignId (required).
ebay_create_bundleC
Create a bundle of packages for international shipping
Inputs: bundleRequest (required).
ebay_create_campaignB
Create a new marketing campaign. Supports both CPS (Cost Per Sale) and CPC (Cost Per Click) campaigns.
Inputs: campaign (required).
ebay_create_campaign_negative_keywordA
Create a campaign-level negative keyword. Prevents ads from showing for this keyword across entire campaign.
Inputs: campaignId (required), negativeKeyword (required).
ebay_create_complaintB
Create a complaint for international shipping issues
Inputs: complaintRequest (required).
ebay_create_consign_preferenceB
Create a consign preference for international shipping
Inputs: consignPreference (required).
ebay_create_custom_policyB
Create a new custom policy
Inputs: policy (required).
ebay_create_email_campaignB
Create a new email marketing campaign.
Inputs: emailCampaign (required).
ebay_create_fulfillment_policyC
Create a new fulfillment policy.
Required OAuth Scope: sell.account Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.account
Inputs: policy (required).
ebay_create_inventory_itemC
Create or replace an inventory item.
Required OAuth Scope: sell.inventory Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.inventory
Inputs: sku (required), inventoryItem (required).
ebay_create_item_price_markdown_promotionB
Create an item price markdown promotion (sale pricing).
Inputs: promotion (required).
ebay_create_item_promotionC
Create a new item promotion (order discount, volume pricing, etc.).
Inputs: promotion (required).
ebay_create_keywordC
Create a keyword for manual targeting in a CPC campaign ad group.
Inputs: keyword (required), campaignId (required).
ebay_create_listingB
Create a new fixed-price listing.
Uses the Trading API (AddFixedPriceItem). Requires complete item details.
Required: User OAuth token.
Inputs: item (required).
ebay_create_notification_destinationC
Create a notification destination
Inputs: destination (required).
ebay_create_notification_subscriptionC
Create a notification subscription
Inputs: status, payload, topic_id, destination_id.
ebay_create_notification_subscription_filterC
Create a filter for a notification subscription
Inputs: subscription_id (required), filter_schema.
ebay_create_offerC
Create a new offer for an inventory item
Inputs: offer (required).
ebay_create_or_replace_inventory_item_groupC
Create or replace an inventory item group
Inputs: inventoryItemGroup (required), inventoryItemGroupKey (required).
ebay_create_or_replace_inventory_locationC
Create or replace an inventory location
Inputs: location (required), merchantLocationKey (required).
ebay_create_or_replace_product_compatibilityC
Create or replace product compatibility for an inventory item
Inputs: sku (required), compatibility (required).
ebay_create_or_replace_sales_taxB
Create or replace sales tax table for a jurisdiction
Inputs: countryCode (required), salesTaxBase (required), jurisdictionId (required).
ebay_create_or_replace_sku_location_mappingB
Create or replace SKU location mapping for a listing. Maps a SKU to multiple fulfillment center locations.
Required OAuth Scope: sell.inventory Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.inventory
Inputs: sku (required), listingId (required), locationMapping (required).
ebay_create_packageC
Create a package for international shipping
Inputs: packageRequest (required).
ebay_create_payment_policyB
Create a new payment policy
Inputs: policy (required).
ebay_create_report_taskC
Create an asynchronous report generation task. Reports are generated in the background.
Inputs: reportTask (required).
ebay_create_return_policyC
Create a new return policy
Inputs: policy (required).
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
Inputs: orderId (required), fulfillment (required).
ebay_create_shipping_quoteC
Create a shipping quote for international shipping
Inputs: shippingQuoteRequest (required).
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.
Inputs: signingKeyCipher.
ebay_create_targetingC
Create targeting configuration for a campaign.
Inputs: targeting (required), campaignId (required).
ebay_create_vero_reportA
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.
Inputs: reportData (required).
ebay_delete_adC
Delete a specific ad from a campaign.
Inputs: adId (required), campaignId (required).
ebay_delete_ad_group_negative_keywordC
Delete an ad group-level negative keyword.
Inputs: adGroupId (required), campaignId (required), negativeKeywordId (required).
ebay_delete_ads_by_inventory_referenceC
Delete ads by inventory reference for a CPS campaign.
Inputs: campaignId (required), inventoryReferenceId (required), inventoryReferenceType (required).
ebay_delete_campaignA
Permanently delete a marketing campaign. This action cannot be undone.
Inputs: campaignId (required).
ebay_delete_campaign_negative_keywordC
Delete a campaign-level negative keyword.
Inputs: campaignId (required), negativeKeywordId (required).
ebay_delete_custom_policyB
Delete a custom policy
Inputs: customPolicyId (required).
ebay_delete_email_campaignC
Delete an email campaign.
Inputs: emailCampaignId (required).
ebay_delete_fulfillment_policyB
Delete a fulfillment policy
Inputs: fulfillmentPolicyId (required).
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
Inputs: sku (required).
ebay_delete_inventory_item_groupC
Delete an inventory item group
Inputs: inventoryItemGroupKey (required).
ebay_delete_inventory_locationB
Delete an inventory location
Inputs: merchantLocationKey (required).
ebay_delete_item_price_markdown_promotionB
Delete an item price markdown promotion.
Inputs: promotionId (required).
ebay_delete_item_promotionB
Delete an item promotion.
Inputs: promotionId (required).
ebay_delete_keywordB
Delete a specific keyword from a campaign.
Inputs: keywordId (required), campaignId (required).
ebay_delete_notification_destinationC
Delete a notification destination
Inputs: destination_id (required).
ebay_delete_notification_subscriptionC
Delete a notification subscription
Inputs: subscription_id (required).
ebay_delete_notification_subscription_filterC
Delete a subscription filter
Inputs: filter_id (required), subscription_id (required).
ebay_delete_offerC
Delete an offer
Inputs: offerId (required).
ebay_delete_packageB
Delete a package by ID
Inputs: packageId (required).
ebay_delete_payment_policyB
Delete a payment policy
Inputs: paymentPolicyId (required).
ebay_delete_product_compatibilityB
Delete product compatibility for an inventory item
Inputs: sku (required).
ebay_delete_report_taskA
Delete a report task. Only completed or failed tasks can be deleted.
Inputs: reportTaskId (required).
ebay_delete_return_policyB
Delete a return policy
Inputs: returnPolicyId (required).
ebay_delete_sales_taxB
Delete sales tax table for a jurisdiction
Inputs: countryCode (required), jurisdictionId (required).
ebay_delete_sku_location_mappingA
Delete SKU location mapping for a listing. Removes all fulfillment center location mappings for a SKU.
Required OAuth Scope: sell.inventory Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.inventory
Inputs: sku (required), listingId (required).
ebay_disable_inventory_locationB
Disable an inventory location
Inputs: merchantLocationKey (required).
ebay_disable_notification_subscriptionC
Disable a notification subscription
Inputs: subscription_id (required).
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.
Inputs: no named parameters.
ebay_enable_inventory_locationB
Enable an inventory location
Inputs: merchantLocationKey (required).
ebay_enable_notification_subscriptionC
Enable a notification subscription
Inputs: subscription_id (required).
ebay_end_campaignA
Permanently end a marketing campaign. Cannot be restarted after ending.
Inputs: campaignId (required).
ebay_end_listingB
End/remove an active fixed-price listing.
Uses the Trading API (EndFixedPriceItem).
Required: User OAuth token.
Inputs: itemId (required), reason.
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
Inputs: code (required).
ebay_fetch_payment_dispute_evidence_contentB
Download evidence file content from a payment dispute.
Required OAuth Scope: sell.fulfillment Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.fulfillment
Inputs: fileId (required), evidenceId (required), paymentDisputeId (required).
ebay_find_campaign_by_ad_referenceB
Find a campaign by listing ID or inventory reference.
Inputs: listingId, inventoryReferenceId, inventoryReferenceType.
ebay_find_listing_recommendationsC
Find listing recommendations for items. Returns suggestions to improve listing performance.
Inputs: limit, filter, offset, listingIds, +1 more.
ebay_find_seller_standards_profilesA
Find all seller standards profiles
Inputs: no named parameters.
ebay_get_active_listingsA
Get all active fixed-price listings with SKU, quantity, price, and watch count.
Uses the Trading API (GetMyeBaySelling). Returns listings created via any method (UI, Trading API, or REST API).
Required: User OAuth token.
Inputs: page, entriesPerPage.
ebay_get_actual_costsB
Get actual costs for shipped packages
Inputs: params.
ebay_get_adB
Get details of a specific ad in a campaign.
Inputs: adId (required), campaignId (required).
ebay_get_address_preferencesA
Get address preferences for international shipping
Inputs: no named parameters.
ebay_get_ad_groupA
Get details of a specific ad group.
Inputs: adGroupId (required), campaignId (required).
ebay_get_ad_group_negative_keywordB
Get details of a specific ad group-level negative keyword.
Inputs: adGroupId (required), campaignId (required), negativeKeywordId (required).
ebay_get_ad_group_negative_keywordsB
Get all negative keywords for an ad group.
Inputs: adGroupId (required), campaignId (required), limit, offset.
ebay_get_ad_groupsC
Get all ad groups for a campaign.
Inputs: campaignId (required), limit, offset.
ebay_get_ad_reportB
Download a completed ad report by report ID.
Inputs: reportId (required).
ebay_get_ad_report_metadataA
Get metadata for all available report types. Returns dimensions, metrics, and filters.
Inputs: no named parameters.
ebay_get_ad_report_metadata_for_typeC
Get metadata for a specific report type.
Inputs: reportType (required).
ebay_get_adsC
Get all ads for a campaign with optional filters.
Inputs: campaignId (required), limit, offset, adStatus, +2 more.
ebay_get_ads_by_inventory_referenceA
Get ads by inventory reference (SKU or inventory item group key). CPS campaigns only.
Inputs: campaignId (required), inventoryReferenceId (required), inventoryReferenceType (required).
ebay_get_ads_by_listing_idA
Get ads by listing ID. Returns all ads for the specified listing.
Inputs: listingId (required), campaignId (required).
ebay_get_advertising_eligibilityA
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
Inputs: marketplaceId (required), programTypes.
ebay_get_agentsB
Get available shipping agents for international shipping
Inputs: params.
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.
Inputs: api, limit, status.
ebay_get_automotive_parts_compatibility_policiesB
Get automotive parts compatibility policies for a marketplace
Inputs: marketplaceId (required), filter.
ebay_get_awaiting_feedbackC
Get transactions awaiting feedback from the seller
Inputs: sort, limit, filter, offset.
ebay_get_battery_qualificationsB
Get battery qualifications for international shipping
Inputs: params.
ebay_get_bundleB
Get bundle details by ID
Inputs: bundleId (required).
ebay_get_bundle_labelC
Get shipping label for a bundle
Inputs: bundleId (required).
ebay_get_campaignA
Get details of a specific marketing campaign by ID. Returns campaign configuration, status, and statistics.
Inputs: campaignId (required).
ebay_get_campaign_by_nameB
Find a campaign by its name. Returns campaign details if a matching name is found.
Inputs: campaignName (required).
ebay_get_campaign_negative_keywordA
Get details of a specific campaign-level negative keyword.
Inputs: campaignId (required), negativeKeywordId (required).
ebay_get_campaign_negative_keywordsC
Get all campaign-level negative keywords.
Inputs: campaignId (required), limit, offset.
ebay_get_campaignsB
Get all marketing campaigns for the seller. Returns campaigns with status, budget, and performance data.
Inputs: limit, offset, marketplaceId, campaignStatus.
ebay_get_category_policiesC
Get category policies for a marketplace
Inputs: marketplaceId (required), filter.
ebay_get_category_suggestionsB
Get category suggestions based on query
Inputs: query (required), categoryTreeId (required).
ebay_get_category_treeB
Get category tree by ID
Inputs: categoryTreeId (required).
ebay_get_classified_ad_policiesC
Get classified ad policies for a marketplace
Inputs: marketplaceId (required), filter.
ebay_get_compatibilities_by_specificationC
Get compatibilities by specification
Inputs: specification (required).
ebay_get_compatibility_property_namesC
Get compatibility property names
Inputs: data (required).
ebay_get_compatibility_property_valuesC
Get compatibility property values
Inputs: data (required).
ebay_get_consign_preferencesA
Get consign preferences for international shipping
Inputs: no named parameters.
ebay_get_conversationB
Get a specific conversation by ID
Inputs: conversation_id (required).
ebay_get_conversationsC
Get all buyer-seller conversations (paginated)
Inputs: limit, filter, offset.
ebay_get_currenciesC
Get currencies for a marketplace
Inputs: marketplaceId (required).
ebay_get_customer_service_metricC
Get customer service metrics
Inputs: evaluationType (required), evaluationMarketplaceId (required), customerServiceMetricType (required).
ebay_get_custom_policiesB
Retrieve custom policies defined for the seller account
Inputs: policyTypes.
ebay_get_custom_policyA
Get a specific custom policy by ID
Inputs: customPolicyId (required).
ebay_get_default_category_tree_idB
Get the default category tree ID for a marketplace
Inputs: marketplaceId (required).
ebay_get_dropoff_sitesB
Get available dropoff sites for international shipping
Inputs: params (required).
ebay_get_email_audiencesB
Get available audiences for email campaigns.
Inputs: no named parameters.
ebay_get_email_campaignC
Get details of a specific email campaign.
Inputs: emailCampaignId (required).
ebay_get_email_campaignsC
Get all email marketing campaigns.
Inputs: limit, offset.
ebay_get_email_previewC
Get a preview of an email campaign.
Inputs: emailCampaignId (required).
ebay_get_email_reportC
Get performance report for email campaigns.
Inputs: limit, offset.
ebay_get_extended_producer_responsibility_policiesB
Get extended producer responsibility policies for a marketplace
Inputs: marketplaceId (required), filter.
ebay_get_feedbackC
Get feedback for a user by type
Inputs: user_id (required), feedback_type (required), sort, limit, +6 more.
ebay_get_feedback_rating_summaryC
Get feedback rating summary for a user
Inputs: filter (required), user_id (required).
ebay_get_feedback_summaryC
Get feedback summary for the seller
Inputs: no named parameters.
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
Inputs: marketplaceId (required).
ebay_get_fulfillment_policyB
Get a specific fulfillment policy by ID
Inputs: fulfillmentPolicyId (required).
ebay_get_fulfillment_policy_by_nameB
Get a fulfillment policy by name
Inputs: name (required), marketplaceId (required).
ebay_get_handover_sheetC
Get handover sheet for packages
Inputs: params.
ebay_get_hazardous_materials_labelsB
Get hazardous materials labels for a marketplace
Inputs: marketplaceId (required).
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
Inputs: sku (required).
ebay_get_inventory_item_groupB
Get an inventory item group (variation group)
Inputs: inventoryItemGroupKey (required).
ebay_get_inventory_itemsA
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
Inputs: limit, offset.
ebay_get_inventory_locationB
Get a specific inventory location
Inputs: merchantLocationKey (required).
ebay_get_inventory_locationsC
Get all inventory locations
Inputs: limit, offset.
ebay_get_item_aspects_for_categoryC
Get item aspects for a specific category
Inputs: categoryId (required), categoryTreeId (required).
ebay_get_item_condition_policiesB
Get item condition policies for a marketplace
Inputs: marketplaceId (required), filter.
ebay_get_item_price_markdown_promotionB
Get details of a specific item price markdown promotion.
Inputs: promotionId (required).
ebay_get_item_promotionC
Get details of a specific item promotion.
Inputs: promotionId (required).
ebay_get_keywordB
Get details of a specific keyword.
Inputs: keywordId (required), campaignId (required).
ebay_get_keywordsB
Get all keywords for a campaign.
Inputs: campaignId (required), limit, offset, adGroupIds.
ebay_get_kycA
Get seller KYC (Know Your Customer) status
Inputs: no named parameters.
ebay_get_labelsC
Get shipping labels for packages
Inputs: params.
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, and images.
Required: User OAuth token.
Inputs: itemId (required).
ebay_get_listing_feesB
Get listing fees for offers before publishing
Inputs: offers (required).
ebay_get_listing_locationsC
Get inventory locations for a specific listing (SKU location mapping).
Required OAuth Scope: sell.inventory.readonly or sell.inventory Minimum Scope: https://api.ebay.com/oauth/api_scope/sell.inventory.readonly
Inputs: sku (required), listingId (required).
ebay_get_listing_setB
Get the listing set (items included) for a promotion.
Inputs: promotionId (required).
ebay_get_listing_structure_policiesC
Get listing structure policies for a marketplace
Inputs: marketplaceId (required), filter.
ebay_get_listing_type_policiesC
Get listing type policies for a marketplace
Inputs: marketplaceId (required), filter.
ebay_get_listing_violationsB
Get listing violations for the seller
Inputs: limit, offset, complianceType.
ebay_get_listing_violations_summaryC
Get summary of listing violations
Inputs: complianceType.
ebay_get_messageB
Get a specific message by ID
Inputs: messageId (required).
ebay_get_motors_listing_policiesC
Get motors listing policies for a marketplace
Inputs: marketplaceId (required), filter.
ebay_get_multi_compatibility_property_valuesC
Get multiple compatibility property values
Inputs: data (required).
ebay_get_negotiated_price_policiesC
Get negotiated price policies for a marketplace
Inputs: marketplaceId (required), filter.
ebay_get_notification_configC
Get notification configuration
Inputs: no named parameters.
ebay_get_notification_destinationB
Get a specific notification destination by ID
Inputs: destination_id (required).
ebay_get_notification_destinationsB
Get all notification destinations (paginated)
Inputs: limit, continuationToken.
ebay_get_notification_public_keyB
Get a public key for verifying notification signatures
Inputs: public_key_id (required).
ebay_get_notification_subscriptionB
Get a specific notification subscription by ID
Inputs: subscription_id (required).
ebay_get_notification_subscription_filterC
Get a specific subscription filter
Inputs: filter_id (required), subscription_id (required).
ebay_get_notification_subscriptionsC
Get all notification subscriptions (paginated)
Inputs: limit, continuation_token.
ebay_get_notification_topicB
Get a specific notification topic by ID
Inputs: topic_id (required).
ebay_get_notification_topicsB
Get all available notification topics (paginated)
Inputs: limit, continuation_token.
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:
Generate OAuth URL with this tool (optionally specify scopes)
User opens URL in browser, authorizes, and gets redirected with a code parameter
Use ebay_exchange_authorization_code tool with the code (URL-encoded format accepted)
Tokens are automatically stored and will auto-refresh every 2 hours
COMMON SCOPES:
Basic (always included): https://api.ebay.com/oauth/api_scope
Inventory: https://api.ebay.com/oauth/api_scope/sell.inventory
Inventory (readonly): https://api.ebay.com/oauth/api_scope/sell.inventory.readonly
Fulfillment: https://api.ebay.com/oauth/api_scope/sell.fulfillment
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
Inputs: state, scopes, redirectUri.
ebay_get_offerC
Get a specific offer by ID
Inputs: offerId (required).
ebay_get_offersC
Get all offers for the seller
Inputs: sku, limit, marketplaceId.
ebay_get_offers_to_buyersC
Get offers to buyers (Best Offers) for the seller
Inputs: limit, filter, offset.
ebay_get_opted_in_programsA
Get seller programs the account is opted into
Inputs: no named parameters.
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
Inputs: orderId (required).
ebay_get_ordersC
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
Inputs: limit, filter, offset.
ebay_get_packageC
Get package details by ID
Inputs: packageId (required).
ebay_get_package_by_order_line_itemB
Get package details by order line item ID
Inputs: orderLineItemId (required).
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
Inputs: paymentDisputeId (required).
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
Inputs: paymentDisputeId (required).
ebay_get_payment_dispute_summariesB
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
Inputs: limit, offset, openFilter, buyerFilter, +1 more.
ebay_get_payment_policiesC
Get payment policies for the seller
Inputs: marketplaceId (required).
ebay_get_payment_policyA
Get a specific payment policy by ID
Inputs: paymentPolicyId (required).
ebay_get_payment_policy_by_nameB
Get a payment policy by name
Inputs: name (required), marketplaceId (required).
ebay_get_payments_programB
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
Inputs: marketplaceId (required), paymentsProgramType (required).
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
Inputs: marketplaceId (required), paymentsProgramType (required).
ebay_get_payments_program_statusC
Get payments program status
Inputs: marketplaceId (required), paymentsProgramType (required).
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
Inputs: no named parameters.
ebay_get_product_compatibilitiesD
Get product compatibilities
Inputs: data (required).
ebay_get_product_compatibilityB
Get product compatibility information for an inventory item
Inputs: sku (required).
ebay_get_product_safety_labelsB
Get product safety labels for a marketplace
Inputs: marketplaceId (required).
ebay_get_promotion_reportC
Get promotion performance report with sales and revenue data.
Inputs: marketplaceId (required), limit, offset, promotionType, +1 more.
ebay_get_promotionsB
Get all item promotions with optional filters. Returns order discounts, shipping discounts, etc.
Inputs: limit, offset, marketplaceId, promotionType, +1 more.
ebay_get_promotion_summary_reportC
Get summary report of promotion performance across all promotions.
Inputs: marketplaceId (required).
ebay_get_rate_limitsB
Get application rate limits for eBay APIs. Returns call quota, remaining calls, and time until reset for each API resource.
Inputs: apiName, apiContext.
ebay_get_rate_tablesC
Get seller rate tables
Inputs: no named parameters.
ebay_get_regulatory_policiesC
Get regulatory policies for a marketplace
Inputs: marketplaceId (required), filter.
ebay_get_reportC
Download a completed report by report ID.
Inputs: reportId (required).
ebay_get_report_taskB
Get status and details of a specific report task.
Inputs: reportTaskId (required).
ebay_get_report_tasksB
Get all report tasks with optional filters.
Inputs: limit, offset, reportTaskStatuses.
ebay_get_return_policiesC
Get return policies for the seller
Inputs: marketplaceId (required).
ebay_get_return_policyB
Get a specific return policy by ID
Inputs: returnPolicyId (required).
ebay_get_return_policy_by_nameB
Get a return policy by name
Inputs: name (required), marketplaceId (required).
ebay_get_return_policy_metadataA
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.
Inputs: marketplaceId (required), filter.
ebay_get_sales_taxC
Get sales tax table for a jurisdiction
Inputs: countryCode (required), jurisdictionId (required).
ebay_get_sales_taxesA
Get all sales tax tables for a country
Inputs: countryCode (required).
ebay_get_sales_tax_jurisdictionsC
Get sales tax jurisdictions for a country
Inputs: countryCode (required).
ebay_get_seller_standards_profileB
Get a specific seller standards profile
Inputs: cycle (required), program (required).
ebay_get_shipping_cost_type_policiesC
Get shipping cost type policies for a marketplace
Inputs: marketplaceId (required), filter.
ebay_get_shipping_fulfillmentC
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
Inputs: orderId (required), fulfillmentId (required).
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
Inputs: orderId (required).
ebay_get_shipping_policiesC
Get shipping policies for a marketplace
Inputs: marketplaceId (required), filter.
ebay_get_shipping_quoteB
Get a shipping quote by ID
Inputs: shippingQuoteId (required).
ebay_get_shipping_servicesC
Get available shipping services for international shipping
Inputs: params.
ebay_get_signing_keyA
Get a specific signing key by ID. Returns public key and metadata (private key is not stored by eBay).
Inputs: signingKeyId (required).
ebay_get_signing_keysA
Get all signing keys for the application. Returns public keys and metadata (private keys are not stored by eBay).
Inputs: no named parameters.
ebay_get_site_visibility_policiesC
Get site visibility policies for a marketplace
Inputs: marketplaceId (required), filter.
ebay_get_subscriptionB
Get seller subscription information
Inputs: limitType.
ebay_get_targetingB
Get targeting configuration for a campaign.
Inputs: campaignId (required).
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.
Inputs: no named parameters.
ebay_get_trackingC
Get tracking information for packages
Inputs: params (required).
ebay_get_traffic_reportC
Get traffic report for listings
Inputs: filter (required), metric (required), dimension (required), sort.
ebay_get_userB
Get user identity information
Inputs: no named parameters.
ebay_get_user_rate_limitsC
Get user-specific rate limits for eBay APIs. Returns call quota per user for APIs that limit by user.
Inputs: apiName, apiContext.
ebay_get_vero_reason_codeB
Get a specific VERO reason code by ID. Reason codes categorize the types of intellectual property violations.
Inputs: veroReasonCodeId (required).
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.
Inputs: no named parameters.
ebay_get_vero_reportC
Get a specific VERO report by ID
Inputs: veroReportId (required).
ebay_get_vero_report_itemsB
Get VERO report items (listings reported for intellectual property infringement). Supports filtering, pagination via limit and offset parameters.
Inputs: limit, filter, offset.
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
Inputs: orderId (required), refundData (required).
ebay_launch_campaignA
Launch a campaign to start running ads. Campaign must be in PENDING status.
Inputs: campaignId (required).
ebay_leave_feedback_for_buyerC
Leave feedback for a buyer
Inputs: feedbackData (required).
ebay_opt_in_to_payments_programC
Opt-in to a payments program
Inputs: marketplaceId (required), paymentsProgramType (required).
ebay_opt_in_to_programD
Opt-in to a seller program
Inputs: request (required).
ebay_opt_out_of_programC
Opt-out of a seller program
Inputs: request (required).
ebay_pause_campaignB
Pause a running marketing campaign. Campaign can be resumed later.
Inputs: campaignId (required).
ebay_pause_item_promotionB
Pause a running item promotion. Can be resumed later.
Inputs: promotionId (required).
ebay_pause_promotionB
Pause a running promotion. Can be resumed later.
Inputs: promotionId (required).
ebay_publish_offerC
Publish an offer to create a listing
Inputs: offerId (required).
ebay_publish_offer_by_inventory_item_groupB
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
Inputs: request (required).
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.
Inputs: no named parameters.
ebay_register_clientA
Register a third party financial application with eBay (Open Banking / PSD2). Requires valid eIDAS certificate via MTLS.
Inputs: clientSettings (required).
ebay_relist_itemA
Relist an ended fixed-price listing, optionally with modifications.
Uses the Trading API (RelistFixedPriceItem).
Required: User OAuth token.
Inputs: itemId (required), modifications.
ebay_reply_to_messageA
Reply to a buyer message in an existing conversation thread
Inputs: messageId (required), messageContent (required).
ebay_respond_to_feedbackC
Respond to feedback received from a buyer
Inputs: feedback_id, response_text, response_type, recipient_user_id.
ebay_resume_campaignA
Resume a paused marketing campaign. Campaign will start running again.
Inputs: campaignId (required).
ebay_resume_item_promotionC
Resume a paused item promotion.
Inputs: promotionId (required).
ebay_resume_promotionC
Resume a paused promotion.
Inputs: promotionId (required).
ebay_revise_listingA
Revise an existing fixed-price listing. Update quantity, price, title, description, or any other field.
Uses the Trading API (ReviseFixedPriceItem). Only send the fields you want to change.
Examples:
Update quantity: { "Quantity": 10 }
Update price: { "StartPrice": 14.99 }
Update title: { "Title": "New Title" }
Multiple fields: { "Quantity": 10, "StartPrice": 14.99 }
Required: User OAuth token.
Inputs: fields (required), itemId (required).
ebay_search_messagesC
Search for buyer-seller messages
Inputs: limit, filter, offset.
ebay_send_messageC
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.
Inputs: messageData (required).
ebay_send_offer_to_interested_buyersC
Send offer to interested buyers
Inputs: offerId (required), offerData (required).
ebay_setup_quick_campaignB
Create a quick campaign with simplified setup. Ideal for getting started fast.
Inputs: quickCampaign (required).
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).
Inputs: accessToken (required), refreshToken (required).
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.
Inputs: accessToken (required), refreshToken (required), autoRefresh, accessTokenExpiry, +1 more.
ebay_suggest_bidsB
Get bid suggestions for an ad group. Helps optimize bid amounts based on competition.
Inputs: adGroupId (required), campaignId (required).
ebay_suggest_budgetB
Get budget suggestions for a campaign based on expected performance.
Inputs: campaignId.
ebay_suggest_itemsC
Get item suggestions for a campaign. Returns items that could perform well.
Inputs: campaignId (required).
ebay_suggest_keywordsC
Get keyword suggestions for an ad group. Returns relevant keywords based on listings.
Inputs: adGroupId (required), campaignId (required).
ebay_suggest_max_cpcB
Get maximum CPC bid suggestions for ads based on competition.
Inputs: suggestionRequest (required).
ebay_suppress_violationC
Suppress a listing violation
Inputs: listingViolationId (required).
ebay_test_notification_subscriptionB
Test a notification subscription by sending a test message
Inputs: subscription_id (required).
ebay_translateC
Translate listing text
Inputs: to (required), from (required), text (required), translationContext (required).
ebay_update_ad_bidC
Update the bid percentage for a specific ad.
Inputs: adId (required), campaignId (required), bidPercentage (required).
ebay_update_ad_groupC
Update an ad group configuration.
Inputs: adGroupId (required), campaignId (required), updateData (required).
ebay_update_ad_group_bidsB
Update default bids for an ad group.
Inputs: adGroupId (required), campaignId (required), updateData (required).
ebay_update_ad_group_keywordsC
Update keywords for an ad group.
Inputs: adGroupId (required), campaignId (required), updateData (required).
ebay_update_ad_group_negative_keywordC
Update an ad group-level negative keyword.
Inputs: adGroupId (required), campaignId (required), updateData (required), negativeKeywordId (required).
ebay_update_ad_rate_strategyC
Update the ad rate strategy for a CPS campaign.
Inputs: strategy (required), campaignId (required).
ebay_update_bidding_strategyB
Update the bidding strategy for a CPC campaign.
Inputs: strategy (required), campaignId (required).
ebay_update_campaign_budgetB
Update the daily budget for a campaign.
Inputs: budget (required), campaignId (required).
ebay_update_campaign_identificationC
Update campaign name or other identification details.
Inputs: campaignId (required), updateData (required).
ebay_update_campaign_negative_keywordC
Update a campaign-level negative keyword.
Inputs: campaignId (required), updateData (required), negativeKeywordId (required).
ebay_update_conversationC
Update a single conversation (read status, flagged, etc.)
Inputs: conversation_id (required), read, flagged.
ebay_update_custom_policyB
Update an existing custom policy
Inputs: policy (required), customPolicyId (required).
ebay_update_email_campaignC
Update an existing email campaign.
Inputs: emailCampaign (required), emailCampaignId (required).
ebay_update_fulfillment_policyC
Update an existing fulfillment policy
Inputs: policy (required), fulfillmentPolicyId (required).
ebay_update_item_price_markdown_promotionC
Update an existing item price markdown promotion.
Inputs: promotion (required), promotionId (required).
ebay_update_item_promotionB
Update an existing item promotion.
Inputs: promotion (required), promotionId (required).
ebay_update_keywordC
Update a keyword configuration.
Inputs: keywordId (required), campaignId (required), updateData (required).
ebay_update_keyword_bidC
Update the bid for a specific keyword.
Inputs: bid (required), keywordId (required), campaignId (required).
ebay_update_location_detailsB
Update location details for an inventory location
Inputs: locationDetails (required), merchantLocationKey (required).
ebay_update_notification_configC
Update notification configuration
Inputs: config (required).
ebay_update_notification_destinationC
Update a notification destination
Inputs: destination_id (required), name, status, delivery_config.
ebay_update_notification_subscriptionC
Update a notification subscription
Inputs: subscription_id (required), status, payload, destination_id.
ebay_update_offerC
Update an existing offer
Inputs: offer (required), offerId (required).
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
Inputs: evidenceId (required), paymentDisputeId (required), files, lineItems, +1 more.
ebay_update_payment_policyB
Update an existing payment policy
Inputs: policy (required), paymentPolicyId (required).
ebay_update_return_policyC
Update an existing return policy
Inputs: policy (required), returnPolicyId (required).
ebay_update_targetingB
Update targeting configuration for a campaign.
Inputs: targeting (required), campaignId (required).
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
Inputs: file (required), paymentDisputeId (required).
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).
Inputs: accessTokenExpiry (required), refreshTokenExpiry (required).
ebay_withdraw_offerC
Withdraw a published offer
Inputs: offerId (required).
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
Inputs: request (required).
fetchC
Fetch a specific eBay inventory item by SKU
Inputs: id (required).
searchC
Search for eBay inventory items
Inputs: query (required), limit.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 332 tools
With 332 tools, there is significant potential for overlap. Many tools perform similar actions (e.g., multiple create_promotion variants) but have specific descriptions that help distinguish them. However, the sheer number makes it challenging for an agent to select the correct tool without careful reading.
The vast majority of tools follow the 'ebay_verb_noun' pattern consistently, using clear verbs like create, get, update, delete. A minor inconsistency is the presence of 'fetch' and 'search' tools that lack the ebay_ prefix, but overall the naming is predictable.
332 tools is an extreme number for a single server, far exceeding typical scopes. This indicates poor modularity and likely includes many redundant or overly granular tools. It would be better to group functionality into smaller, focused servers.
The tool set covers an exceptionally broad range of eBay seller operations, including inventory, offers, orders, fulfillment, marketing campaigns, promotions, disputes, policies, notifications, and more. There are few obvious gaps given the comprehensive coverage.
Maintenance
Related MCP Connectors
Hosted MCP server for 3Dsellers, the multichannel selling platform. Connect Claude, ChatGPT, Cursor, VS Code or any MCP client and manage your eBay, Amazon, Walmart, Etsy, Shopify, WooCommerce and TikTok Shop stores in plain language: search and update products, publish listings, sync inventory, tag and track orders, run bulk actions and CSV imports, and reply to customer messages. 120+ tools. Sign in with OAuth or a personal token. No eBay developer account and nothing to install. Setup guides and config examples for every client: https://github.com/3dsellers/ebay-mcp-server
Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.
Hosted Amazon Seller Central and Amazon Ads MCP server for Claude, ChatGPT, Cursor, and agents.
Run an eBay seller account from your AI assistant: orders, listings, stock, fees and payouts.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn MCP (Multi-Agent Conversation Protocol) Server that enables interaction with eBay's Sell Marketing API through natural language, auto-generated using AG2's MCP builder.-
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI agents to manage multi-marketplace e-commerce operations by connecting to the SellerChamp API. It supports inventory reporting, cross-listing analysis, order management, and bulk updates across platforms like Amazon, eBay, and Shopify.MIT
- AlicenseNot gradedqualityCmaintenanceA comprehensive MCP server for Shopify Admin API integration, enabling AI assistants to manage products, orders, customers, inventory, analytics, and more through natural language.25 npm20MIT
- AlicenseCqualityAmaintenanceProvides AI assistants with comprehensive access to eBay's Sell APIs, including 325 tools for inventory management, order fulfillment, marketing campaigns, analytics, and more.379462 npm199MIT