Skip to main content
Glama
README.md
# my-browser-mcp

An MCP server exposing browser automation tools, including Taobao product search/detail lookup via Playwright.

## Setup

```bash
npm install
npx playwright install chromium
```

Taobao currently requires a logged-in session for both search and product-detail pages — a fresh, unauthenticated browser gets redirected to `login.taobao.com`. Log in once, manually, and the session is reused:

```bash
npm run login:taobao
```

This opens a visible Chromium window at Taobao's login page. Log in yourself (QR scan or credentials — the script never touches your credentials, it just waits for you). Press Enter in the terminal once you're logged in, and the session is saved to `auth/taobao-state.json` (override the path with the `TAOBAO_STORAGE_STATE` env var). Re-run this whenever the session expires.

## Run

```bash
npm run dev
```

Runs the MCP server over stdio. Point your MCP client (e.g. Claude Code) at `npx tsx src/index.ts` in this directory.

By default the browser runs headed (`headless: false`) so you can see what it's doing; set `HEADLESS=true` to run headless once you trust it's working.

## Tools

- `open-page`, `click`, `get-page-content`, `screenshot` — generic browser control.
- `taobao-search-products` — search by keyword, returns a best-effort list of `{itemId, title, price, link, imageUrl}`.
- `taobao-get-product-detail` — fetch `{title, price, imageUrl}` for one item, given an item id or `item.taobao.com` URL.

## Limitations

- **Best-effort scraping, not an official API.** Taobao has no public product-search API for general use; this drives a real browser and parses rendered HTML/DOM. Selectors and page structure change without notice and may break these tools at any time.
- **Login required.** Taobao gates search and item pages behind an authenticated session (enforced both via full-page redirects and via background API calls silently redirecting to `login.taobao.com`). Run `npm run login:taobao` first.
- **No CAPTCHA bypass.** If Taobao serves a verification challenge (slider CAPTCHA, risk-control block), the tools detect it and return an explanatory `error` field instead of attempting to solve it — you'll need to complete it yourself via `npm run login:taobao`.
- **ToS.** Automated access to Taobao may violate its Terms of Service. Use at your own risk, keep request volume low, and don't use this for anything resembling scraping at scale.