Skip to main content
Find solutions to common problems you may encounter while installing, configuring, or using the eBay MCP Server.
Can’t find your issue? Check the FAQ or report an issue on GitHub.

Quick Diagnosis

Use these questions to identify your issue category:

Installation Problems

Server won’t install or build fails

Authentication Errors

Credential validation or OAuth failures

MCP Client Issues

Client can’t find or connect to server

Runtime Errors

Server crashes or API calls fail

Installation Issues

Problems during installation or building the server.
Problem: Your Node.js version is below 18.0.0Cause: The eBay MCP Server requires Node.js 18 or higher for modern JavaScript features and dependencies.Solution:
  1. Update Node.js from nodejs.org
    • Download the LTS (Long Term Support) version
    • Run the installer
    • Verify: node --version
  2. Or use a version manager like nvm:
  3. Verify installation:
After updating Node.js, you may need to reinstall the server: rm -rf node_modules && npm install
Problem: Dependency installation fails with errorsCause: Common causes include corrupted cache, network issues, or permission problems.Solutions:Try 1: Clear npm cache
Try 2: Delete node_modules and reinstall
Try 3: Check your internet connection
  • Verify you can access npmjs.org
  • Check if you’re behind a corporate firewall
  • Try using a different network
Try 4: Use a different registry (if in restricted network)
If errors mention “EACCES” or “EPERM”, see the “Permission denied” section below.
Problem: Insufficient permissions during installationCause: npm is trying to write to a directory you don’t have access to.Solutions:macOS/Linux:
Windows:
  • Right-click PowerShell or Command Prompt
  • Select “Run as Administrator”
  • Navigate to the project directory
  • Run npm install
Alternative: Fix npm global permissions (macOS/Linux)
Never use sudo npm install in the project directory - fix permissions instead.
Problem: TypeScript compilation errors during npm run buildCause: TypeScript compiler issues or source code errors.Solutions:Try 1: Ensure TypeScript is installed
Try 2: Clean and rebuild
Try 3: Check for version mismatches
Try 4: Review build errors
  • Read the error output carefully
  • Look for specific file names and line numbers
  • Check if you’ve modified any source files
If you’ve modified source code, ensure your changes follow TypeScript syntax.
Problem: Cannot clone the repository from GitHubCause: Network connectivity, firewall restrictions, or Git configuration issues.Solutions:Try 1: Check internet connection
Try 2: Use HTTPS instead of SSH
Try 3: Configure Git proxy (if behind firewall)
Try 4: Download ZIP instead
If you download as ZIP, you won’t have Git history, but the code will work the same.
Problem: npm test fails with errors after installationCause: Missing credentials, network issues, or environment configuration problems.Solution:
  1. Configure your .env file before running tests:
  2. Check your internet connection:
    • Tests require API connectivity to eBay
    • Ensure you can reach api.ebay.com
  3. Use Sandbox credentials for testing:
  4. Run a single test to diagnose:
  5. Skip tests during installation:
It’s normal for tests to fail if you haven’t configured credentials yet. Configure your .env file first.

Authentication Issues

Problems with eBay Developer credentials and OAuth.
Problem: Your Client ID or Client Secret is rejected by eBayCause: Incorrect credentials, typos, or using credentials from the wrong environment.Solution:
  1. Verify credentials in eBay Developer Portal:
    • Visit developer.ebay.com
    • Navigate to My Account → Application Keys
    • Confirm your Client ID (App ID) and Client Secret (Cert ID)
  2. Check environment matching:
    • Sandbox credentials only work with EBAY_ENVIRONMENT=sandbox
    • Production credentials only work with EBAY_ENVIRONMENT=production
    • Don’t mix environments!
  3. Check for typos in .env:
  4. Ensure no quotes in .env:
  5. Regenerate credentials if needed:
    • In eBay Developer Portal, you can regenerate your Client Secret
    • Update .env with the new secret immediately
Never share your Client Secret publicly or commit it to version control.
Problem: OAuth flow fails with “redirect_uri_mismatch” errorCause: The redirect URI in your .env doesn’t match what’s configured in your eBay application.Solution:
  1. Go to eBay Developer Portal:
  2. Add the redirect URI:
    • Find OAuth Redirect URIs section
    • Click Add Redirect URI
    • Enter: http://localhost:3000/callback
    • Click Save
  3. Update your .env file:
  4. Ensure exact match:
    • URIs must match exactly including:
      • Protocol (http vs https)
      • Port number
      • Path
  5. Try OAuth again:
You can have multiple redirect URIs configured in your eBay app. This is useful for different environments.
Problem: OAuth authorization process doesn’t complete successfullyCause: Browser issues, popup blocking, or application configuration problems.Solutions:Common causes:
  1. Browser blocking popups:
    • Allow popups from the terminal/setup wizard
    • Try manually copying the URL into your browser
  2. Application not configured for OAuth:
    • Verify OAuth is enabled in eBay Developer Portal
    • Check that required scopes are granted:
      • sell.inventory
      • sell.marketing
      • sell.fulfillment
      • sell.analytics.readonly
      • sell.account
  3. Redirect URI not configured:
    • See “Redirect URI Mismatch” section above
  4. Using wrong eBay account:
    • Ensure you’re signing in with a seller account (for production)
    • Sandbox works with any developer account
Manual OAuth flow:
The interactive setup wizard (npm run setup) handles OAuth automatically and is easier than manual flow.
Problem: User tokens show as expired right after generationCause: System clock is incorrect or token expiry timestamp is wrong format.Solution:
  1. Check system time:
    • Ensure your system clock is accurate
    • Sync with time server if needed (macOS: System Preferences → Date & Time)
  2. Check token expiry format in .env:
  3. Regenerate tokens:
    • The wizard will generate tokens with correct expiry
  4. Verify token validity:
    • User access tokens typically expire in 2 hours
    • Refresh tokens expire in 18 months
    • The server automatically refreshes expired access tokens
Token auto-refresh requires a valid refresh token. If both tokens are expired, run npm run setup again.
Problem: npm run validate-config reports errorsCause: Missing or incorrectly formatted environment variables.Solution:Check these common issues:
  1. Missing required variables:
  2. Extra spaces or quotes:
  3. Wrong environment value:
  4. Expired or invalid tokens:
    • Remove expired tokens from .env
    • Run npm run setup to regenerate
Re-run setup wizard:
The wizard validates each setting interactively and helps fix issues.
Start fresh by copying .env.example: cp .env.example .env

MCP Client Connection Issues

Problems connecting MCP clients (Claude Desktop, Cursor, etc.) to the server.
Problem: MCP client shows server as unavailable or can’t connectCause: Incorrect path in MCP client configuration or server not built.Solution:
  1. Use absolute paths (not relative):
  2. Verify the path exists:
  3. Ensure server is built:
  4. Check config file location: Claude Desktop:
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json
    Cursor:
    • macOS: ~/Library/Application Support/Cursor/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json
    • Windows: %APPDATA%\Cursor\User\globalStorage\rooveterinaryinc.roo-cline\settings\cline_mcp_settings.json
  5. Restart your MCP client:
    • Completely quit the application (Cmd+Q on Mac)
    • Reopen and check for 🔨 tools icon
Tilde (~) expansion doesn’t work in JSON config files. Use full paths: /Users/yourname/...
Problem: Server connects but tools don’t show up in MCP clientCause: Environment variables not passed to server or authentication failing silently.Solution:
  1. Pass environment variables in config:
  2. Check server logs:
    • Enable debug logging: "LOG_LEVEL": "debug" in env
    • Check for authentication errors
    • Verify 230+ tools are registered
  3. Test server directly:
    • Look for “230+ tools registered” message
    • Check for any error messages
  4. Verify credentials:
If only showing a few tools, client credentials mode may be active. Configure user tokens for full access.
Problem: Server starts then immediately crashes or exitsCause: Missing dependencies, invalid configuration, or runtime errors.Solution:
  1. Check server logs:
    • Look for error messages before crash
    • Common errors: missing environment variables, invalid credentials
  2. Test server standalone:
    • This shows detailed error messages
  3. Verify build is complete:
  4. Check Node.js version:
  5. Reinstall dependencies:
  6. Enable debug logging: Add to your MCP client config:
Most startup crashes are due to missing or invalid environment variables. Double-check your .env file.
Problem: Tools are available but return errors when calledCause: Authentication issues, rate limits, or invalid API requests.Solutions:Check authentication:
Common error patterns:
  1. “Unauthorized” or “403 Forbidden”:
    • Invalid credentials
    • Expired tokens
    • Wrong environment (sandbox vs production)
    • Solution: Run npm run setup to reconfigure
  2. “429 Too Many Requests”:
    • Hit rate limit
    • With client credentials: Upgrade to user tokens
    • With user tokens: Wait 24 hours or upgrade eBay account
    • See Rate Limit Issues section
  3. “400 Bad Request”:
    • Invalid parameters passed to tool
    • Check tool documentation in API Reference
    • Verify required fields are provided
  4. “404 Not Found”:
    • Resource doesn’t exist
    • Wrong marketplace or environment
    • Check that item/order/policy exists
Enable request logging to see detailed API calls: LOG_REQUESTS=true in your config

Runtime Issues

Problems that occur while the server is running.
Problem: “429 Too Many Requests” or rate limit exceeded errorsCause: You’ve exceeded your daily API request limit.Understanding Rate Limits:Client Credentials:
  • 1,000 requests per day
  • Very limited for production use
User Tokens:
  • Basic seller: 10,000 requests/day
  • Business seller: 25,000 requests/day
  • Enterprise seller: 50,000 requests/day
Solutions:
  1. Upgrade to user tokens (if using client credentials):
  2. Monitor your usage:
    • Track API calls in your application
    • Implement request throttling
    • Cache responses when possible
  3. Optimize API calls:
    • Use bulk operations when available
    • Avoid unnecessary polling
    • Batch related operations
  4. Wait for limit reset:
    • Rate limits reset every 24 hours
    • Time-based limits reset by the second/minute
  5. Upgrade eBay seller account:
    • Higher tier accounts get higher limits
    • Visit eBay Seller Hub for upgrade options
Repeatedly hitting rate limits may trigger additional restrictions on your API access.
Problem: API calls take a long time to completeCause: Network latency, eBay Sell APIs performance, or inefficient queries.Solutions:
  1. Check internet connection:
  2. Use pagination for large datasets:
    • Don’t request all items at once
    • Use limit and offset parameters
    • Process in smaller batches
  3. Optimize queries:
    • Request only needed fields
    • Use filters to reduce response size
    • Cache frequently accessed data
  4. Check eBay Sell APIs status:
  5. Consider geographic location:
    • eBay Sell APIs may be slower from certain regions
    • Consider using a proxy or VPN to different region
Some eBay Sell APIs endpoints are inherently slower than others, especially bulk operations and complex queries.
Problem: Getting errors from eBay Sell APIs that aren’t related to authentication or rate limitsCause: Invalid requests, API changes, or data validation issues.Diagnostic steps:
  1. Enable detailed logging:
  2. Check error message details:
    • Error code and message
    • Which endpoint is failing
    • Request parameters sent
  3. Verify data format:
    • Check required vs optional fields
    • Validate data types (strings, numbers, dates)
    • Ensure proper formatting (dates in ISO 8601, etc.)
  4. Check API documentation:
    • Visit eBay Developer Docs
    • Verify endpoint requirements haven’t changed
    • Check for known issues or deprecations
  5. Test with minimal data:
    • Try the simplest possible request
    • Gradually add parameters to identify the issue
  6. Environment mismatch:
    • Ensure you’re using the right environment (sandbox vs production)
    • Sandbox data doesn’t exist in production and vice versa
If you get consistent errors with a specific tool, check the API Reference for that tool’s documentation.
Problem: Server memory usage grows over time or server runs out of memoryCause: Large response caching, memory leaks, or processing too much data at once.Solutions:
  1. Restart the server periodically:
    • Implement automatic restarts for long-running servers
    • Monitor memory usage
  2. Process data in chunks:
    • Don’t load all items into memory
    • Use streaming or pagination
    • Process and discard data incrementally
  3. Update to latest version:
  4. Monitor memory usage:
  5. Report persistent issues:
    • If memory leaks persist, report an issue
    • Include memory profiling data if possible
The MCP server is designed to be lightweight. Persistent memory issues may indicate a bug.
Problem: Server can’t automatically refresh expired access tokensCause: Invalid refresh token, network issues, or eBay Sell APIs issues.Solution:
  1. Check refresh token in .env:
  2. Verify refresh token hasn’t expired:
    • Refresh tokens last 18 months
    • If expired, you’ll need to re-authorize
  3. Re-run OAuth flow:
    • This generates new access and refresh tokens
  4. Check network connectivity:
  5. Manual token refresh:
The server automatically refreshes access tokens when they expire, as long as the refresh token is valid.

Environment-Specific Issues

Problems related to Sandbox vs Production environments.
Problem: Items or data created in Sandbox aren’t visible in ProductionCause: Sandbox and Production are completely separate environments.Understanding:
  • Sandbox: Isolated test environment with fake data
  • Production: Real eBay marketplace with real transactions
These environments:
  • Use different credentials
  • Have separate databases
  • Don’t share any data
Solution:You must recreate your data in Production:
  1. Switch to Production:
  2. Re-run OAuth for Production:
  3. Recreate your listings/policies/data:
    • Use the same tools in Production
    • Test thoroughly in Sandbox first!
Production operations affect real listings and cost real money. Always test in Sandbox first.
Problem: Production credentials fail validation or authorizationCause: Production requires additional setup and an active seller account.Requirements for Production:
  1. Active eBay seller account
    • Must have sold at least one item, or
    • Completed seller registration
    • Account in good standing
  2. Production application approved
    • Some APIs require eBay approval
    • Check your application status in Developer Portal
  3. Correct credentials:
    • Production credentials are different from Sandbox
    • Verify you’re using Production keys
Solution:
  1. Verify seller account status:
  2. Check application status:
  3. Use correct environment:
  4. Re-authorize with Production credentials:
Start with Sandbox for development. Only switch to Production when you’re ready for live operations.

Still Having Issues?

If your problem isn’t listed here:

FAQ

Check frequently asked questions

GitHub Issues

Search existing issues or create a new one

eBay Developer Support

Official eBay Sell APIs support resources

MCP Documentation

Model Context Protocol specification

Reporting Bugs

When reporting an issue, include:
1

Environment Information

2

Configuration

  • Environment: Sandbox or Production
  • Authentication mode: User tokens or Client credentials
  • Relevant .env variables (without secrets!)
3

Reproduction Steps

  1. Step-by-step instructions to reproduce the issue
  2. What you expected to happen
  3. What actually happened
4

Logs and Errors

  • Complete error messages
  • Server logs (with LOG_LEVEL=debug)
  • Screenshots if applicable
Never include your Client Secret, access tokens, or refresh tokens in bug reports.