npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

keepa-mcp

v0.1.2

Published

MCP server for Keepa Amazon price and sales rank history API

Readme

keepa-mcp

Amazon price and sales-rank history for your AI assistant, via the Keepa API.

CI npm


Unofficial package. keepa-mcp is not affiliated with, endorsed by, or supported by Keepa GmbH. "Keepa" and "Amazon" are trademarks of their respective owners. This is an independent open-source client for the publicly documented Keepa API.


What it does

| Tool | Description | Example prompt | |------|-------------|----------------| | get_product | Title, brand, category, current prices, buy box, review count and rating | "What is the current Amazon price and rating for ASIN B08N5WRWNW?" | | get_price_history | Decoded price time series for Amazon, new, used, and buy-box prices | "Show me the price history for B08N5WRWNW over the past year" | | get_sales_rank_history | Sales rank over time plus a demand trend summary | "Is demand trending up or down for B07PXGQC1Q?" | | search_products | Keyword product search, returns matching ASINs | "Find ASINs for 'wireless earbuds' on Amazon" | | get_best_sellers | Top ASINs in a Keepa category | "What are the best sellers in Electronics?" | | get_deals | Current price-drop deals filtered by drop % and rating | "Show deals with at least 30% off and 4.5 stars" |


Quick start

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "keepa": {
      "command": "npx",
      "args": ["-y", "keepa-mcp"],
      "env": {
        "KEEPA_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}

Claude Code

claude mcp add keepa -e KEEPA_API_KEY=your_key -- npx -y keepa-mcp

OpenAI Codex CLI

Add to ~/.codex/config.toml:

[mcp_servers.keepa]
command = "npx"
args = ["-y", "keepa-mcp"]

[mcp_servers.keepa.env]
KEEPA_API_KEY = "YOUR_API_KEY_HERE"

Getting a Keepa API key

Sign up at https://keepa.com/#!api to get your API key.

The free tier provides 100 tokens per minute. Each product data request costs tokens proportional to the data retrieved (history length, number of offers, etc.). Typical product lookups cost 1-5 tokens; best-seller lists and deals cost more. See the Keepa API docs for the full token cost table.

Token economics at a glance:

  • get_product: ~2-4 tokens — the product record plus the stats, rating and buybox add-ons it needs. Keepa returns no current price, rating, review count or offer count without them.
  • get_price_history / get_sales_rank_history: ~2-4 tokens
  • get_best_sellers: 50-100 tokens per request
  • get_deals: 5-25 tokens per page
  • Free tier refills at 100 tokens/minute

Live offer data (offers) is not requested. It triggers a real-time marketplace lookup costing 10+ extra tokens per call, which on a small bucket can fail the request outright. Versions before 0.1.2 always sent offers=20, so get_product never actually cost the 1 token this table used to claim.

If you hit the quota, the tool returns a clear error message and you can retry after the bucket refills.


Example conversations

1. Product research

"Look up B08N5WRWNW, then show me the last 6 months of price history and tell me whether demand has been growing."

The assistant calls get_product, then get_price_history with range="6m", then get_sales_rank_history with range="6m", and synthesises a verdict.

2. Category opportunity scan

"Pull the top 20 best sellers in Electronics (category 172282), then get current details and sales rank trends for the first three."

The assistant calls get_best_sellers, then get_product and get_sales_rank_history for the first three ASINs, and summarises the demand signals.

3. Deal hunting

"Find highly-rated Amazon deals with at least 25% off, then show me the price history for the top result to confirm it is a genuine dip."

The assistant calls get_deals with min_price_drop_pct=25, min_rating=45, picks the top ASIN, then calls get_price_history with range="6m" to validate the claimed price drop against historical data.


Development

# Install dependencies
npm install

# Run tests (no live HTTP; all upstream calls are mocked)
npm test

# Build TypeScript to dist/
npm run build

# Start the server (requires KEEPA_API_KEY in environment)
KEEPA_API_KEY=your_key node dist/index.js

Project structure

src/
  index.ts                 # Server entry point, tool registration
  constants.ts             # API base URL, Keepa time offset, limits
  types.ts                 # TypeScript interfaces
  services/
    keepa-client.ts        # Fetch wrapper, time utilities, history decoder
  tools/
    get-product.ts
    get-price-history.ts
    get-sales-rank-history.ts
    search-products.ts
    get-best-sellers.ts
    get-deals.ts
tests/
  keepa-client.test.ts     # Unit tests for time conversion and history decoding
  tools.test.ts            # Integration tests with mocked fetch + fixture JSON
  fixtures/                # Realistic Keepa response shapes

Built by

Built by Puya Ventures LLC. I build custom MCP servers and AI integrations for product-research, e-commerce, and SaaS teams. Get in touch: [email protected] | Portfolio: puyarahmanian.com

Part of the Product-Research MCP Suite: keepa-mcp · google-trends-mcp · junglescout-mcp


Privacy

This server runs entirely on your machine. It collects no telemetry and stores no data. The only network calls it makes are to the Keepa API (api.keepa.com), sending your API key and the ASINs, keywords, or category ids you ask about. Your API key is read from the KEEPA_API_KEY environment variable and never written to disk or sent anywhere except Keepa. See Keepa's privacy policy: https://keepa.com/#!privacy

License

MIT. See LICENSE.