Parse gun and ammo titles (model, caliber, cost per round); find GunsNPrices price comparison pages
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.
| 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.
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"] }
}
}
G19 GEN5 9MM 4.02 15RD FS MOS, and where can I compare prices?"300 BLK the same as .300 AAC Blackout? Where do I compare ammo prices for it?"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" }
]
}
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.
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 app@gunsnprices.com.
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y gunsnprices-mcpMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-gunsnprices-gunsnprices-mcp": {
"command": "npx",
"args": [
"-y",
"gunsnprices-mcp"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referencegunsnprices-mcpnpmGunsNPrices works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.