amazon
MCP server for your Amazon cart. Made for Poke.com but works for everyone.
claude mcp add --transport stdio meimakes-amazon-mcp-server node /absolute/path/to/amazon-mcp-server/dist/server.js \ --env PORT="3000" \ --env HEADLESS="false" \ --env AUTH_TOKEN="your-token-here" \ --env AMAZON_DOMAIN="amazon.com" \ --env USER_DATA_DIR="./user-data"
How to use
This Amazon Cart MCP Server exposes tools that let an AI assistant interact with your personal Amazon cart via browser automation. It supports searching for products, adding items to your cart, viewing the cart contents, and checking login status. The server is designed to be used with MCP-compatible clients such as Poke and Claude Desktop, and can be exposed securely through ngrok. After starting, clients can connect to the /sse endpoint to exchange structured MCP actions and responses. Use the provided tools in Poke to query, add items, or verify login before attempting cart operations.
How to install
Prerequisites:
- Node.js v20 or higher
- npm or yarn
- ngrok account (free tier works)
Installation steps:
-
Clone the repository: git clone https://github.com/meimakes/amazon-mcp-server.git cd amazon-mcp-server
-
Install dependencies: npm install
-
Configure environment: cp .env .env.local # Optional: keep your settings separate Edit .env and set:
- AUTH_TOKEN: generate a secure token (required)
- HEADLESS: false for first-time login
- AMAZON_DOMAIN: amazon.com (or your locale domain)
- PORT: 3000 (or your preferred port)
- USER_DATA_DIR: ./user-data (Chrome session data)
-
Build the project: npm run build
-
Start the server: npm start
-
Enable ngrok tunneling (in a separate terminal): npm run tunnel
Note the HTTPS URL (e.g., https://abc123.ngrok.io)
-
Connect clients (Poke or Claude Desktop) using the exposed /sse endpoint and the AUTH_TOKEN for authentication.
Additional notes
Tips and troubleshooting:
- Ensure AUTH_TOKEN is kept secret and rotated periodically.
- The server uses Puppeteer to automate a Chrome session; HEADLESS=false is needed for the initial manual login to save a session in ./user-data.
- Expose the server securely with ngrok or other tunneling; always use HTTPS endpoints when exposed publicly.
- If tools aren’t visible in Poke, restart the server, verify the ngrok tunnel is active, and check server logs for tool discovery events.
- Environment variables are defined in .env; never commit this file to version control.
- The /sse endpoint is the primary communication channel for MCP interactions.
- For Claude Desktop integration, you may need to point to the dist/server.js with proper environment variables set for HEADLESS and AMAZON_DOMAIN.
Related MCP Servers
obsidian -tools
Add Obsidian integrations like semantic search and custom Templater prompts to Claude or any MCP client.
mcp
Octopus Deploy Official MCP Server
furi
CLI & API for MCP management
mcp -arangodb
This is a TypeScript-based MCP server that provides database interaction capabilities through ArangoDB. It implements core database operations and allows seamless integration with ArangoDB through MCP tools. You can use it wih Claude app and also extension for VSCode that works with mcp like Cline!
mcp-bundler
Is the MCP configuration too complicated? You can easily share your own simplified setup!
CodeRAG
Advanced graph-based code analysis for AI-assisted software development