The value is the spread: an agent asks the same question of Facebook, eBay, Depop and Poshmark and then opens whichever listing looks right. Each source degrades on its own — missing eBay keys or missing Chrome disables just that marketplace — so a partial setup still returns results. Depop is slower than Facebook and eBay, around 5s per search, because it drives a browser, and Poshmark has no official API behind it.
An MCP server that puts four resale marketplaces behind a single search — Facebook Marketplace, eBay, Depop and Poshmark — with each site's own filters preserved, and a second call that opens any result in full.
- search_marketplace against one marketplace or all of them at once, returning listing ID, title, price, location and photo count
- Filters that follow each site: minPrice and maxPrice everywhere, condition and category on eBay, Depop and Poshmark, sizes and colors on Depop and Poshmark, brand and department on Poshmark, location and showSold on Facebook
- get_listing_details takes an ID from a search result and returns the description, every photo and the seller — plus delivery types and shipping on Facebook, and service codes on eBay
- list_marketplaces reports which sources are actually enabled right now
- Facebook needs no account and no browser; eBay goes through the official Browse API with OAuth tokens cached and refreshed for you
Launched over stdio as npx -y secondhand-mcp. Facebook needs nothing at all. eBay needs a free developer account for EBAY_CLIENT_ID and EBAY_CLIENT_SECRET, with EBAY_MARKETPLACE_ID choosing the regional site — EBAY_US by default. Depop and Poshmark drive a headless Chrome; if Chrome or Chromium is not installed they are skipped and the other sources keep working. MARKETPLACES limits which sources are active.
One command — npx -y secondhand-mcp
