Secondhand MCP
Conecta la IA con Facebook Marketplace, eBay, Poshmark y Depop para encontrarte las mejores ofertas.
Documentación
Secondhand MCP
Un servidor de Model Context Protocol (MCP) que permite a los asistentes de IA buscar en mercados de segunda mano. Busca en Facebook Marketplace, eBay, Depop y Poshmark artículos usados y de segunda mano: filtra por precio, categoría, condición, talla y color, y luego obtén detalles completos de los anuncios con fotos, descripciones e información del vendedor.
Funciona con Claude Desktop, Claude Code, Cursor y otros clientes que ejecutan servidores MCP localmente.
[!TIP] ¿Usas ChatGPT? Esto no funcionará allí.
Se ejecuta en tu computadora, por lo que solo funciona donde está tu computadora: Claude Desktop, Claude Code, Cursor. Secondhand MCP Cloud es la misma búsqueda, siempre activa, para que cualquier asistente que uses realmente pueda acceder a ella. Plan gratuito, sin tarjeta.
| Este repositorio | Cloud | |
|---|---|---|
| Claude Desktop, Code, Cursor | ✅ | ✅ |
| ChatGPT, Claude y otros asistentes | — | ✅ |
| Búsqueda desde tu teléfono | — | ✅ |
| Chrome ejecutándose en segundo plano | necesario | no necesario |
| Precio | gratis, para siempre | plan gratuito, luego $4.99 |
Mercados compatibles
| Mercado | Autenticación requerida | Notas |
|---|---|---|
| Facebook Marketplace | No | Búsqueda basada en ubicación |
| eBay | Sí (claves API) | API oficial de Browse |
| Depop | No | Requiere Chrome instalado |
| Poshmark | No | Requiere Chrome instalado |
Configuración
Claude Desktop
Agrega a ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"secondhand": {
"command": "npx",
"args": ["-y", "secondhand-mcp"],
"env": {
"EBAY_CLIENT_ID": "your-ebay-client-id",
"EBAY_CLIENT_SECRET": "your-ebay-client-secret",
"EBAY_MARKETPLACE_ID": "EBAY_US"
}
}
}
}
Claude Code
Agrega a ~/.claude/.mcp.json:
{
"mcpServers": {
"secondhand": {
"command": "npx",
"args": ["-y", "secondhand-mcp"],
"env": {
"EBAY_CLIENT_ID": "your-ebay-client-id",
"EBAY_CLIENT_SECRET": "your-ebay-client-secret",
"EBAY_MARKETPLACE_ID": "EBAY_US"
}
}
}
}
eBay, Depop y Poshmark son todos opcionales: si faltan las claves API de eBay o Chrome no está instalado, esos mercados se desactivan automáticamente y el resto sigue funcionando.
Depop y Poshmark / Requisito de Chrome
Depop y Poshmark requieren un navegador sin interfaz gráfica. Si Google Chrome o Chromium está instalado en tu sistema, ambos se activan automáticamente, sin necesidad de configuración. Si Chrome no se encuentra, se omiten silenciosamente.
En macOS, la primera vez que busques en Depop o Poshmark, es posible que veas un aviso del sistema pidiendo permiso para que Node.js controle Chrome. Esto es esperado: puppeteer necesita lanzar Chrome en modo sin interfaz. Permítelo una vez y no volverá a preguntar.
El navegador se ejecuta de forma invisible en segundo plano y solo se lanza cuando realmente buscas en Depop o Poshmark.
Configuración
Elegir mercados
De forma predeterminada, todos los mercados están habilitados. Para limitar cuáles están activos, establece la variable de entorno MARKETPLACES (separada por comas):
{
"env": {
"MARKETPLACES": "facebook,ebay"
}
}
Valores válidos: facebook, ebay, depop, poshmark
Claves API de eBay
eBay utiliza la API oficial de Browse. Necesitas una cuenta gratuita de desarrollador de eBay:
- Crea una cuenta en developer.ebay.com
- Crea una aplicación para obtener un ID de cliente y un secreto de cliente
- Agrégalos a tu configuración de MCP como
EBAY_CLIENT_IDyEBAY_CLIENT_SECRET
Mercado/Región de eBay
De forma predeterminada, el servidor apunta al sitio de eBay de EE. UU.. Para buscar en un mercado regional diferente, establece la variable de entorno EBAY_MARKETPLACE_ID:
{
"env": {
"EBAY_MARKETPLACE_ID": "EBAY_DE"
}
}
Valores comunes:
| Valor | Sitio |
|---|---|
EBAY_US | ebay.com (predeterminado) |
EBAY_DE | ebay.de |
EBAY_GB | ebay.co.uk |
EBAY_AU | ebay.com.au |
EBAY_FR | ebay.fr |
EBAY_IT | ebay.it |
EBAY_ES | ebay.es |
EBAY_CA | ebay.ca |
La lista completa está disponible en la documentación de la API de eBay.
Herramientas
search_marketplace
Busca artículos en todos los mercados.
| Parámetro | Requerido | Predeterminado | Descripción |
|---|---|---|---|
query | Sí | Términos de búsqueda | |
marketplace | No | facebook | facebook, ebay, depop, poshmark o all |
location | No | san francisco | Ciudad para buscar (solo Facebook) |
radiusMiles | No | 25 | Radio de búsqueda en millas, hasta 500 (solo Facebook) |
maxPrice | No | Precio máximo | |
minPrice | No | Precio mínimo | |
limit | No | 20 | Resultados máximos |
showSold | No | false | Incluir artículos vendidos (solo Facebook) |
includeImages | No | false | Incluir URL de imágenes en la salida |
sort | No | relevance | Orden de clasificación (Depop, Poshmark): relevance, newest, most_popular, price_low_to_high, price_high_to_low |
condition | No | Condición del artículo. eBay: new, like_new, good, fair. Depop: new, like_new, excellent, good, fair, used. Poshmark: new (NWT), like_new (NWOT), good, fair | |
category | No | Categoría del producto. Depop: tops, bottoms, dresses, coats-jackets, footwear, accessories, bags, jewellery, activewear, swimwear. Poshmark: Jackets_&_Coats, Dresses, Shoes, Accessories, etc. | |
brand | No | Filtro de marca (solo Poshmark): p. ej., "Nike", "Levi's", "Gucci" | |
department | No | Filtro de departamento (solo Poshmark): Women, Men, Kids | |
sizes | No | Filtro de talla (Depop, Poshmark): p. ej., ["S", "M", "L"] o ["US 9", "US 10"] | |
colors | No | Filtro de color (Depop, Poshmark): black, white, red, blue, green, yellow, orange, pink, purple, brown, grey, cream, multi, silver, gold |
Datos devueltos por mercado:
| Campo | eBay | Depop | Poshmark | |
|---|---|---|---|---|
| Título | Sí | Sí | Sí | Sí |
| Precio | Sí | Sí | Sí | Sí |
| Ubicación | Ciudad | Ciudad, Estado | — | — |
| Condición | — | Sí | — | — |
| Número de fotos | 1 miniatura | 1 miniatura | 1 miniatura | 1 miniatura |
| Vendedor | Sí | Sí | — | — |
get_listing_details
Obtén detalles completos de un anuncio específico usando un ID de los resultados de búsqueda.
| Parámetro | Requerido | Predeterminado | Descripción |
|---|---|---|---|
listingId | Sí | ID del anuncio de los resultados de búsqueda | |
marketplace | No | facebook | facebook, ebay, depop o poshmark |
Datos devueltos por mercado:
| Campo | eBay | Depop | Poshmark | |
|---|---|---|---|---|
| Descripción | Sí | Sí | Sí | Sí |
| Todas las fotos | Sí | Sí | Sí | Sí |
| Ubicación | Ciudad | Ciudad, Estado, País | — | — |
| Vendedor | Nombre | Nombre de usuario | Nombre de usuario | Nombre de usuario |
| Tipos de entrega | Sí | — | — | — |
| Envío | Sí/No | Códigos de servicio | Sí/No | Siempre incluido |
list_marketplaces
Lista todos los mercados habilitados y su estado.
search / fetch (investigación profunda)
Par de conveniencia que sigue el contrato de herramienta de investigación profunda de ChatGPT: nombres exactos, un solo argumento de cadena cada uno:
search(query): busca en todos los mercados habilitados a la vez y devuelve{ results: [{ id, title, text, url }] }, dondeidesmarketplace:listingIdfetch(id): devuelve los detalles completos del anuncio para un ID de resultado desearchcomo{ id, title, text, url, metadata }
Útil para clientes orientados a la investigación que esperan estos nombres de herramienta estándar; para búsquedas filtradas usa search_marketplace.
Cómo funciona
Facebook Marketplace: busca anuncios por ubicación, radio, precio y consulta. Resuelve nombres de ciudades a coordenadas. No se necesita inicio de sesión ni navegador. Facebook sirve a quienes no usan navegador una versión restringida de su API de búsqueda de vez en cuando (un solo resultado con más páginas detrás, o marcadores sin anuncio dentro); cuando eso sucede, el servidor lee la página de búsqueda sin sesión, que aún contiene una primera página completa de resultados.
eBay: utiliza la API oficial de Browse de eBay con credenciales de cliente OAuth 2.0. Los tokens se almacenan en caché y se renuevan automáticamente. El mercado regional objetivo se controla mediante EBAY_MARKETPLACE_ID (predeterminado: EBAY_US).
Depop: utiliza un navegador sin interfaz gráfica para buscar anuncios con soporte para filtros de categoría, condición, talla y color. La instancia del navegador se comparte entre solicitudes.
Poshmark: utiliza un navegador sin interfaz gráfica para buscar anuncios con soporte para filtros de condición, talla, color, clasificación y precio. Poshmark no se basa en la ubicación: todos los artículos se envían a nivel nacional.
Desarrollo
git clone https://github.com/jlsookiki/secondhand-mcp.git
cd secondhand-mcp
npm install
npm run build
Agregar un mercado
- Crea un nuevo archivo en
src/marketplaces/ - Extiende
BaseMarketplacee implementasearch()y opcionalmentegetListingDetails() - Agrega el constructor a
allMarketplacesensrc/marketplaces/index.ts
Limitaciones
- Facebook: puede fallar si Facebook cambia su interfaz
- eBay: requiere claves API de desarrollador (hay plan gratuito disponible)
- Depop: requiere Chrome/Chromium instalado; más lento que Facebook/eBay (~5 s por búsqueda)
- Poshmark: requiere Chrome/Chromium instalado; no tiene API oficial, por lo que depende del raspado de páginas
- Límite de velocidad: no hagas demasiadas solicitudes demasiado rápido
Licencia
MIT
