关于 Ebay Mcp
Ebay Mcp 是面向 AI 助手的开源本地 MCP 服务,用于操作 eBay Sell API。它覆盖库存、履约、营销、分析和开发者操作,凭据保存在用户本机。
主要功能
- 01提供 eBay Sell API 操作工具
- 02管理库存、刊登和订单
- 03处理营销与分析
- 04管理并刷新 OAuth 令牌
- 05通过 STDIO 或本地 HTTP 运行
- 06在沙盒与生产环境间切换
适用场景
- 01查看库存及可用数量
- 02跟踪未履约订单和退款
- 03管理推广刊登活动
- 04检查卖家指标和 API 速率限制
MCP 相关
本地 MCP 服务通过 379 个工具向 MCP 客户端开放 eBay Sell API 操作,并通过 STDIO 或本地 HTTP 运行。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
eBay MCP 服务 — 让 Claude、Cursor 和任何 AI 助手全面访问 eBay 的 Sell API。提供 379 个库存、订单、营销和分析工具,使用你自己的密钥在本地运行。
非官方开源项目 — 与 eBay Inc. 无关联,未经其授权或认可。
eBay MCP 是一个本地 Model Context Protocol 服务,可将 AI 助手 — Claude Desktop、Claude Code、Cursor、Cline、Windsurf、Zed、Continue.dev、Roo Code 和 Amazon Q Developer — 直接连接到 eBay 的 Sell API。它提供 379 个工具,覆盖其跟踪的 100% 的 eBay Sell、Commerce 和 Developer API(356 个不重复端点),用于库存管理、订单履行、Promoted Listings 营销、分析和开发者工具。所有内容都通过 STDIO 或本地 HTTP 在你的计算机上运行 — 无需云端中继,你的 eBay 凭据也不会离开计算机。
免责声明: 非官方第三方项目 — 与 eBay Inc. 无关联,也未获其认可。 按“原样”提供,不作任何保证。你有责任遵守 eBay API 许可协议 和数据处理要求,妥善保管凭据,并遵守速率限制。投入生产前请先在沙盒中测试。请参阅 LICENSE。
目录
- 功能
- 能力概览
- eBay MCP 与原始 eBay API 的对比
- 一键式 AI 设置
- 快速开始
- 演示
- 配置
- 可用工具
- 交互式 UI(MCP Apps)— beta
- 使用示例
- 范围与安全
- 日志与故障排查
- 常见问题
- 贡献
- 资源
- 许可证
- 贡献者
功能
- 379 个 eBay API 工具 — 全面覆盖 eBay Sell API,包括库存、订单、营销、分析、元数据、分类体系和开发者工具。
- 9 个 AI 客户端,自动配置 — Claude Desktop、Cursor、Zed、Cline、Continue.dev、Windsurf、Roo Code、Claude Code CLI 和 Amazon Q Developer。
- 内置 OAuth 2.0 — 完整的用户令牌管理,支持自动刷新,并可在用户令牌(每天 10k–50k 次请求)与客户端凭据(每天 1k 次请求)之间智能回退。
- 默认具备弹性 — 遇到
429速率限制时自动采用指数退避重试,并清晰、一贯地呈现错误。 - 类型安全 — 全流程使用 TypeScript,工具输入经 Zod 验证,类型由 OpenAPI 生成。
- 本地优先且保护隐私 — 通过 STDIO 或本地 HTTP 运行;你的凭据和数据绝不会离开你的设备。
- 沙盒和生产环境 — 通过一个变量即可切换环境。
- 一条命令完成设置 —
npm run setup可配置凭据、OAuth 和 MCP 客户端,并自动打开浏览器进行 OAuth 流程。 - 经过充分测试 — 每次变更都会通过 GitHub Actions 在 CI 中运行 1,000 多项自动化测试。
能力地图
在决定要启用哪个工具系列,或询问助手能做什么时,请使用此地图。系列名称与 EBAY_MCP_TOOLS 相同,因此你可以启用所有工具、动态发现工具,或仅启用特定工作流所需的系列。
| 系列 | 可用功能 | 推荐的第一个请求 |
|---|---|---|
account | 商业政策、履约政策、付款政策、退货政策、销售税、订阅、计划、费率表运费、付款设置、合并运费规则和用户偏好(Account API v2) | “显示我的 eBay 履约政策。” |
finances | 付款、付款摘要、交易、转账、卖家资金、账单活动和订单收入 | “汇总过去 30 天的付款。” |
inventory | 库存商品、报价、库存地点、商品组、批量报价流程以及 SKU/地点映射 | “列出我所有在售库存商品及其可用数量。” |
feed | 异步订单、库存和客户服务指标报告任务、定期计划,以及 Feed 文件上传/下载 | “创建过去 10 天的订单报告任务。” |
stores | eBay Store 详情、商店分类(添加、重命名、移动、删除)和分类任务状态 | “显示我的 eBay Store 分类树。” |
fulfillment | 订单、发货履约、退款、付款争议和争议证据 | “显示过去 7 天未履约的订单。” |
logistics | 运费报价、购买标签、货件和标签下载(限量发布的 Logistics API) | “获取此订单的运费报价。” |
browse | 用于市场调研的在售商品搜索和商品详情(Browse API) | “目前有哪些类似商品在售?” |
marketing | 促销刊登广告系列、广告、促销、竞价和营销报告 | “列出我所有正在运行的促销刊登广告系列。” |
analytics | 流量报告、卖家标准和客户服务指标 | “显示我的卖家标准资料。” |
communication | 买卖双方消息、协商、通知和反馈 | “显示需要回复的近期买家消息。” |
metadata / taxonomy | 分类树、属性、商品状况、退货政策元数据、税务辖区、车辆兼容性、承运商/服务/地点、处理时间、已过期分类、批量属性导出和慈善组织 | “查找此分类的必填商品属性。” |
other | 身份、VeRO、翻译和国际运输支持 API | “显示我当前的卖家身份详情。” |
developer / token-management | 速率限制、签名密钥、OAuth URL、令牌刷新和诊断 | “检查我的 eBay API 速率限制。” |
trading | 用于固定价格刊登和拍卖的旧版 XML 刊登创建、修改、重新刊登和结束操作 | “根据此 SKU 创建固定价格刊登草稿。” |
connector | 在 eBay MCP 目录中搜索和获取工具的 ChatGPT 连接器工具 | “在 eBay 工具目录中搜索订单工具。” |
刊登前检查:必填商品属性
调用 ebay_create_or_replace_inventory_item、ebay_create_offer 或
ebay_get_listing_fees 前,请获取所选分类的实时要求:
ebay_get_default_category_tree_id → ebay_get_category_suggestions →
ebay_get_item_aspects_for_category
属性响应会标明必填和推荐的商品属性。创建报价前,请将所有必填属性添加到库存商品中。要求会因分类和市场而异,因此任一项发生变化时都应重新查询;不要依赖示例或固定的全局备用值。
拍卖报价
ebay_create_offer、ebay_update_offer 和 ebay_bulk_create_offer 通过同一 Inventory 模型支持这两种刊登形式:
| 字段 | FIXED_PRICE | AUCTION |
|---|---|---|
pricingSummary.price | 刊登价格 | 可选的一口价,至少比起拍价高 30% |
pricingSummary.auctionStartPrice | — | 起拍价 |
pricingSummary.auctionReservePrice | — | 可选;必须高于起拍价,且 eBay 会收取费用 |
listingDuration | GTC | 天数,例如 DAYS_7(不能使用 GTC) |
availableQuantity | 任意 | 省略或设为 1——拍卖商品只能售出一件 |
| 最佳报价 | 允许 | 类别支持时允许,但不能与一口价同时使用 |
quantityLimitPerBuyer / eBayPlusIfEligible | 允许 | 不允许 |
listingStartDate | 仅在明确要求定时开始时使用(eBay 可能会收费) | 同左 |
查看 ebay_get_listing_type_policies,了解类别允许的刊登形式和时长,然后在调用 ebay_publish_offer 前查看 ebay_get_listing_fees。混合两种形式的请求正文会在本地被拒绝,不会发送给 eBay。
Trading(XML)路径上的拍卖
旧版工具使用顶层 format 参数切换形式(默认为 FIXED_PRICE)。当 ebay_create_listing、ebay_revise_listing、ebay_end_listing 和 ebay_relist_item 使用 format: "AUCTION" 时,会调用支持拍卖的接口(AddItem、ReviseItem、EndItem、RelistItem),而不是 *FixedPriceItem 系列接口;ebay_create_listing 还会自动为 Item 添加 ListingType: "Chinese":
Trading Item 字段 | FIXED_PRICE | AUCTION |
|---|---|---|
StartPrice | 刊登价格 | 起拍价(创建时必填) |
ReservePrice | 不允许 | 可选;必须高于 StartPrice(保留价会产生 eBay 费用) |
BuyItNowPrice | 不允许 | 可选;至少比 StartPrice 高 30% |
ListingDuration | GTC(eBay 接受的唯一固定价格刊登时长) | 天数,例如 Days_7(创建时必填;不能使用 GTC) |
Quantity | 任意 | 省略或设为 1 |
BestOfferDetails.BestOfferEnabled | 允许 | 类别支持时允许,但不能与 BuyItNowPrice 同时使用 |
ebay_end_listing 的原因 SellToHighBidder | 不允许 | 结束有出价的拍卖 |
混合请求载荷会在本地被拒绝。如果不清楚现有商品的刊登形式,请先使用 ebay_get_listing 读取其 ListingType(Chinese 表示拍卖)。
上传本地文件中的照片和视频
报价至少需要一张图片才能发布。媒体工具会通过 eBay 的 Media API 上传本地文件,并返回 Inventory API 所需的信息:
| 工具 | 功能 |
|---|---|
ebay_upload_images | 将图片上传到 eBay Picture Services(createImageFromFile),并按顺序返回 EPS URL,供 product.imageUrls 使用 |
ebay_upload_video | 执行视频生命周期操作(createVideo → uploadVideo → getVideo),并返回供 product.videoIds 使用的 videoId |
ebay_get_video | 重新检查仍处于 PROCESSING 状态的视频 |
ebay_attach_media_to_inventory_item | 读取商品、上传文件,并仅重写 product.imageUrls / product.videoIds——绝不会发布商品;除非设置了 allowPartial,否则只要有任何上传失败,就不会改动商品 |
默认禁止访问本地文件:设置 EBAY_MCP_MEDIA_DIRS(以路径分隔符分隔的目录)和/或 EBAY_MCP_MEDIA_ROOT(一个目录,也用于解析 media://<relative-path> 引用)以允许访问。执行包含性检查前会先解析符号链接;任何位于允许目录之外的文件都会在上传前被拒绝。支持的格式:JPG、PNG、GIF、BMP、TIFF、WEBP、AVIF、HEIC,最大 12 MB;MP4/MOV,最大 150 MB。未使用的上传文件会在 eBay 端过期;刊登使用后便会永久保留。
图片 URL 和文档
这八个工具也属于 inventory 系列:
| 工具 | 功能 |
|---|---|
ebay_create_image_from_url | 将 HTTPS 源 URL 发送给 eBay,并返回 imageId、location 以及包含 EPS URL 的完整 image 响应 |
ebay_create_document | 使用 documentType 和 languages 创建待处理的刊登文档 |
ebay_create_document_from_url | 直接通过 documentUrl(HTTPS)和元数据创建刊登文档 |
ebay_upload_document | 将本地文件上传到待处理的 documentId |
ebay_get_document | 返回刊登文档的状态和元数据 |
ebay_upload_post_order_document | 使用 documentUsageType、entityType 和 entityId 上传文件;返回 documentId 和 location |
ebay_download_post_order_document | 返回内嵌的 PDF MCP 资源,包含 base64 字节;不会写入本地文件 |
ebay_remove_post_order_document | 删除已提交的售后文档 |
对于刊登手册,调用 ebay_create_document,并传入
{"documentType":"USER_GUIDE_OR_MANUAL","languages":["ENGLISH"]},然后调用
ebay_upload_document,并传入返回的 documentId 和
"path":"media://manual.pdf"。或者,调用 ebay_create_document_from_url,
并传入相同的元数据以及 "documentUrl":"https://example.com/manual.pdf"。
使用 ebay_get_document 确认状态为 ACCEPTED 后,再将 ID 关联到
刊登。调用这些工具需要用户同意 sell.inventory,包括读取操作。
刊登文档支持 PDF、JPEG/JPG 和 PNG,大小不超过 10 MiB(10,485,760 字节)。 售后文档还支持 BMP 和 GIF,大小限制为 5 MiB(5,242,880 字节)。 本地上传使用上述相同的媒体允许列表,并会检查扩展名和文件签名。不支持 动画/多页 PNG;多页内容请使用 PDF。eBay 会根据用途限制 PDF 页数。
对于退货标签,调用 ebay_upload_post_order_document,并传入
{"path":"media://label.pdf","documentUsageType":"RETURN_SHIPPING_LABEL","entityType":"RETURNS","entityId":"YOUR_RETURN_ID"}。
初始状态为 SUBMITTED;发布需要单独调用 eBay GraphQL mutation,无法通过这些工具完成。
已提交文档仅所有者可下载;已发布文档需要在售后流程中获得授权后才能下载。
已发布文档无法删除,过期文档不可用。
售后工具需要符合条件的密钥集,并需要用户同意
https://api.ebay.com/oauth/api_scope/commerce.post_order.document。
将其添加到现有的 EBAY_OAUTH_SCOPES 列表中,然后重新执行 OAuth 设置/授权。
该变量会替换请求的 scope 列表,因此请保留你需要的其他 scope。
刷新令牌不会授予额外的 scope。系统可识别此 scope,但不会将其添加到默认授权请求中。
所有 Media API POST 操作均受 eBay 用户级限制:每五秒最多 50 个请求;速率限制错误会
返回给调用方。
请参阅 eBay 的 Media API 概览 和发行说明。
财务、信息流、商店和运输标签
这些系列涵盖了 Sell API 的其余部分:Finances、Feed、Stores、Logistics 和 Account v2,以及之前缺失的 Metadata 运输、Taxonomy 和 Charity 端点:
| 系列 | 新增内容 |
|---|---|
finances | 只读的付款、付款和交易摘要、交易、转账、卖家资金、账单活动和订单收入 |
feed | 订单、库存和客户服务指标报告任务;LMS 和 Seller Hub 上传任务;定期计划和模板;输入文件和结果文件 |
stores | eBay 商店详情和商店分类变更(添加、重命名、移动、删除),以及任务轮询 |
logistics | 运输报价、邮资购买、货件、取消和 PDF 标签 |
account | Account API v2 费率表、拆分付款(中国大陆卖家)、合并运输规则和用户偏好设置 |
metadata / taxonomy | 运输承运商、服务、地点和处理时间;已过期分类;批量属性导出;慈善组织查询 |
异步变更。 Feed 任务和商店分类变更会返回从 eBay 的 Location 标头中读取的
taskId(Feed 计划会返回 scheduleId)。轮询 ebay_get_feed_task 或
ebay_get_store_task,直到任务完成,然后获取任何结果文件。eBay 同一时间只允许一个商店分类变更在处理中。
文件输入和输出。 下载内容(Feed 输入、结果和计划文件、运输标签及 Taxonomy 属性导出)会以嵌入式 MCP 资源的形式返回,包含 base64 字节;不会写入磁盘。一旦确定文件大小超过 25 MiB,就会立即报错,不再读取其余内容。EBAY_US 等大型市场的属性导出会超过此限制,因此应按分类使用
ebay_get_item_aspects_for_category。ebay_upload_feed_task_file 会通过与媒体工具相同的
EBAY_MCP_MEDIA_DIRS / EBAY_MCP_MEDIA_ROOT 允许列表,读取最大 15 MiB(eBay 数据文件限制)的本地
.xml、.csv、.zip 或 .gz 文件。
资金流转。 ebay_create_shipment_from_shipping_quote 会购买邮资并向卖家的账单协议收费;ebay_cancel_shipment 会在标签未使用时退款。
可选范围。 系统识别以下两个范围,但默认从不请求:
- 三个订单收入工具所需的
https://api.ebay.com/oauth/api_scope/sell.finances.earnings.read。 - 所有 Logistics 工具所需的
https://api.ebay.com/oauth/api_scope/sell.logistics;该 API 仅限有限发布。
符合条件的密钥集需将该范围添加到 EBAY_OAUTH_SCOPES,同时保留所需的其他范围,然后重新进行 OAuth 授权。
数字签名(欧盟/英国卖家)。 对于注册地在欧盟或英国的卖家,eBay 要求每次 Finances API 调用以及 issueRefund 都使用
数字签名;否则 eBay 会返回
403 Missing x-ebay-signature-key header。启用签名的方法:
- 运行
ebay_create_signing_key(建议使用 ED25519)并保存响应 — eBay 不会再次显示私钥。 - 将其
jwe设置为EBAY_SIGNING_KEY_JWE,将其privateKey设置为EBAY_SIGNING_PRIVATE_KEY(使用返回的 base64 值或 PEM 密钥),然后重启服务。
此后,这些调用会携带 x-ebay-signature-key、Content-Digest、Signature-Input 和
Signature 标头(RFC 9421)。其他调用从不签名,且在这两个变量未设置时不会有任何变化。通过 EBAY_MCP_API_BASE_URL 转发时,调用会针对其实际访问的 eBay 主机和路径(api.ebay.com 或 apiz.ebay.com)进行签名,因此代理必须转发 eBay 的 Host 标头和原始 eBay 路径。
eBay MCP 与原始 eBay API
两者都与相同的 eBay 端点通信——区别在于,你不必再自行构建其他所有内容。
| eBay MCP Server | 原始 eBay REST API | |
|---|---|---|
| 接口 | 通过 AI 助手使用自然语言 | 手动编写 HTTP 请求并解析 JSON |
| OAuth 和令牌刷新 | 内置,自动刷新 | 由你实现并维护 |
| 速率限制处理 | 自动重试,并使用指数退避 | 手动处理 429 并进行退避 |
| 输入验证 | 每个工具都提供 Zod 架构和 TypeScript 类型 | 无——你需要自行验证负载 |
| 设置 | 一个向导(npm run setup) | 每次调用都要配置身份验证、标头和市场 |
| AI 客户端支持 | 自动配置 9 个客户端 | 不适用 |
| API 覆盖范围 | 涵盖 Sell API 100% 的 379 个工具,开箱即用 | 根据文档构建每个请求 |
| 托管方式 | 在本地运行,无云端中继 | 由你自行搭建基础设施 |
一键式 AI 设置
让 AI 助手为你完成设置。 复制下方提示词,并将其粘贴到 Claude、ChatGPT 或任何支持 MCP 的 AI 助手中。
点击复制 AI 设置提示词
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/
快速开始
1. 获取 eBay 凭据
- 创建免费的 eBay Developer Account。
- 在 Developer Portal 中生成应用密钥。
- 保存你的 Client ID 和 Client Secret。
2. 安装
npm install -g ebay-mcp # from npm (recommended)
或从源代码安装:
git clone https://github.com/YosefHayim/ebay-mcp.git
cd ebay-mcp && npm install && npm run build
3. 运行设置向导
npm run setup
该向导会配置你的 eBay 凭据、设置 OAuth(以获得更高的速率限制)、自动检测并配置你的 MCP 客户端,并自动保存所有设置。
4. 使用只读请求进行验证
重启 MCP 客户端并询问:
“检查我的 eBay API 速率限制。”
这应该会调用 ebay_get_rate_limits 或 ebay_get_user_rate_limits,确认服务、凭据和 MCP 客户端配置正常,且不会更改卖家数据。
5. 开始使用
通过 AI 助手开始管理 eBay。先从只读问题开始,确认目标环境是沙盒还是生产环境后,再使用会修改库存、订单或推广活动的工具。
📸 可视化设置指南(eBay Developer Portal)
设置向导(npm run setup)会自动处理 OAuth。以下是在 eBay Developer Portal 中查找凭据的方法:
步骤 1 — 在 Developer Portal 中,复制你的 App ID (Client ID) 和 Cert ID (Client Secret):

步骤 2 — 在应用的 User Tokens 设置中,复制 RuName(eBay 重定向 URL):

步骤 3 — 运行 npm run setup。浏览器将打开以进行 OAuth 登录,并引导你完成 eBay 登录:

步骤 4 — 根据提示,粘贴回调 URL 中的授权码:

向导会用授权码换取令牌、保存令牌并配置你的 MCP 客户端。现在,你已启用用户令牌身份验证(每天可发送 10k–50k 次请求,而默认值为每天 1k 次)。
演示
通过 Claude Desktop 查看 eBay MCP Server 的实际演示:
https://github.com/user-attachments/assets/0173c8df-221c-4943-a4ce-cd20bce79f4b
配置
环境变量、工具开放、身份验证与客户端兼容性
npm run setup会为你写入.env;以下变量供参考。
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_SITE_ID=0 # Trading API site override; defaults from EBAY_MARKETPLACE_ID
EBAY_CONTENT_LANGUAGE=en-US # default request content language
EBAY_USER_REFRESH_TOKEN=your_token # for higher rate limits
# EBAY_SIGNING_KEY_JWE=<jwe> # Digital Signatures for EU/UK sellers (jwe from ebay_create_signing_key)
# EBAY_SIGNING_PRIVATE_KEY=<key> # privateKey from the same response (base64 PKCS#8 or PEM)
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)
EBAY_READ_ONLY=false # when true, only register read-only tools (gets/lists/searches)
# Local photo/video upload (optional — off until a directory is allowed):
# EBAY_MCP_MEDIA_DIRS=/srv/media # path-delimited directories the media and feed upload tools may read
# EBAY_MCP_MEDIA_ROOT=/srv/media # root for media://<relative-path> references (also allowed)
# HTTP deploy (optional — Docker / Railway / self-hosted):
# MCP_HOST=0.0.0.0 # default is 0.0.0.0 when PORT is set
# MCP_PORT=3000 # preferred over platform PORT
# MCP_AUTH_TOKEN=secret # static Bearer for HTTP MCP (skips OAuth verifier)
# MCP_CORS_ORIGINS=https://app.example.com # browser origins allowed cross-origin (comma-separated); default: loopback origins only
工具开放(EBAY_MCP_TOOLS)
默认情况下,所有工具都会同时提供给 Agent。在较长的对话中,这份目录会占用相当一部分上下文窗口,因此有两种可选模式可缩减它:
| 值 | 行为 | 适用范围 |
|---|---|---|
all (默认,或未设置) | 启动时提供所有工具。 | 所有宿主 |
dynamic | 仅显示三个发现工具(list_ebay_tools、enable_ebay_tools、disable_ebay_tools)。Agent 搜索目录并加载所需工具;这些工具随后会原生显示。 | 支持 tools/listChanged 的宿主(如 Claude) |
inventory,fulfillment,… | 仅注册指定的类别(如下所列),并在整个会话期间保持不变。 | 所有宿主(包括 ChatGPT、Cursor) |
类别列表按字面值处理——你指定什么,就只会启用什么。ChatGPT 连接器需要 connector 类别(包含其 search/fetch 工具);请显式添加,例如 EBAY_MCP_TOOLS=connector,inventory。未知类别名称会在启动时立即报错,并显示有效列表。有效类别:connector、token-management、account、finances、inventory、feed、stores、fulfillment、logistics、marketing、analytics、metadata、taxonomy、communication、browse、other、developer、trading。
身份验证与速率限制
| 模式 | 每日限额 | 最适合 | 设置 |
|---|---|---|---|
| 客户端凭据(默认) | 1,000 req/day | 开发、测试 | 使用 Client ID + Secret 自动配置 |
| 用户令牌(推荐) | 10k–50k req/day | 生产环境、高使用量 | 通过 npm run setup 使用 OAuth |
用户令牌的限额因账户等级而异(Individual 10k · Commercial 25k · Enterprise 50k+)。发生 429 错误时,服务会使用指数退避机制重试并报告错误。请在 Developer Portal 中监控使用情况。
Auto-configured by npm run setup. Requires Node.js ≥ 24 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 |
可用工具
按类别划分的 379 个工具(覆盖 100% 的 Sell API)
379 个工具,覆盖 100% 的 Sell API,并按类别整理。每个链接都指向 src/tools/categories/ 中的工具定义和处理程序:
| 类别 | 可执行的操作 |
|---|---|
| 连接器 | 在 eBay MCP 目录中搜索和获取 ChatGPT 连接器工具 |
| 账户 | 业务、履约、付款和退货政策;计划;订阅;销售税;费率表、付款设置、合并配送规则和用户偏好(accountV2.ts,Account API v2) |
| 财务 | 付款、交易、转账、卖家资金、账单活动、订单收入 |
| 库存 | 库存商品、报价、地点、商品组、批量操作、SKU/地点映射,以及本地照片/视频上传(media.ts,Media API) |
| Feed | 订单、库存和客户服务指标的 feed 任务;计划和模板;feed 文件上传/下载 |
| 店铺 | eBay 店铺详情、店铺类别、类别任务 |
| 履约 | 订单、配送、退款、纠纷、付款纠纷证据 |
| 物流 | 配送报价、购买标签、货件、下载标签(有限发布) |
| 营销 | 推广刊登活动、广告、促销、竞价、批量操作 |
| 分析 | 流量报告、卖家标准、客户服务指标 |
| 通信 | 买家与卖家消息、协商、通知、反馈 |
| 元数据 | 退货政策、销售税辖区、汽车兼容性、配送承运商/服务/地点、处理时间 |
| 分类体系 | 类别树、商品属性、商品状况、已过期类别、批量导出属性,以及慈善组织(charity.ts,Charity API) |
| 其他 | 身份、VeRO、翻译和国际配送支持 API |
| Trading(旧版 XML) | 创建、修改、重新刊登和结束固定价格及拍卖刊登 |
| 开发者 | 速率限制、签名密钥、客户端注册 |
| 令牌管理 | OAuth URL 生成和令牌管理 |
工具示例: ebay_get_inventory_items、ebay_get_offers_by_skus、ebay_get_orders、ebay_create_offer、ebay_get_campaigns、ebay_get_oauth_url。
如需完整的机器可读索引,请参阅 llms.txt。
交互式表格、卡片、图表和统计视图(测试版)
测试版 — 此功能刚刚推出,将随着 MCP Apps 规范不断完善,主机支持也仍在逐步推出。该功能需选择启用,并会回退为普通 JSON,因此不会影响现有客户端。使用
EBAY_MCP_UI切换该功能(请参阅配置)。
在支持 MCP Apps 的主机上,常见的读取工具会将结果渲染为交互式视图,而非原始 JSON——包括可排序的表格、详情卡片、图表或统计网格——并采用主机自身的主题。在其他所有环境中,相同工具都会返回普通 JSON,因此不会造成任何影响。该功能基于官方 MCP Apps SDK(@modelcontextprotocol/ext-apps)构建;这个扩展可让 MCP 服务向对话式客户端提供交互式 UI。
- 需选择启用,并受主机能力控制。 只有声明支持 MCP Apps 的客户端(例如 Claude)才会收到视图声明。不支持该功能的主机(例如 Cursor)会静默收到 JSON。
- 紧急开关。 设置
EBAY_MCP_UI=off,即可在所有环境中强制返回普通 JSON,即使主机支持该功能也一样。 - 几乎不消耗 Token。 主机会在带外获取每个视图的 HTML,且不会将其载入模型上下文;模型始终只会看到一行摘要,以及原本就会收到的结构化数据。
- 只读。 视图只会调用读取工具(查看行详情、翻页、刷新),绝不会修改你的 eBay 数据。
目前有 15 个核心工作流工具选择启用了此功能,分为以下四种类型:
| 类型 | 工具 |
|---|---|
| 表格 | ebay_get_orders、ebay_get_shipping_fulfillments、ebay_get_offers、ebay_get_inventory_items、ebay_get_inventory_locations、ebay_get_payment_dispute_summaries |
| 卡片 | ebay_get_order、ebay_get_offer、ebay_get_inventory_item、ebay_get_payment_dispute、ebay_get_seller_standards_profile |
| 图表 | ebay_get_traffic_report、ebay_get_customer_service_metric |
| 统计 | ebay_get_rate_limits、ebay_get_user_rate_limits |
使用 pnpm build(或 pnpm build:mcp-apps)即可将视图构建为独立的 HTML;它们会随发布包一同提供,且无需访问网络即可加载。
常见任务,可以像向 AI 助手提出请求那样表述:
- 设置 OAuth — “帮我为 eBay 账号设置 OAuth。” → 通过
ebay_get_oauth_url生成授权 URL,然后配置刷新令牌。每天可处理 10k–50k 个请求。 - 管理库存 — “显示我所有在售的商品。” →
ebay_get_inventory_items会返回 SKU、数量和状态。 - 为商品刊登添加照片 — “将 ~/listings/megadrive 中的三张照片添加到 SKU MD-001。” →
ebay_attach_media_to_inventory_item会将照片上传至 eBay Picture Services,并更新product.imageUrls(设置EBAY_MCP_MEDIA_DIRS即可允许访问该文件夹)。 - 发起拍卖 — “将这个 SKU 刊登为 7 天拍卖,起拍价 $9.99,保留价 $25。” → 使用
format: "AUCTION"、auctionStartPrice、auctionReservePrice和listingDuration: "DAYS_7"调用ebay_create_offer,然后调用ebay_publish_offer。对于旧版流程,使用format: "AUCTION"和 TradingItem(StartPrice、ReservePrice、ListingDuration: "Days_7")调用ebay_create_listing。 - 查询报价 —
ebay_get_offers会返回一个必填 SKU 对应的报价。若要列出整个库存中的报价,先调用ebay_get_inventory_items,然后针对每个 SKU 调用一次ebay_get_offers。 - 管理配送政策 — “创建一个配送政策,然后更新其处理时间。” →
ebay_create_fulfillment_policy会创建可重复使用的政策 ID,ebay_update_fulfillment_policy会替换其设置。 - 处理订单 — “获取过去 7 天内所有未完成配送的订单。” → 使用日期和配送状态筛选条件调用
ebay_get_orders。 - 创建营销活动 — “为电子产品创建推广刊登营销活动。” → 使用
ebay_create_campaign和相关营销工具。 - 批量操作 — “为所有‘Vintage Watches’商品打 10% 的折扣。” → 对匹配项调用
ebay_get_inventory_items+ebay_update_offer。
范围与安全
- 非官方项目。 这不是 eBay 产品,也不会授予超出你自己的 eBay Developer 账号所拥有权限的任何额外 API 权限。
- 本地服务,实时 API。 MCP 服务在你的计算机上运行,但工具仍会通过互联网调用 eBay 的沙盒或生产环境 API。
- 会修改数据的工具可能更改卖家数据。 库存、配送、营销、账号、feed、商店和 Trading 工具可能会创建、修改、退款、结束或以其他方式更新 eBay 记录,而
ebay_create_shipment_from_shipping_quote会购买邮资。请先在沙盒中测试。 - 工具暴露范围可配置。 如果需要更精简、适用于特定工作流的工具集,可使用
EBAY_MCP_TOOLS=dynamic或指定工具系列列表。 - 交互式视图为只读。 MCP Apps 视图可以翻页、刷新并深入查看读取类工具,但不会修改 eBay 数据。
- 合规责任由你承担。 请妥善保管凭证、监控速率限制,并遵守 eBay 的 API 条款和数据处理规则。
日志记录与故障排查
- 日志记录 — 基于 Winston,写入 stderr(符合 MCP 安全要求),也可选择输出到文件。
- 故障排查 — 服务未显示、身份验证错误、速率限制、结果为空。请先运行
npm run diagnose。
常见问题
什么是 eBay MCP 服务?
这是一个本地 Model Context Protocol 服务,向 AI 助手提供 379 个工具,覆盖其追踪的 100% eBay Sell、Commerce 和 Developer API(356 个端点)——包括库存、订单配送、营销、分析和开发者工具。
这是 eBay 官方产品吗?
不是。这是一个非官方的第三方开源项目。它与 eBay Inc. 无关联,也未获其授权或认可。
支持哪些 AI 助手和 MCP 客户端?
通过 `npm run setup` 会自动配置 9 个客户端:Claude Desktop、Cursor、Zed、Cline、Continue.dev、Windsurf、Roo Code、Claude Code CLI 和 Amazon Q Developer。任何兼容 MCP 的客户端都可以连接。可以与 Claude、ChatGPT 或 Cursor 一起使用吗?
可以。它开箱即用,支持 Claude Desktop 和 Claude Code,也支持 Cursor 和其他启用了 MCP 的 IDE,还支持任何兼容 Model Context Protocol 的助手。上方的一键设置提示词也适用于 ChatGPT 和其他助手。
为什么看不到交互式表格和图表?
交互式 MCP Apps 视图只会显示在声明了该功能的宿主端(例如 Claude)上;其他客户端会收到相同数据的纯 JSON。另请确认你没有设置 EBAY_MCP_UI=off,并且已构建这些视图(pnpm build 会运行 build:mcp-apps)。
它涵盖多少个 eBay API 和工具?
共涵盖 379 个工具,涉及 356 个不同的端点,占其跟踪的 eBay Sell、Commerce 和 Developer API 的 100%。
它是免费且开源的吗?
是。它基于 MIT 许可证发布。
它在本地运行还是在云端运行?
它完全通过 STDIO(或本地 HTTP)在你的计算机上运行。没有云中继,你的 eBay 凭据绝不会离开你的计算机。
开始使用需要什么?
需要 Node.js ≥ 24、一个免费的 eBay Developer Account(Client ID + Client Secret),然后运行 npm run setup。
eBay API 的速率限制是多少?
客户端凭据(默认方式)每天允许约 1,000 次请求。通过 OAuth 使用用户令牌进行身份验证后,每天的请求数可提高至 10,000–50,000 次,具体取决于你的账户等级。
它同时支持沙盒和生产环境吗?
支持。使用 EBAY_ENVIRONMENT 变量(sandbox 或 production)切换。
我的凭据和数据安全吗?
凭据存储在本地的 .env 文件中,仅用于直接调用 eBay。
这与直接调用 eBay API 有什么不同?
你可以通过 AI 助手使用自然语言进行交互。它内置了 OAuth 令牌管理、带退避机制的自动重试,以及类型安全的 Zod 验证。请参阅上方的对比表。
它可以上传我的照片和视频吗?
可以。ebay_upload_images、ebay_upload_video 和 ebay_attach_media_to_inventory_item 会读取本地文件(绝对路径或 media:// 引用),并通过 eBay 的 Media API 上传,返回 EPS 图片 URL 和视频 ID,供 product.imageUrls / product.videoIds 使用。ebay_upload_feed_task_file 也会以相同方式上传本地 Feed 文件。文件系统访问需主动启用:只有在 EBAY_MCP_MEDIA_DIRS 或 EBAY_MCP_MEDIA_ROOT 指定目录后,文件才可读取。请参阅从本地文件上传照片和视频。
它支持拍卖刊登吗?
支持,可通过 REST Inventory 报价工具实现:创建报价时设置 format: "AUCTION"、auctionStartPrice、可选的 auctionReservePrice 和以天数计的 listingDuration,然后发布即可。请参阅拍卖报价。旧版 Trading API 工具也支持相同设置:ebay_create_listing 使用 format: "AUCTION" 时,会发送带有 ListingType Chinese、起拍价 StartPrice 和以天数计的 ListingDuration 的 AddItem。
它支持 eBay 的旧版 Trading API(XML)吗?
支持。通过 Trading API 工具可执行创建、修改、重新刊登和结束刊登操作,适用于固定价格刊登(AddFixedPriceItem 系列,默认)以及拍卖(format: "AUCTION" → AddItem、ReviseItem、EndItem、RelistItem)。
如何获得更高的速率限制?
运行 npm run setup 完成 OAuth 流程,以用户令牌进行身份验证(每天 10k–50k 次请求,而非默认的 1k 次)。
它使用什么技术构建?
使用 TypeScript 和 Node.js(ESM)构建,采用官方 MCP SDK、用于工具输入的 Zod 模式、用于类型化异步错误的 Effect,以及由 OpenAPI 生成的类型。
如何更新到最新版本?
运行 npm install -g ebay-mcp@latest(或 npm update -g ebay-mcp)。
它可以离线运行吗?
不可以。“在本地运行”是指服务进程在你的计算机上运行;但要访问 eBay 的实时 API,仍需要互联网连接和有效凭据。
参与贡献
欢迎贡献。Fork → 创建分支 → 添加测试 → 运行下方检查 → 使用 Conventional Commits 规范提交 → 发起 PR。
pnpm typecheck && pnpm typecheck:mcp-apps # TypeScript (server + MCP Apps views)
pnpm check:ci # Biome lint + format
pnpm test && pnpm test:integration # Vitest unit + integration
pnpm build # Build to build/
推送前,若要在 Docker 中本地运行 CI 检查,可使用 act:act workflow_dispatch -W .github/workflows/ci.yml。机器上的 ~/.actrc 用于选择运行器、架构和共享缓存。
资源
项目文档:
- llms.txt — 面向 AI Agent 的精简项目概要。
- Releases 和 Issue Tracker。
官方规范和工具:
- eBay Developer Portal、Sell API docs、API License Agreement、Data Handling Requirements 和 API Status。
- Model Context Protocol 和 MCP Apps SDK。
- Node.js、npm package、TypeScript、Zod、Effect、Biome、Vitest 和 GitHub Actions。
- Claude Code 和 llms.txt。
许可证
MIT — 详见 LICENSE。
贡献者
感谢所有帮助改进此项目的人!🎉
支持此项目 · 由 Yosef Hayim Sabag 创建
eBay MCP 服务 · 面向 eBay Sell API 的 Model Context Protocol · 将 Claude、Cursor 和任何 AI 助手连接到 eBay 库存、订单、营销和分析功能。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
