MCP Hub
Back to servers

wholesale-mcp

An MCP server that enables AI assistants to browse, analyze, and automate interactions with wholesale websites using Playwright and recipe-based HTTP execution. It supports tasks like automated login, product searching, and cart management through browser snapshots and network log analysis.

glama
Updated
Mar 21, 2026

wholesale-mcp

AI 코딩 어시스턴트(Claude Code, Cursor 등)에서 도매 사이트를 직접 탐색/분석/주문할 수 있는 MCP 서버.

기능

브라우저 탐색 (Playwright)

도구설명
open_site(url)브라우저에서 URL 열기 + 네트워크 로그 초기화
snapshot_page()현재 페이지의 모든 버튼/링크/입력/폼/iframe 목록 추출
snapshot_iframe(selector)iframe 내부 요소 목록 추출
click_element(selector)CSS 셀렉터로 요소 클릭
fill_input(selector, value)입력 필드에 값 채우기
submit_form(selector)폼 제출 + 네트워크 요청 캡처
get_network_log(filter)캡처된 HTTP 요청/응답 목록
get_page_html(selector)페이지 HTML (전체 또는 특정 영역)
screenshot()현재 화면 캡처
execute_js(code)JavaScript 실행

레시피 기반 HTTP 실행 (SiteExecutor)

도구설명
list_sites()등록된 도매사이트 목록
get_recipe(site_id)레시피 JSON 조회
recipe_login(site_id, user, pass)HTTP 로그인
recipe_search(site_id, keyword)HTTP 검색
recipe_add_to_cart(site_id, code, qty)HTTP 장바구니 추가

세션 관리

도구설명
get_cookies()브라우저 쿠키 목록
set_cookies(json)쿠키 주입
get_session_info(site_id)HTTP 세션 상태
close_browser()브라우저 종료

설치

pip install -r requirements.txt
playwright install chromium

설정

프로젝트 루트에 .mcp.json 생성:

{
  "mcpServers": {
    "wholesale-tools": {
      "command": "python",
      "args": ["path/to/wholesale-mcp/server.py"],
      "cwd": "path/to/wholesale-mcp"
    }
  }
}

레시피 추가

recipes/ 폴더에 사이트별 JSON 파일을 추가합니다:

{
  "recipe_version": 1,
  "site_id": "example_com",
  "site_name": "예시 도매",
  "site_url": "https://example.com",
  "encoding": "utf-8",
  "login": {
    "method": "POST",
    "url": "https://example.com/login",
    "payload": {
      "user_id": "{USERNAME}",
      "user_pw": "{PASSWORD}"
    },
    "success_indicator": {
      "type": "cookie",
      "key": "session_id"
    }
  },
  "search": {
    "method": "GET",
    "url": "https://example.com/search",
    "params": { "keyword": "{KEYWORD}" },
    "response_type": "html",
    "parsing": {
      "selector": "tr.product-row",
      "fields": {
        "product_name": { "selector": "td.name", "attribute": "text" },
        "product_code": { "selector": "input[name='code']", "attribute": "value" },
        "unit_price": { "selector": "td.price", "attribute": "text" }
      }
    }
  },
  "cart_add": {
    "method": "POST",
    "url": "https://example.com/cart/add",
    "payload": {
      "product_code": "{PRODUCT_CODE}",
      "quantity": "{QUANTITY}"
    }
  }
}

사용 예시

새 사이트 분석

AI: open_site("https://새도매사이트.com")
AI: snapshot_page()         → 로그인 폼, 버튼, 링크 발견
AI: fill_input("#id", "사용자")
AI: fill_input("#pw", "비번")
AI: submit_form("#loginForm")
AI: get_network_log()       → POST /login 요청 캡처 → 레시피 작성
AI: snapshot_page()         → 메뉴 구조 파악
AI: click_element("약품주문 링크")
AI: get_network_log()       → 검색 API 엔드포인트 발견

레시피 검증

AI: recipe_login("example_com", "user", "pass")  → 성공/실패
AI: recipe_search("example_com", "타이레놀")     → 검색 결과
AI: recipe_add_to_cart("example_com", "P001", 1) → 장바구니 추가

워크플로우

1. 분석:  브라우저로 사이트 열기 → 모든 버튼/폼/API 발견
2. 작성:  캡처된 네트워크 로그 기반 → 레시피 JSON 작성
3. 검증:  recipe_login/search/add_to_cart로 즉시 실행
4. 반복:  안 되면 브라우저로 다시 분석 → 레시피 수정

라이선스

MIT

Reviews

No reviews yet

Sign in to write a review