ebay-mcp
Provides comprehensive access to eBay's Sell APIs, enabling AI assistants to manage inventory, orders, marketing campaigns, analytics, and developer tools.
Click on "Install 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-mcpfind items with low stock"
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/⚠️ 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/YosefHayim/ebay-mcp.git
cd ebay-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/YOUR_USERNAME/ebay-mcp.git
cd ebay-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.
Contributors
Thanks to all the amazing contributors who have helped make this project better! 🎉
Acknowledgments
eBay Developers Program for API access
Model Context Protocol for the MCP specification
Support this project | Created by Yosef Hayim Sabag
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/YosefHayim/ebay-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server