Skip to main content
Glama

eBay MCP is a local Model Context Protocol server that connects AI assistants — Claude Desktop, Claude Code, Cursor, Cline, Windsurf, Zed, Continue.dev, Roo Code, and Amazon Q Developer — directly to eBay's Sell APIs. It exposes 322 tools spanning 100% of eBay's Sell API surface (270 unique endpoints) for inventory management, order fulfillment, promoted-listings marketing, analytics, and developer tooling. Everything runs on your machine over STDIO or local HTTP — no cloud relay, and your eBay credentials never leave your computer.

Disclaimer: Unofficial, third-party project — not affiliated with or endorsed by eBay Inc. Provided "as is" without warranty. You are responsible for complying with eBay's API License Agreement and data-handling requirements, keeping your credentials secure, and staying within rate limits. Test in sandbox before production. See LICENSE, SECURITY.md, and EBAY_COMPLIANCE.md.

Table of contents

Related MCP server: eBay MCP Server

Features

  • 322 eBay API tools — 100% coverage of the eBay Sell APIs across inventory, orders, marketing, analytics, metadata, taxonomy, and developer tooling.

  • 9 AI clients, auto-configured — Claude Desktop, Cursor, Zed, Cline, Continue.dev, Windsurf, Roo Code, Claude Code CLI, and Amazon Q Developer.

  • OAuth 2.0 built in — full user-token management with automatic refresh, and smart fallback from user tokens (10k–50k req/day) to client credentials (1k req/day).

  • Resilient by default — automatic retry with exponential backoff on 429 rate limits, and consistent, loud error surfacing.

  • Type-safeTypeScript end to end, Effect-backed tool input validation, and OpenAPI-generated types.

  • Local-first & private — runs over STDIO or local HTTP; your credentials and data never leave your machine.

  • Sandbox and production — switch environments with a single variable.

  • One-command setupnpm run setup configures credentials, OAuth, and your MCP client, with a browser auto-opened for the OAuth flow.

  • Well tested — 1,000+ automated tests run in CI on every change through GitHub Actions.

Capability map

Use this map when deciding which tool family to expose, or when asking an assistant what it can do. The family names match EBAY_MCP_TOOLS, so you can run with all tools, dynamic discovery, or only the families needed for a specific workflow.

Family

What it unlocks

Good first request

account

Business policies, fulfillment policies, payment policies, return policies, sales tax, subscriptions, and programs

"Show my eBay fulfillment policies."

inventory

Inventory items, offers, inventory locations, item groups, bulk offer flows, and SKU/location mapping

"List my active inventory items and their available quantity."

fulfillment

Orders, shipping fulfillments, refunds, payment disputes, and dispute evidence

"Show unfulfilled orders from the last 7 days."

marketing

Promoted Listings campaigns, ads, promotions, bidding, and marketing reports

"List my active promoted listing campaigns."

analytics

Traffic reports, seller standards, and customer-service metrics

"Show my seller standards profile."

communication

Buyer-seller messaging, negotiations, notifications, and feedback

"Show recent buyer messages that need a response."

metadata / taxonomy

Category trees, aspects, item conditions, return-policy metadata, tax jurisdictions, and vehicle compatibility

"Find required item aspects for this category."

other

Identity, compliance, VeRO, translation, and international shipping support APIs

"Show my current seller identity details."

developer / token-management

Rate limits, signing keys, OAuth URLs, token refresh, and diagnostics

"Check my eBay API rate limits."

trading

Legacy XML fixed-price listing create, revise, relist, and end operations

"Create a fixed-price listing draft from this SKU."

connector

ChatGPT connector search/fetch tools over the eBay MCP catalogue

"Search the eBay tool catalogue for order tools."

eBay MCP vs. the raw eBay API

Both talk to the same eBay endpoints — the difference is everything you'd otherwise build yourself.

eBay MCP Server

Raw eBay REST API

Interface

Natural language through your AI assistant

Hand-written HTTP requests and JSON parsing

OAuth & token refresh

Built in, with automatic refresh

You implement and maintain it

Rate-limit handling

Automatic retry with exponential backoff

Manual 429 handling and backoff

Input validation

Effect-backed schemas + TypeScript types on every tool

None — you validate your own payloads

Setup

One wizard (npm run setup)

Per-call auth, headers, and marketplace wiring

AI client support

9 clients auto-configured

Not applicable

API coverage

322 tools across 100% of the Sell APIs, ready to call

Build each request from the docs

Hosting

Runs locally, no cloud relay

Your own infrastructure

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/

Quick start

1. Get eBay credentials

  1. Create a free eBay Developer Account.

  2. Generate application keys in the Developer Portal.

  3. Save your Client ID and Client Secret.

2. Install

npm install -g ebay-mcp            # from npm (recommended)

Or from source:

git clone https://github.com/YosefHayim/ebay-mcp.git
cd ebay-mcp && npm install && npm run build

3. Run the setup wizard

npm run setup

The wizard configures your eBay credentials, sets up OAuth (for higher rate limits), auto-detects and configures your MCP client, and saves everything automatically.

4. Verify with a read-only request

Restart your MCP client and ask:

"Check my eBay API rate limits."

That should call ebay_get_rate_limits or ebay_get_user_rate_limits and confirms the server, credentials, and MCP client wiring without changing seller data.

5. Use

Start managing eBay through your AI assistant. Begin with read-only questions, then move to mutating inventory, order, or campaign tools after you have confirmed the target environment is sandbox or production.

The setup wizard (npm run setup) handles OAuth automatically. Here's where to find your credentials in the eBay Developer Portal:

Step 1 — In the Developer Portal, copy your App ID (Client ID) and Cert ID (Client Secret):

Step 1 - Copy Client ID and Client Secret from the eBay Developer Portal

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

Step 2 - Copy the RuName redirect URL from eBay sign-in settings

Step 3 — Run npm run setup. It opens your browser for OAuth login and guides you through eBay sign-in:

Step 3 - Sign in to eBay during the OAuth flow started by npm run setup

Step 4 — Paste the authorization code from the callback URL when prompted:

Step 4 - Paste the authorization code into the eBay MCP setup wizard

The wizard exchanges the code for tokens, saves them, and configures your MCP client. You now have user-token authentication (10k–50k requests/day instead of the default 1k/day).

Demo

See the eBay MCP Server in action with Claude Desktop:

https://github.com/user-attachments/assets/0173c8df-221c-4943-a4ce-cd20bce79f4b

Configuration

📖 Full reference — every environment variable, OAuth step, and scope — is in the Configuration Guide. npm run setup writes the .env for you; the variables below are for reference.

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 per tool)
EBAY_CONTENT_LANGUAGE=en-US         # default request content language
EBAY_USER_REFRESH_TOKEN=your_token  # for higher rate limits
EBAY_MCP_UI=on                      # interactive MCP Apps views (beta); "off" forces plain JSON
EBAY_MCP_TOOLS=all                  # tool exposure: "all", "dynamic", or a family list (see below)

Tool exposure (EBAY_MCP_TOOLS)

By default all tools are advertised to the agent at once. On a long conversation that catalogue is a meaningful slice of the context window, so two opt-in modes let you shrink it:

Value

Behavior

Works on

all (default, or unset)

Every tool advertised at startup.

every host

dynamic

Only three discovery tools are visible (list_ebay_tools, enable_ebay_tools, disable_ebay_tools). The agent searches the catalogue and loads only the tools it needs; they then appear natively.

hosts that honor tools/listChanged (e.g. Claude)

inventory,fulfillment,…

Registers only the named families (listed below), frozen for the session.

every host (incl. ChatGPT, Cursor)

The family list is literal — you get exactly what you name. ChatGPT connectors need the connector family (its search/fetch tools); add it explicitly, e.g. EBAY_MCP_TOOLS=connector,inventory. An unknown family name fails fast at startup with the valid list. Valid families: connector, token-management, account, inventory, fulfillment, marketing, analytics, metadata, taxonomy, communication, other, developer, trading.

Authentication & rate limits

Mode

Daily limit

Best for

Setup

Client credentials (default)

1,000 req/day

Development, testing

Automatic with Client ID + Secret

User token (recommended)

10k–50k req/day

Production, high volume

OAuth via npm run setup

User-token limits vary by account tier (Individual 10k · Commercial 25k · Enterprise 50k+). On a 429, the server retries with exponential backoff and surfaces the error. See the Configuration Guide and OAuth Quick Reference for details, and monitor usage in the Developer Portal.

MCP client compatibility

Auto-configured by npm run setup. Requires Node.js ≥ 20 and MCP protocol 1.0+ over STDIO (default) or HTTP.

Client

Platform

Config path

Claude Desktop

macOS, Windows, Linux

~/Library/Application Support/Claude/claude_desktop_config.json

Cursor IDE

macOS, Windows, Linux

~/.cursor/mcp.json

Zed Editor

macOS, Windows, Linux

~/.config/zed/settings.json

Cline

VS Code extension

~/...globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json

Continue.dev

VS Code, JetBrains

~/.continue/config.json

Windsurf (Codeium)

macOS, Windows, Linux

~/.codeium/windsurf/mcp_config.json

Roo Code

VS Code extension

~/...globalStorage/rooveterinaryinc.roo-cline/settings/mcp_settings.json

Claude Code CLI

Terminal

~/.claude.json

Amazon Q Developer

AWS

~/.aws/amazonq/mcp.json

Available tools

322 tools, 100% Sell API coverage, organized by category. Each link points to the tool definitions and handlers in src/tools/categories/:

Category

What you can do

Connector

ChatGPT connector search/fetch tools over the eBay MCP catalogue

Account

Business, fulfillment, payment, and return policies; programs; subscriptions; sales tax

Inventory

Inventory items, offers, locations, item groups, bulk operations, SKU/location mapping

Fulfillment

Orders, shipping, refunds, disputes, payment-dispute evidence

Marketing

Promoted-listings campaigns, ads, promotions, bidding, bulk operations

Analytics

Traffic reports, seller standards, customer-service metrics

Communication

Buyer–seller messaging, negotiations, notifications, feedback

Metadata

Return policies, sales-tax jurisdictions, automotive compatibility

Taxonomy

Category trees, item aspects, item conditions

Other

Identity, compliance, VeRO, translation, and international shipping support APIs

Trading (legacy XML)

Fixed-price listing create, revise, relist, end

Developer

Rate limits, signing keys, client registration

Token Management

OAuth URL generation and token management

Example tools: ebay_get_inventory_items, ebay_get_orders, ebay_create_offer, ebay_get_campaigns, ebay_get_oauth_url.

For the complete machine-readable index, see llms.txt.

Interactive UI (MCP Apps)

Beta — this feature is new and evolving alongside the MCP Apps spec, and host support is still rolling out. It is opt-in and falls back to plain JSON, so it never breaks existing clients. Toggle it with EBAY_MCP_UI (see Configuration).

On hosts that support MCP Apps, common read tools render their results as interactive views instead of raw JSON — a sortable table, a detail card, a chart, or a stat grid — using the host's own theme. Everywhere else, the exact same tools return plain JSON, so nothing breaks. It is built on the official MCP Apps SDK (@modelcontextprotocol/ext-apps), the extension that lets MCP servers ship interactive UI to conversational clients.

  • Opt-in and host-gated. Views are advertised only to clients that announce the MCP Apps capability (e.g. Claude). Hosts without it (e.g. Cursor) silently get JSON.

  • Kill-switch. Set EBAY_MCP_UI=off to force plain JSON everywhere, even on capable hosts.

  • Token-cheap. Each view's HTML is fetched once by the host out of band (never into the model's context); the model only ever sees a one-line summary plus the structured data it would have received anyway.

  • Read-only. Views only ever trigger read tools (drill into a row, page, refresh) — they never mutate your eBay data.

15 core-workflow tools opt in today, across four archetypes:

Archetype

Tools

Table

ebay_get_orders, ebay_get_shipping_fulfillments, ebay_get_offers, ebay_get_inventory_items, ebay_get_inventory_locations, ebay_get_payment_dispute_summaries

Card

ebay_get_order, ebay_get_offer, ebay_get_inventory_item, ebay_get_payment_dispute, ebay_get_seller_standards_profile

Chart

ebay_get_traffic_report, ebay_get_customer_service_metric

Stat

ebay_get_rate_limits, ebay_get_user_rate_limits

The views build into self-contained HTML with npm run build (or npm run build:ui); they ship in the published package and load with no network access of their own.

Usage examples

Common tasks, phrased as you'd ask your AI assistant:

  • Set up OAuth"Help me set up OAuth for my eBay account." → generates an authorization URL via ebay_get_oauth_url, then configures the refresh token. Unlocks 10k–50k req/day.

  • Manage inventory"Show me all my active listings."ebay_get_inventory_items returns SKUs, quantities, and status.

  • Process orders"Get all unfulfilled orders from the last 7 days."ebay_get_orders with date and fulfillment-status filters.

  • Create campaigns"Create a promoted-listing campaign for electronics."ebay_create_campaign and related marketing tools.

  • Bulk operations"Apply a 10% discount to all 'Vintage Watches' items."ebay_get_inventory_items + ebay_update_offer across matches.

Scope and safety

  • Unofficial project. This is not an eBay product and does not grant any additional API rights beyond your own eBay Developer account.

  • Local server, live APIs. The MCP server runs on your machine, but tools still call eBay's sandbox or production APIs over the internet.

  • Mutating tools can change seller data. Inventory, fulfillment, marketing, and Trading tools may create, revise, refund, end, or otherwise update eBay records. Test in sandbox first.

  • Tool exposure is configurable. Use EBAY_MCP_TOOLS=dynamic or a family list when you want a smaller, workflow-specific tool surface.

  • Interactive views are read-only. MCP Apps views can page, refresh, and drill into read tools, but they do not mutate eBay data.

  • Compliance remains yours. Keep credentials secure, monitor rate limits, and follow eBay's API terms and data-handling rules.

Logging & troubleshooting

  • Logging — Winston-based, written to stderr (MCP-safe) with optional file output. See docs/logging.md.

  • Troubleshooting — server not appearing, auth errors, rate limits, empty results. Start with npm run diagnose, then see docs/troubleshooting.md.

FAQ

A local Model Context Protocol server that exposes 322 tools covering 100% of eBay's Sell APIs (270 endpoints) to AI assistants — inventory, order fulfillment, marketing, analytics, and developer tools.

No. This is an unofficial, third-party open-source project. It is not affiliated with, authorized, or endorsed by eBay Inc.

Nine clients are auto-configured by npm run setup: Claude Desktop, Cursor, Zed, Cline, Continue.dev, Windsurf, Roo Code, Claude Code CLI, and Amazon Q Developer. Any MCP-compatible client can connect.

Yes. It works with Claude Desktop and Claude Code out of the box, with Cursor and other MCP-enabled IDEs, and with any assistant that supports the Model Context Protocol. The one-click setup prompt above works with ChatGPT and other assistants too.

Interactive MCP Apps views only appear on hosts that announce the capability (e.g. Claude); other clients get the same data as plain JSON. Also confirm you have not set EBAY_MCP_UI=off and that the views are built (npm run build runs build:ui).

322 tools across 270 unique endpoints — 100% of eBay's Sell APIs.

Yes. It is released under the MIT license.

It runs entirely on your machine over STDIO (or local HTTP). There is no cloud relay — your eBay credentials never leave your computer.

Node.js ≥ 20, a free eBay Developer Account (Client ID + Client Secret), then run npm run setup.

Client credentials (the default) allow about 1,000 requests/day. Authenticating with a user token via OAuth raises this to 10,000–50,000 requests/day depending on your account tier.

Yes. Switch with the EBAY_ENVIRONMENT variable (sandbox or production).

Credentials are stored locally in your .env file and used only to call eBay directly. See SECURITY.md and EBAY_COMPLIANCE.md.

You interact in natural language through your AI assistant. OAuth token management, automatic retries with backoff, and type-safe Effect-backed validation are built in. See the comparison table above.

Yes. Fixed-price listing create, revise, relist, and end operations are supported through the Trading API tools.

Complete the OAuth flow with npm run setup to authenticate with a user token (10k–50k requests/day instead of the default 1k).

TypeScript and Node.js (ESM), using the official MCP SDK, Effect-backed validation with a Zod-compatible MCP adapter, and OpenAPI-generated types.

Run npm install -g ebay-mcp@latest (or npm update -g ebay-mcp).

No. "Runs locally" means the server process runs on your machine — it still needs an internet connection and valid credentials to reach eBay's live APIs.

Contributing

Contributions welcome. Fork → branch → add tests → npm run check && npm test → commit with Conventional Commits → open a PR.

  • Working on the codebase or with a coding agent? Start with AGENTS.md — build/test commands, module map, and the add-an-endpoint workflow.

  • Code style lives in CODE-STYLE.md. Architecture and decision context live in ARCHITECTURE.md and ADRs.

  • Full contribution guidelines: CONTRIBUTING.md.

Resources

Project docs:

Official specs and tooling:

License

MIT — see LICENSE.

Contributors

Thanks to everyone who has helped make this project better! 🎉


Support this project · Created by Yosef Hayim Sabag

eBay MCP server · Model Context Protocol for eBay Sell APIs · connect Claude, Cursor, and any AI assistant to eBay inventory, orders, marketing, and analytics.

Install Server
A
license - permissive license
C
quality
A
maintenance

Maintenance

Maintainers
23hResponse time
4dRelease cycle
49Releases (12mo)
Commit activity
Issues opened vs closed

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