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.Error: Node version too old
Error: Node version too old
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:
-
Update Node.js from nodejs.org
- Download the LTS (Long Term Support) version
- Run the installer
- Verify:
node --version
-
Or use a version manager like nvm:
-
Verify installation:
After updating Node.js, you may need to reinstall the server:
rm -rf node_modules && npm installError: npm install fails
Error: npm install fails
Problem: Dependency installation fails with errorsCause: Common causes include corrupted cache, network issues, or permission problems.Solutions:Try 1: Clear npm cacheTry 2: Delete node_modules and reinstallTry 3: Check your internet connection
- Verify you can access npmjs.org
- Check if you’re behind a corporate firewall
- Try using a different network
Error: Permission denied
Error: Permission denied
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
Error: Build fails
Error: Build fails
Problem: TypeScript compilation errors during Try 2: Clean and rebuildTry 3: Check for version mismatchesTry 4: Review build errors
npm run buildCause: TypeScript compiler issues or source code errors.Solutions:Try 1: Ensure TypeScript is installed- 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.
Error: Git clone fails
Error: Git clone fails
Problem: Cannot clone the repository from GitHubCause: Network connectivity, firewall restrictions, or Git configuration issues.Solutions:Try 1: Check internet connectionTry 2: Use HTTPS instead of SSHTry 3: Configure Git proxy (if behind firewall)Try 4: Download ZIP instead
- Visit github.com/YosefHayim/ebay-mcp-server
- Click “Code” → “Download ZIP”
- Extract and use the files
If you download as ZIP, you won’t have Git history, but the code will work the same.
Tests failing during installation
Tests failing during installation
Problem:
npm test fails with errors after installationCause: Missing credentials, network issues, or environment configuration problems.Solution:-
Configure your
.envfile before running tests: -
Check your internet connection:
- Tests require API connectivity to eBay
- Ensure you can reach api.ebay.com
-
Use Sandbox credentials for testing:
-
Run a single test to diagnose:
-
Skip tests during installation:
Authentication Issues
Problems with eBay Developer credentials and OAuth.Error: Invalid Client Credentials
Error: Invalid Client Credentials
Problem: Your Client ID or Client Secret is rejected by eBayCause: Incorrect credentials, typos, or using credentials from the wrong environment.Solution:
-
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)
-
Check environment matching:
- Sandbox credentials only work with
EBAY_ENVIRONMENT=sandbox - Production credentials only work with
EBAY_ENVIRONMENT=production - Don’t mix environments!
- Sandbox credentials only work with
-
Check for typos in
.env: -
Ensure no quotes in
.env: -
Regenerate credentials if needed:
- In eBay Developer Portal, you can regenerate your Client Secret
- Update
.envwith the new secret immediately
Error: Redirect URI Mismatch
Error: Redirect URI Mismatch
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:-
Go to eBay Developer Portal:
- Visit developer.ebay.com
- Navigate to your application settings
-
Add the redirect URI:
- Find OAuth Redirect URIs section
- Click Add Redirect URI
- Enter:
http://localhost:3000/callback - Click Save
-
Update your
.envfile: -
Ensure exact match:
- URIs must match exactly including:
- Protocol (http vs https)
- Port number
- Path
- URIs must match exactly including:
-
Try OAuth again:
You can have multiple redirect URIs configured in your eBay app. This is useful for different environments.
OAuth flow fails
OAuth flow fails
Problem: OAuth authorization process doesn’t complete successfullyCause: Browser issues, popup blocking, or application configuration problems.Solutions:Common causes:
-
Browser blocking popups:
- Allow popups from the terminal/setup wizard
- Try manually copying the URL into your browser
-
Application not configured for OAuth:
- Verify OAuth is enabled in eBay Developer Portal
- Check that required scopes are granted:
sell.inventorysell.marketingsell.fulfillmentsell.analytics.readonlysell.account
-
Redirect URI not configured:
- See “Redirect URI Mismatch” section above
-
Using wrong eBay account:
- Ensure you’re signing in with a seller account (for production)
- Sandbox works with any developer account
Tokens expire immediately
Tokens expire immediately
Problem: User tokens show as expired right after generationCause: System clock is incorrect or token expiry timestamp is wrong format.Solution:
-
Check system time:
- Ensure your system clock is accurate
- Sync with time server if needed (macOS: System Preferences → Date & Time)
-
Check token expiry format in
.env: -
Regenerate tokens:
- The wizard will generate tokens with correct expiry
-
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.Configuration validation fails
Configuration validation fails
Problem: The wizard validates each setting interactively and helps fix issues.
npm run validate-config reports errorsCause: Missing or incorrectly formatted environment variables.Solution:Check these common issues:-
Missing required variables:
-
Extra spaces or quotes:
-
Wrong environment value:
-
Expired or invalid tokens:
- Remove expired tokens from
.env - Run
npm run setupto regenerate
- Remove expired tokens from
MCP Client Connection Issues
Problems connecting MCP clients (Claude Desktop, Cursor, etc.) to the server.MCP client can't find the server
MCP client can't find the server
Problem: MCP client shows server as unavailable or can’t connectCause: Incorrect path in MCP client configuration or server not built.Solution:
-
Use absolute paths (not relative):
-
Verify the path exists:
-
Ensure server is built:
-
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
- 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
- macOS:
-
Restart your MCP client:
- Completely quit the application (Cmd+Q on Mac)
- Reopen and check for 🔨 tools icon
Server starts but no tools appear
Server starts but no tools appear
Problem: Server connects but tools don’t show up in MCP clientCause: Environment variables not passed to server or authentication failing silently.Solution:
-
Pass environment variables in config:
-
Check server logs:
- Enable debug logging:
"LOG_LEVEL": "debug"in env - Check for authentication errors
- Verify 230+ tools are registered
- Enable debug logging:
-
Test server directly:
- Look for “230+ tools registered” message
- Check for any error messages
-
Verify credentials:
If only showing a few tools, client credentials mode may be active. Configure user tokens for full access.
Server crashes on startup
Server crashes on startup
Problem: Server starts then immediately crashes or exitsCause: Missing dependencies, invalid configuration, or runtime errors.Solution:
-
Check server logs:
- Look for error messages before crash
- Common errors: missing environment variables, invalid credentials
-
Test server standalone:
- This shows detailed error messages
-
Verify build is complete:
-
Check Node.js version:
-
Reinstall dependencies:
-
Enable debug logging:
Add to your MCP client config:
Tools appear but fail when used
Tools appear but fail when used
Problem: Tools are available but return errors when calledCause: Authentication issues, rate limits, or invalid API requests.Solutions:Check authentication:Common error patterns:
-
“Unauthorized” or “403 Forbidden”:
- Invalid credentials
- Expired tokens
- Wrong environment (sandbox vs production)
- Solution: Run
npm run setupto reconfigure
-
“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
-
“400 Bad Request”:
- Invalid parameters passed to tool
- Check tool documentation in API Reference
- Verify required fields are provided
-
“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 configRuntime Issues
Problems that occur while the server is running.Rate limit errors
Rate limit errors
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
- Basic seller: 10,000 requests/day
- Business seller: 25,000 requests/day
- Enterprise seller: 50,000 requests/day
-
Upgrade to user tokens (if using client credentials):
-
Monitor your usage:
- Track API calls in your application
- Implement request throttling
- Cache responses when possible
-
Optimize API calls:
- Use bulk operations when available
- Avoid unnecessary polling
- Batch related operations
-
Wait for limit reset:
- Rate limits reset every 24 hours
- Time-based limits reset by the second/minute
-
Upgrade eBay seller account:
- Higher tier accounts get higher limits
- Visit eBay Seller Hub for upgrade options
Slow API responses
Slow API responses
Problem: API calls take a long time to completeCause: Network latency, eBay Sell APIs performance, or inefficient queries.Solutions:
-
Check internet connection:
-
Use pagination for large datasets:
- Don’t request all items at once
- Use limit and offset parameters
- Process in smaller batches
-
Optimize queries:
- Request only needed fields
- Use filters to reduce response size
- Cache frequently accessed data
-
Check eBay Sell APIs status:
- Visit eBay Developer Status
- May be platform-wide performance issues
-
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.
Unexpected API errors
Unexpected API errors
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:
-
Enable detailed logging:
-
Check error message details:
- Error code and message
- Which endpoint is failing
- Request parameters sent
-
Verify data format:
- Check required vs optional fields
- Validate data types (strings, numbers, dates)
- Ensure proper formatting (dates in ISO 8601, etc.)
-
Check API documentation:
- Visit eBay Developer Docs
- Verify endpoint requirements haven’t changed
- Check for known issues or deprecations
-
Test with minimal data:
- Try the simplest possible request
- Gradually add parameters to identify the issue
-
Environment mismatch:
- Ensure you’re using the right environment (sandbox vs production)
- Sandbox data doesn’t exist in production and vice versa
Memory leaks or high memory usage
Memory leaks or high memory usage
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:
-
Restart the server periodically:
- Implement automatic restarts for long-running servers
- Monitor memory usage
-
Process data in chunks:
- Don’t load all items into memory
- Use streaming or pagination
- Process and discard data incrementally
-
Update to latest version:
-
Monitor memory usage:
-
Report persistent issues:
- If memory leaks persist, report an issue
- Include memory profiling data if possible
Token refresh failures
Token refresh failures
Problem: Server can’t automatically refresh expired access tokensCause: Invalid refresh token, network issues, or eBay Sell APIs issues.Solution:
-
Check refresh token in
.env: -
Verify refresh token hasn’t expired:
- Refresh tokens last 18 months
- If expired, you’ll need to re-authorize
-
Re-run OAuth flow:
- This generates new access and refresh tokens
-
Check network connectivity:
-
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.Sandbox data doesn't appear in Production
Sandbox data doesn't appear in Production
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
- Use different credentials
- Have separate databases
- Don’t share any data
-
Switch to Production:
-
Re-run OAuth for Production:
-
Recreate your listings/policies/data:
- Use the same tools in Production
- Test thoroughly in Sandbox first!
Production credentials don't work
Production credentials don't work
Problem: Production credentials fail validation or authorizationCause: Production requires additional setup and an active seller account.Requirements for Production:
-
Active eBay seller account
- Must have sold at least one item, or
- Completed seller registration
- Account in good standing
-
Production application approved
- Some APIs require eBay approval
- Check your application status in Developer Portal
-
Correct credentials:
- Production credentials are different from Sandbox
- Verify you’re using Production keys
-
Verify seller account status:
- Visit eBay Seller Hub
- Ensure account is active and verified
-
Check application status:
- Visit eBay Developer Portal
- Verify Production application is approved
-
Use correct environment:
-
Re-authorize with Production credentials:
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
.envvariables (without secrets!)
3
Reproduction Steps
- Step-by-step instructions to reproduce the issue
- What you expected to happen
- What actually happened
4
Logs and Errors
- Complete error messages
- Server logs (with
LOG_LEVEL=debug) - Screenshots if applicable