Secondhand MCP
Conecta a IA ao Facebook Marketplace, eBay, Poshmark e Depop para encontrar as melhores ofertas para você.
Documentação
Secondhand MCP
Um servidor Model Context Protocol (MCP) que permite que assistentes de IA pesquisem em marketplaces de produtos usados. Pesquise no Facebook Marketplace, eBay, Depop e Poshmark por itens usados e de segunda mão — filtre por preço, categoria, condição, tamanho e cor, e obtenha detalhes completos dos anúncios com fotos, descrições e informações do vendedor.
Funciona com Claude Desktop, Claude Code, Cursor e outros clientes que executam servidores MCP localmente.
[!TIP] Usando ChatGPT? Este não funcionará lá.
Ele roda no seu computador, então só funciona onde o seu computador está — Claude Desktop, Claude Code, Cursor. Secondhand MCP Cloud é a mesma busca, sempre ativa, para que qualquer assistente que você realmente use possa acessá-la. Plano gratuito, sem cartão.
| Este repositório | Cloud | |
|---|---|---|
| Claude Desktop, Code, Cursor | ✅ | ✅ |
| ChatGPT, Claude e outros assistentes | — | ✅ |
| Pesquisar pelo celular | — | ✅ |
| Chrome rodando em segundo plano | necessário | não necessário |
| Preço | grátis, para sempre | plano gratuito, depois $4.99 |
Marketplaces Suportados
| Marketplace | Autenticação Necessária | Observações |
|---|---|---|
| Facebook Marketplace | Não | Busca baseada em localização |
| eBay | Sim (chaves de API) | API Browse oficial |
| Depop | Não | Requer Chrome instalado |
| Poshmark | Não | Requer Chrome instalado |
Configuração
Claude Desktop
Adicione em ~/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
Adicione em ~/.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 e Poshmark são todos opcionais — se as chaves de API do eBay estiverem ausentes ou o Chrome não estiver instalado, esses marketplaces são desativados automaticamente e o restante continua funcionando.
Depop e Poshmark / Requisito do Chrome
Depop e Poshmark exigem um navegador headless. Se o Google Chrome ou Chromium estiver instalado no seu sistema, ambos são ativados automaticamente — sem necessidade de configuração. Se o Chrome não for encontrado, eles são ignorados silenciosamente.
No macOS, na primeira vez que você pesquisar no Depop ou Poshmark, pode aparecer um aviso do sistema pedindo permissão para o Node.js controlar o Chrome. Isso é esperado — o puppeteer precisa iniciar o Chrome em modo headless. Permita uma vez e não perguntará novamente.
O navegador roda invisivelmente em segundo plano e só é iniciado quando você realmente pesquisa no Depop ou Poshmark.
Configuração
Escolhendo Marketplaces
Por padrão, todos os marketplaces estão habilitados. Para limitar quais estão ativos, defina a variável de ambiente MARKETPLACES (separada por vírgulas):
{
"env": {
"MARKETPLACES": "facebook,ebay"
}
}
Valores válidos: facebook, ebay, depop, poshmark
Chaves de API do eBay
O eBay usa a API Browse oficial. Você precisa de uma conta gratuita de desenvolvedor do eBay:
- Crie uma conta em developer.ebay.com
- Crie um aplicativo para obter um Client ID e um Client Secret
- Adicione-os à sua configuração MCP como
EBAY_CLIENT_IDeEBAY_CLIENT_SECRET
Marketplace / Região do eBay
Por padrão, o servidor tem como alvo o site do eBay dos EUA. Para pesquisar em um marketplace regional diferente, defina a variável de ambiente EBAY_MARKETPLACE_ID:
{
"env": {
"EBAY_MARKETPLACE_ID": "EBAY_DE"
}
}
Valores comuns:
| Valor | Site |
|---|---|
EBAY_US | ebay.com (padrão) |
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 |
A lista completa está disponível na documentação da API do eBay.
Ferramentas
search_marketplace
Pesquise itens em vários marketplaces.
| Parâmetro | Obrigatório | Padrão | Descrição |
|---|---|---|---|
query | Sim | Termos de pesquisa | |
marketplace | Não | facebook | facebook, ebay, depop, poshmark ou all |
location | Não | san francisco | Cidade para pesquisar (somente Facebook) |
radiusMiles | Não | 25 | Raio de pesquisa em milhas, até 500 (somente Facebook) |
maxPrice | Não | Preço máximo | |
minPrice | Não | Preço mínimo | |
limit | Não | 20 | Máximo de resultados |
showSold | Não | false | Incluir itens vendidos (somente Facebook) |
includeImages | Não | false | Incluir URLs de imagens na saída |
sort | Não | relevance | Ordem de classificação (Depop, Poshmark): relevance, newest, most_popular, price_low_to_high, price_high_to_low |
condition | Não | Condição do item. eBay: new, like_new, good, fair. Depop: new, like_new, excellent, good, fair, used. Poshmark: new (NWT), like_new (NWOT), good, fair | |
category | Não | Categoria do produto. Depop: tops, bottoms, dresses, coats-jackets, footwear, accessories, bags, jewellery, activewear, swimwear. Poshmark: Jackets_&_Coats, Dresses, Shoes, Accessories, etc. | |
brand | Não | Filtro de marca (somente Poshmark): ex.: "Nike", "Levi's", "Gucci" | |
department | Não | Filtro de departamento (somente Poshmark): Women, Men, Kids | |
sizes | Não | Filtro de tamanho (Depop, Poshmark): ex.: ["S", "M", "L"] ou ["US 9", "US 10"] | |
colors | Não | Filtro de cor (Depop, Poshmark): black, white, red, blue, green, yellow, orange, pink, purple, brown, grey, cream, multi, silver, gold |
Dados retornados por marketplace:
| Campo | eBay | Depop | Poshmark | |
|---|---|---|---|---|
| Título | Sim | Sim | Sim | Sim |
| Preço | Sim | Sim | Sim | Sim |
| Localização | Cidade | Cidade, Estado | — | — |
| Condição | — | Sim | — | — |
| Contagem de fotos | 1 miniatura | 1 miniatura | 1 miniatura | 1 miniatura |
| Vendedor | Sim | Sim | — | — |
get_listing_details
Obtenha detalhes completos de um anúncio específico usando um ID dos resultados da pesquisa.
| Parâmetro | Obrigatório | Padrão | Descrição |
|---|---|---|---|
listingId | Sim | ID do anúncio dos resultados da pesquisa | |
marketplace | Não | facebook | facebook, ebay, depop ou poshmark |
Dados retornados por marketplace:
| Campo | eBay | Depop | Poshmark | |
|---|---|---|---|---|
| Descrição | Sim | Sim | Sim | Sim |
| Todas as fotos | Sim | Sim | Sim | Sim |
| Localização | Cidade | Cidade, Estado, País | — | — |
| Vendedor | Nome | Nome de usuário | Nome de usuário | Nome de usuário |
| Tipos de entrega | Sim | — | — | — |
| Envio | Sim/Não | Códigos de serviço | Sim/Não | Sempre incluído |
list_marketplaces
Liste todos os marketplaces habilitados e seu status.
search / fetch (pesquisa profunda)
Par de conveniência seguindo o contrato de ferramenta ChatGPT Deep Research — nomes exatos, um único argumento de string cada:
search(query)— pesquisa todos os marketplaces habilitados de uma vez e retorna{ results: [{ id, title, text, url }] }, ondeidémarketplace:listingIdfetch(id)— retorna detalhes completos do anúncio para um ID de resultadosearchcomo{ id, title, text, url, metadata }
Útil para clientes de estilo de pesquisa que esperam esses nomes de ferramenta padrão; para pesquisas filtradas, use search_marketplace.
Como Funciona
Facebook Marketplace — Pesquisa anúncios por localização, raio, preço e consulta. Resolve nomes de cidades para coordenadas. Não é necessário login ou navegador. O Facebook serve aos chamadores que não usam navegador uma versão limitada de sua API de pesquisa de tempos em tempos (um único resultado com mais páginas atrás dele, ou stubs sem anúncio dentro); quando isso acontece, o servidor lê a página de pesquisa sem login, que ainda contém uma primeira página completa de resultados.
eBay — Usa a API Browse oficial do eBay com credenciais de cliente OAuth 2.0. Os tokens são armazenados em cache e atualizados automaticamente. O marketplace regional alvo é controlado por EBAY_MARKETPLACE_ID (padrão: EBAY_US).
Depop — Usa um navegador headless para pesquisar anúncios com suporte para filtros de categoria, condição, tamanho e cor. A instância do navegador é compartilhada entre as solicitações.
Poshmark — Usa um navegador headless para pesquisar anúncios com suporte para filtros de condição, tamanho, cor, classificação e preço. O Poshmark não é baseado em localização — todos os itens são enviados nacionalmente.
Desenvolvimento
git clone https://github.com/jlsookiki/secondhand-mcp.git
cd secondhand-mcp
npm install
npm run build
Adicionando um Marketplace
- Crie um novo arquivo em
src/marketplaces/ - Estenda
BaseMarketplacee implementesearch()e, opcionalmente,getListingDetails() - Adicione o construtor a
allMarketplacesemsrc/marketplaces/index.ts
Limitações
- Facebook: Pode quebrar se o Facebook mudar seu frontend
- eBay: Requer chaves de API de desenvolvedor (plano gratuito disponível)
- Depop: Requer Chrome/Chromium instalado; mais lento que Facebook/eBay (~5s por pesquisa)
- Poshmark: Requer Chrome/Chromium instalado; sem API oficial, depende de scraping de página
- Limite de taxa: Não faça muitas solicitações muito rapidamente
Licença
MIT
