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

gunsnprices-mcp

v0.1.1

Published

MCP server for gun and ammo shopping: parse product titles, identify firearm models and calibers, cost per round, and GunsNPrices price comparison links.

Readme

GunsNPrices MCP server

npm Tests License

An MCP server that helps AI assistants with gun and ammo shopping questions. It reads firearm and ammunition product titles (brand, model, caliber, magazine capacity, barrel length, rounds per box), computes cost per round, and points to the GunsNPrices pages that compare current prices across 40+ US gun and ammo stores.

It runs locally and needs no API key: everything comes from the open-source gunsnprices parser and a snapshot of GunsNPrices page links. It does not fetch live prices; for "where is it cheapest" questions the assistant gets the GunsNPrices pages to send you to.

Tools

| Tool | What it does | |---|---| | parse_product_title | Title → firearm or ammo, brand, model, calibers, magazine capacity, barrel length, rounds per box, cost per round, price comparison pages | | identify_firearm_model | Title or description → brand, model family, exact model (50 brands); decodes Glock part numbers | | lookup_caliber | 9mm Luger, 300 BLK, 12ga, 6.5 CM → standard caliber name, type and its ammo price page | | cost_per_round | Price + round count (or a title to read it from) → cost per round | | find_price_comparison_pages | Model, brand or caliber → GunsNPrices pages comparing current prices, most specific first | | list_supported | The 50 brands with model recognition, or the 293 known calibers |

All tools are read-only and work offline.

Install

The server is the npm package gunsnprices-mcp and runs with Node.js 18 or newer.

Claude Code

claude mcp add gunsnprices -- npx -y gunsnprices-mcp

Claude Desktop: add to claude_desktop_config.json (Settings → Developer → Edit Config):

{
  "mcpServers": {
    "gunsnprices": {
      "command": "npx",
      "args": ["-y", "gunsnprices-mcp"]
    }
  }
}

Cursor: the same block in ~/.cursor/mcp.json.

VS Code: .vscode/mcp.json:

{
  "servers": {
    "gunsnprices": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "gunsnprices-mcp"]
    }
  }
}

Claude Desktop, one click: download gunsnprices-mcp-<version>.mcpb from the latest release and open it (MCP Bundle, Node.js included with Claude Desktop).

Docker:

docker build -t gunsnprices-mcp https://github.com/gunsnprices/gunsnprices-mcp.git
{
  "mcpServers": {
    "gunsnprices": { "command": "docker", "args": ["run", "-i", "--rm", "gunsnprices-mcp"] }
  }
}

Things to ask

  • "What exactly is a G19 GEN5 9MM 4.02 15RD FS MOS, and where can I compare prices?"
  • "Which of these 9mm listings is cheapest per round: $18.99 for 50, $289 for 1,000, $13.49 for 20?"
  • "Is 300 BLK the same as .300 AAC Blackout? Where do I compare ammo prices for it?"
  • "Clean up this spreadsheet of gun titles into brand, model, caliber and barrel length."

Example result of find_price_comparison_pages for "Glock 19":

{
  "query": "Glock 19",
  "model": { "brand": "Glock", "family": "Glock 19", "model": "Glock 19", "generation": "", "configs": [], "features": [], "source": "title" },
  "gunsnprices_pages": [
    { "kind": "model", "name": "Glock 19", "url": "https://gunsnprices.com/guns/glock-19" },
    { "kind": "brand", "name": "All Glock models", "url": "https://gunsnprices.com/glock-models" },
    { "kind": "search", "name": "GunsNPrices search: Glock 19", "url": "https://gunsnprices.com/en-search/?search=Glock%2019" }
  ]
}

Accuracy

The parsing is the gunsnprices library. On 63,755 listings from 40+ stores it recognizes the same model as gunsnprices.com in 99.97% of cases where the site knows the model, and gets the caliber right in 97.8% of firearm and 94.9% of ammo titles where it finds one. Details are in the library's README.

Related

License

The code is under the MIT License. The page links in src/data/ come from the GunsNPrices firearm-models dataset and are under CC BY 4.0: credit GunsNPrices (gunsnprices.com) with a link.

Questions and corrections: open an issue or write to [email protected].