Model Context Protocol (MCP) connector for Nordstrom retail.
@striderlabs/mcp-nordstrom
Model Context Protocol (MCP) connector for Nordstrom retail. Browse products, manage your shopping bag, wishlist, and orders through any MCP-compatible AI client.
Features
| Tool | Description | Auth Required |
|---|---|---|
search_products |
Search merchandise by keyword, category, or brand | No |
get_product |
Get full product details, sizes, and images | No |
add_to_bag |
Add an item to your shopping bag | Yes |
get_bag |
View shopping bag contents and totals | Yes |
remove_from_bag |
Remove an item from bag | Yes |
get_wishlist |
View saved/favorited items | Yes |
add_to_wishlist |
Save an item to your wishlist | Yes |
check_inventory |
Check store availability near a ZIP code | No |
get_orders |
View order history | Yes |
track_order |
Track a shipment | Yes |
Installation
npm install @striderlabs/mcp-nordstrom
Authentication
Authenticated tools (bag, wishlist, orders) require Nordstrom account credentials. Set them as environment variables:
export NORDSTROM_EMAIL="you@example.com"
export NORDSTROM_PASSWORD="yourpassword"
Alternatively, save credentials to ~/.nordstrom-mcp/credentials.json:
{
"email": "you@example.com",
"password": "yourpassword"
}
The file is stored with 600 permissions (owner read/write only).
Usage with Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"nordstrom": {
"command": "npx",
"args": ["-y", "@striderlabs/mcp-nordstrom"],
"env": {
"NORDSTROM_EMAIL": "you@example.com",
"NORDSTROM_PASSWORD": "yourpassword"
}
}
}
}
Tool Reference
`search_products`
{
"query": "black ankle boots",
"category": "women",
"brand": "Sam Edelman"
}
`get_product`
{
"product_id": "7654321"
}
product_id can be a Nordstrom numeric style ID or a full product URL.
`add_to_bag`
{
"product_id": "7654321",
"sku_id": "sku-9876",
"quantity": 1
}
`get_bag`
No parameters required.
`remove_from_bag`
{
"item_id": "bag-item-id-from-get_bag"
}
`get_wishlist`
No parameters required.
`add_to_wishlist`
{
"product_id": "7654321"
}
`check_inventory`
{
"product_id": "7654321",
"size": "M",
"zip": "98101"
}
`get_orders`
{
"limit": 5
}
`track_order`
{
"order_number": "12345678"
}
Development
# Install dependencies
npm install
# Build
npm run build
# Run in dev mode
npm run dev
# Pack for distribution
npm pack
Notes
- Uses Playwright for browser automation against nordstrom.com.
- Stealth mode enabled to reduce bot detection.
- Some actions (add to bag, wishlist) may be blocked if Nordstrom adds additional CAPTCHA challenges.
- This connector is for personal use only; respect Nordstrom's Terms of Service.
Tools (10)
search_productsSearch merchandise by keyword, category, or brandget_productGet full product details, sizes, and imagesadd_to_bagAdd an item to your shopping bagget_bagView shopping bag contents and totalsremove_from_bagRemove an item from bagget_wishlistView saved/favorited itemsadd_to_wishlistSave an item to your wishlistcheck_inventoryCheck store availability near a ZIP codeget_ordersView order historytrack_orderTrack a shipmentEnvironment Variables
NORDSTROM_EMAILrequiredEmail address for Nordstrom account authenticationNORDSTROM_PASSWORDrequiredPassword for Nordstrom account authenticationConfiguration
{"mcpServers": {"nordstrom": {"command": "npx", "args": ["-y", "@striderlabs/mcp-nordstrom"], "env": {"NORDSTROM_EMAIL": "you@example.com", "NORDSTROM_PASSWORD": "yourpassword"}}}}