Amazon Orders MCP
# Amazon Orders MCP
MCP server for fetching historical Amazon consumer orders from multiple accounts.
## Database
Orders are stored in `~/.amazon-orders-mcp/orders.db` (SQLite).
- **Import orders** — one click; pulls anything not already in the database (skips known orders, refreshes recent ones for status/tracking)
- **View** — reads from the database; use the toolbar to filter by date, search, or hide cancelled
## MCP tools
- `sync_orders` — import new orders into the database
- `get_orders` — read from the database (optional filters)
- `list_accounts`, `login_account`, `remove_account`
## Setup
Already registered in `~/.cursor/mcp.json`. Restart Cursor or reload MCP servers to pick it up.
First run installs dependencies automatically via `run-amazon-orders-mcp.sh`.
## Tools
- **list_accounts** — saved profiles and session status
- **login_account** — open browser to sign in (complete 2FA manually)
- **get_orders** — fetch orders (`accounts`: `"all"` or comma-separated names)
- **remove_account** — delete a saved profile
## Example
1. `login_account` with `account_name: "personal"`, `region: "us"`
2. `get_orders` with `accounts: "all"`, `year: 2025`, `max_orders: 10`
## Output fields
Each row: `account`, `order_id`, `item_name`, `order_date`, `order_status`, `tracking_number`
## Limitations
- Unofficial scraping — Amazon HTML changes may break parsers
- Tracking fetch adds ~2s per shipment
- US (`amazon.com`) is the primary target; other regions supported via region code
- Re-run `login_account` when sessions expire
Sessions stored in `~/.amazon-orders-mcp/profiles/` (mode 700).
TDQS
Scored across 5 tools
Each tool has a distinct action and target: list_accounts (read accounts), login_account (authenticate), sync_orders (import), get_orders (read local orders), remove_account (delete account). No overlapping purposes; descriptions clarify the read/write split between sync_orders and get_orders.
All tools use snake_case with a verb_noun pattern (list_accounts, login_account, sync_orders, get_orders, remove_account). Singular/plural noun variations (account vs accounts) are minor and do not break the pattern.
5 tools appropriately cover the core account and order management workflows without redundancy or excessive granularity. This is well within the ideal 3-15 range for a focused MCP server.
Core account lifecycle (list, login, remove) and order workflow (sync, get) are covered. Minor gaps exist: no tool to retrieve a single order by ID or search orders, and sync/get operations do not explicitly target a specific account, requiring workarounds via login switches.