amazon-business-mcp-browser
# Amazon Business MCP Browser
Server MCP locale per cercare prodotti e gestire un carrello Amazon Business tramite un browser Playwright visibile e isolato.
> **Stato:** prototipo iniziale. Amazon non supporta ufficialmente questa automazione del sito. L'interfaccia può cambiare, comparire CAPTCHA o richiedere nuovamente MFA. Verifica che l'uso sia compatibile con le condizioni applicabili al tuo account.
## Principi di sicurezza
- Il login avviene personalmente nella finestra Amazon: l'MCP non chiede né conserva la password.
- La sessione risiede in un profilo browser locale dedicato, fuori dal repository.
- Il browser resta visibile (`headless: false`).
- Le operazioni browser sono serializzate per evitare modifiche concorrenti al carrello.
- `amazon_prepare_checkout` apre solo la revisione del carrello.
- Non esiste un tool che prema **Effettua l'ordine**.
## Tool disponibili
| Tool | Effetto |
| --- | --- |
| `amazon_session_status` | Controlla lo stato indicativo della sessione |
| `amazon_open_login` | Apre il login per completamento manuale |
| `amazon_search` | Cerca prodotti e prezzi visibili all'account |
| `amazon_product_details` | Legge i dettagli di un ASIN |
| `amazon_get_cart` | Legge il carrello reale |
| `amazon_add_to_cart` | Aggiunge un articolo |
| `amazon_update_quantity` | Aggiorna quantità; zero rimuove |
| `amazon_remove_from_cart` | Rimuove un articolo |
| `amazon_prepare_checkout` | Porta alla revisione manuale, senza acquistare |
## Requisiti
- Node.js 20 o successivo
- Account Amazon Business
- macOS, Linux o Windows con interfaccia grafica
## Installazione
```bash
npm install
npx playwright install chromium
npm run build
```
Per usare Google Chrome installato anziché il Chromium incluso:
```bash
export AMAZON_BROWSER_CHANNEL=chrome
```
## Configurazione MCP
Esempio generico per un client MCP:
```json
{
"mcpServers": {
"amazon-business": {
"command": "node",
"args": ["/percorso/amazon-business-mcp-browser/dist/index.js"],
"env": {
"AMAZON_MARKETPLACE_URL": "https://www.amazon.it",
"AMAZON_BROWSER_CHANNEL": "chromium"
}
}
}
}
```
Al primo utilizzo:
1. Chiama `amazon_open_login`.
2. Completa login, MFA ed eventuale CAPTCHA nella finestra aperta.
3. Chiama `amazon_session_status`.
4. Avvia una ricerca o leggi il carrello.
Il profilo predefinito viene salvato in `~/.amazon-business-mcp-browser/profile`. Puoi cambiarlo con `AMAZON_BROWSER_PROFILE`.
## Configurazione
Copia `.env.example` come riferimento. Il server legge direttamente le variabili d'ambiente:
| Variabile | Default | Descrizione |
| --- | --- | --- |
| `AMAZON_MARKETPLACE_URL` | `https://www.amazon.it` | Marketplace autorizzato |
| `AMAZON_BROWSER_PROFILE` | profilo sotto la home | Directory sessione isolata |
| `AMAZON_BROWSER_CHANNEL` | `chromium` | `chromium` o `chrome` |
| `AMAZON_BROWSER_TIMEOUT_MS` | `30000` | Timeout browser |
| `AMAZON_MAX_SEARCH_RESULTS` | `10` | Massimo risultati, da 1 a 20 |
## Sviluppo
```bash
npm run check
npm test
npm run build
```
I test automatici non effettuano accessi né modifiche su Amazon. Le verifiche end-to-end devono essere eseguite manualmente su un account autorizzato.
## Limiti noti
- Selettori, testi e flussi Amazon possono cambiare senza preavviso.
- CAPTCHA, MFA e consensi devono essere completati manualmente.
- Alcuni prodotti richiedono la selezione di una variante prima di poterli aggiungere.
- Prezzi e disponibilità sono istantanee e possono cambiare durante il checkout.
- Non aggira protezioni anti-bot, limiti dell'account o controlli Amazon.
## Evoluzione prevista
Il codice browser è separato dal layer MCP per consentire in futuro un provider basato sulle API ufficiali Amazon Business, mantenendo invariati i nomi dei tool.
TDQS
Scored across 9 tools
Each tool has a clearly distinct purpose: session status, product details, login, search, cart snapshot, checkout prep, and cart mutations. The only slight overlap is between get_cart and prepare_checkout, but their descriptions clearly differentiate a snapshot from an actionable step.
All tools use the consistent 'amazon_' prefix, and most follow a verb_noun pattern (get_cart, add_to_cart, update_quantity, remove_from_cart, open_login, prepare_checkout). However, 'session_status' and 'product_details' are noun phrases rather than verb-first, creating a minor stylistic deviation that is still readable and predictable.
The 9 tools are well-scoped for a browser-based Amazon Business assistant, covering authentication, product search, cart management, and checkout preparation. The count feels neither sparse nor bloated for the intended functionality.
The tool set covers the full cart CRUD lifecycle (add, get, update, remove) plus search and product details. However, the checkout flow ends at preparation and never confirms an order, leaving a notable gap for fully automated purchasing. There is also no order history or account management, but that may be intentional for safety.