Show HN: Facebook Marketplace MCP

hackernews | | 📦 오픈소스
#api #claude #facebook #graphql #marketplace #mcp #기타 ai
원문 출처: hackernews · Genesis Park에서 요약 및 분석

요약

새로운 MCP 서버가 공개되어 브라우저 자동화 없이 크롬의 세션 쿠키와 내부 GraphQL 프로토콜을 이용해 페이스북 마켓플레이스에 직접 접근할 수 있게 되었습니다. 이 도구는 특정 위치와 가격대를 기준으로 상품을 검색하고 상세 정보를 확인하며, 새로운 매물을 추적하는 모니터링 기능을 지원합니다. 사용자는 Node.js 20 이상과 활성화된 페이스북 로그인이 필요하며, 현재 자동 쿠키 추출은 macOS 환경에서만 지원됩니다. 단, 페이스북 배포 시 쿼리 해시 값이 변경되는 취약점이 있으며, 자동화 행위가 서비스 약관을 위반할 수 있어 계정 제재의 위험이 따릅니다.

본문

An MCP server that provides access to Facebook Marketplace via direct GraphQL API calls. No browser automation at runtime — speaks Facebook's internal protocol directly. Facebook's web client makes all Marketplace requests as POST /api/graphql/ with a doc_id (query hash) and variables . This server replays those requests using your existing Facebook session cookies from Chrome. Think of it like pypush for iMessage — direct protocol, no browser. - macOS (cookie extraction uses Keychain) - Google Chrome with an active Facebook login - Node.js 20+ git clone cd facebook-marketplace-mcp npm install npm run build claude mcp add facebook-marketplace -- node /path/to/facebook-marketplace-mcp/dist/index.js Or add to your Claude Code config manually: { "mcpServers": { "facebook-marketplace": { "command": "node", "args": ["/path/to/facebook-marketplace-mcp/dist/index.js"], "env": { "CHROME_PROFILE": "Default" } } } } Search Marketplace by query, location, and filters. | Parameter | Type | Required | Description | |---|---|---|---| query | string | yes | Search term | latitude | number | yes | Latitude of search center | longitude | number | yes | Longitude of search center | radius_km | number | no | Search radius (default: 50) | min_price | number | no | Min price in dollars | max_price | number | no | Max price in dollars | category | string | no | Category ID | limit | number | no | Max results (default: 20) | Get full details for a specific listing. | Parameter | Type | Required | Description | |---|---|---|---| listing_id | string | yes | Marketplace listing ID | Save a search as a monitor to track new listings over time. | Parameter | Type | Required | Description | |---|---|---|---| name | string | yes | Monitor name | query | string | yes | Search term | latitude | number | yes | Search center lat | longitude | number | yes | Search center lng | radius_km | number | no | Radius (default: 50) | min_price | number | no | Min price | max_price | number | no | Max price | Check monitors for new listings since last check. | Parameter | Type | Required | Description | |---|---|---|---| monitor_name | string | no | Check specific monitor, or omit for all | List all saved monitors. Delete a saved monitor. | Env Variable | Default | Description | |---|---|---| CHROME_PROFILE | Default | Chrome profile directory name | Facebook rotates their doc_id values on deploys. If searches stop working: npm install -D playwright npx playwright install chromium npm run capture-queries This opens a browser, navigates Marketplace, and captures current query IDs. Update src/facebook/queries.ts with the new values. The server self-rate-limits to 3 requests/minute with random jitter to avoid detection. This means searches take a few seconds. - macOS only for automatic cookie extraction - Requires Chrome with active Facebook session - Facebook ToS — automating Facebook violates their Terms of Service - Fragile — doc_id values change on Facebook deploys - Rate limited — aggressive use may trigger CAPTCHAs or account flags - No write operations — search/read only, no messaging or listing creation

Genesis Park 편집팀이 AI를 활용하여 작성한 분석입니다. 원문은 출처 링크를 통해 확인할 수 있습니다.

공유

관련 저널 읽기

전체 보기 →