MCP tools
The 30 single-call tools provided by the server, generated from the SDK tool manifest that the server uses. Each tool makes exactly one API request. For questions that require several requests, see Workflows.
Single tools
Tool names are stable and are never changed, so saved prompts that reference a tool continue to work.
Also available as data: tools.json tools.md
Search firearms
Runs a full-text search over the firearm catalog by name, manufacturer, model number or alias. Use this tool first when the user refers to a firearm informally. Returns matching firearms with the slug ids that the other tools accept.
Example usage
- 1
A person asks
- Find firearms matching "beretta 92".
- 2
The assistant calls the tool
tools/calljson{ "name": "gunspec_search_firearms", "arguments": { "q": "beretta 92", "per_page": 5 }} - 3
The server answers
Resultjson{ "results": [ { "id": "beretta-92x-performance-dark-series", "name": "Beretta 92X Performance Dark Series", "manufacturer_id": "beretta", "category_id": "pistol", "manufacturer_name": "Beretta", "category_name": "Pistol", "category_slug": "pistol", "year_introduced": 2025, "status": "in_production", "country_of_origin": "IT", "action_type": "short_recoil", "weight_empty_g": 1353, "barrel_length_mm": 122, "svg_line_art_url": null, "model_3d_url": null, "favorite_count": 0, "rank": -12.741270433420858, "images": [] }, { "id": "helwan-920", "name": "Helwan 920", "manufacturer_id": "factory-54", "category_id": "pistol", "manufacturer_name": "Factory 54 (Maadi Company for Engineering Industries)", "category_name": "Pistol", "category_slug": "pistol", "year_introduced": 1982, "status": "discontinued", "country_of_origin": "EG", "action_type": "short_recoil", "weight_empty_g": 970, "barrel_length_mm": 125, "svg_line_art_url": null, "model_3d_url": null, "favorite_count": 0, "rank": -12.718481842191096, "images": [] }, { "id": "taurus-pt92", "name": "Taurus PT92", "manufacturer_id": "taurus", "category_id": "pistol", "manufacturer_name": "Taurus", "category_name": "Pistol", "category_slug": "pistol", "year_introduced": 1983, "status": "in_production", "country_of_origin": "BR", "action_type": "short_recoil", "weight_empty_g": 960, "barrel_length_mm": 127, "svg_line_art_url": null, "model_3d_url": null, "favorite_count": 0, "rank": -12.456697660392756, "images": [] } ], "pagination": { "page": 1, "limit": 5, "per_page": 5, "total": 88, "totalPages": 18 }}Captured from the live API on Sep 17, 2026. Lists and long text are shortened for display.
Related references
Arguments
| Name | Type | Description |
|---|---|---|
q (required) | string | The search text, e.g. "beretta 92" or "AK-74M". |
per_page | integer | Items per page, 1 to 100. 1 to 100 Default: 20 |
Resolve a firearm name
Resolves one free-text name ("G19 gen 5", "M4A1") to a single firearm id, with a confidence score and alternatives. Use this tool instead of search when exactly one record is required.
Example usage
- 1
A person asks
- Which firearm is a "G19 gen 5"?
- 2
The assistant calls the tool
tools/calljson{ "name": "gunspec_resolve_firearm", "arguments": { "name": "G19 gen 5" }} - 3
The server answers
Resultjson{ "query": "G19 gen 5", "status": "ambiguous", "firearmId": null, "match": null, "score": 0.95, "matchedTokens": [ "g", "19", "gen" ], "unresolvedTokens": [], "alternatives": [ { "firearmId": "glock-19-gen5", "name": "Glock 19 Gen5", "manufacturerName": "Glock Ges.m.b.H.", "match": "alternate", "matchedAlias": "G19 Gen5", "score": 0.95 }, { "firearmId": "glock-g19-gen5", "name": "Glock G19 Gen5", "manufacturerName": "Glock Ges.m.b.H.", "match": "alternate", "matchedAlias": "G19 Gen5", "score": 0.95 } ]}Captured from the live API on Sep 17, 2026. Lists and long text are shortened for display.
Related references
Arguments
| Name | Type | Description |
|---|---|---|
name (required) | string | The firearm name exactly as the user wrote it. |
List firearms
Lists firearms using structured filters: manufacturer, cartridge, category, action, country, status and year range. Use this tool when the question asks which firearms match a set of criteria, not when it asks about one specific firearm.
Example usage
- 1
A person asks
- List five firearms made by Glock.
- 2
The assistant calls the tool
tools/calljson{ "name": "gunspec_list_firearms", "arguments": { "manufacturer": "glock", "per_page": 5 }} - 3
The server answers
Resultjson{ "firearms": [ { "id": "glock-g17", "name": "Glock 17", "manufacturerId": "glock", "categoryId": "pistol", "yearIntroduced": 1982, "status": "in_production", "countryOfOrigin": "AT", "actionType": "short_recoil", "weightEmptyG": 625, "barrelLengthMm": 114, "createdAt": "2026-02-17 06:05:51", "updatedAt": "2026-02-17 06:05:51", "version": "1dc0085f469a3786f9cd4fce92845f4beffcb0494239e4419a17c3adf09b4749", "svgLineArtUrl": "https://assets.gunspec.io/firearms/line/svg/glock-g17.svg", "model3dUrl": null, "favoriteCount": 0, "images": [ { "id": 1460, "url": "https://assets.gunspec.io/firearms/line/svg/glock-g17.svg", "kind": "silhouette", "alt": null, "width": null, "height": null }, { "id": 6578, "url": "https://api.gunspec.io/v1/firearms/glock-g17/images/6578", "kind": "render", "alt": null, "width": null, "height": null }, { "id": 9826, "url": "https://assets.gunspec.io/content/firearms/photos/glock-g17/01-photo.c01b4944ea90.webp", "kind": "photo", "alt": "Glock 17", "width": 1920, "height": 1275 } ] }, { "id": "glock-17-gen5", "name": "Glock 17 Gen5", "manufacturerId": "glock", "categoryId": "pistol", "yearIntroduced": 2017, "status": "in_production", "countryOfOrigin": "AT", "actionType": "short_recoil", "weightEmptyG": 625, "barrelLengthMm": 114, "createdAt": "2026-02-11 23:44:44", "updatedAt": "2026-02-17 06:05:51", "version": "2bf979d7305932779e63bdf430a26b723d71d5be03b50de24b9908efed18c9c0", "svgLineArtUrl": "https://assets.gunspec.io/firearms/line/svg/glock-17-gen5.svg", "model3dUrl": null, "favoriteCount": 0, "images": [ { "id": 760, "url": "https://assets.gunspec.io/firearms/line/svg/glock-17-gen5.svg", "kind": "silhouette", "alt": null, "width": null, "height": null }, { "id": 6563, "url": "https://api.gunspec.io/v1/firearms/glock-17-gen5/images/6563", "kind": "render", "alt": null, "width": null, "height": null }, { "id": 9818, "url": "https://assets.gunspec.io/content/firearms/photos/glock-17-gen5/01-photo.c01b4944ea90.webp", "kind": "photo", "alt": "Glock 17 Gen5", "width": 1920, "height": 1275 } ] }, { "id": "glock-17-gen6", "name": "Glock 17 Gen6", "manufacturerId": "glock", "categoryId": "pistol", "yearIntroduced": 2026, "status": "in_production", "countryOfOrigin": "AT", "actionType": "short_recoil", "weightEmptyG": 709, "barrelLengthMm": 114, "createdAt": "2026-06-21 23:00:56", "updatedAt": "2026-06-21 23:00:56", "version": "ae52b8404dd92752d6a8f040e819526738b0be5b01cbde5137f357fba54e8268", "svgLineArtUrl": null, "model3dUrl": null, "favoriteCount": 0, "images": [] } ], "pagination": { "page": 1, "limit": 5, "per_page": 5, "total": 134, "totalPages": 27 }}Captured from the live API on Sep 17, 2026. Lists and long text are shortened for display.
Related references
Arguments
| Name | Type | Description |
|---|---|---|
manufacturer | string | Manufacturer slug, e.g. "glock". |
caliber | string | Caliber slug, e.g. "9x19mm-parabellum". |
category | string | Category slug, e.g. "pistol", "rifle" or "shotgun". |
action_type | string | Action type, e.g. "semi-automatic" or "bolt-action". |
country_of_origin | string | Country name or ISO code. |
status | string | Production status. One of: in_production, discontinued, out_of_production, in_service, limited_production, prototype |
year_introduced_min | integer | Earliest year introduced. |
year_introduced_max | integer | Latest year introduced. |
sort | string | Sort column. One of: name, weight, year, caliber, created_at, favorites |
order | string | Sort direction. One of: asc, desc |
page | integer | Page number, from 1. At least 1 Default: 1 |
per_page | integer | Items per page, 1 to 100. 1 to 100 Default: 20 |
Get a firearm
Returns the full specification of one firearm: dimensions, weight, calibers, action, capacity, years, designer, description, provenance and record version. Requires a slug from the search, resolve or list tools.
Example usage
- 1
A person asks
- What are the specifications of the Glock 17?
- 2
The assistant calls the tool
tools/calljson{ "name": "gunspec_get_firearm", "arguments": { "id": "glock-g17" }} - 3
The server answers
Resultjson{ "id": "glock-g17", "name": "Glock 17", "manufacturerId": "glock", "categoryId": "pistol", "parentFirearmId": null, "variantType": null, "yearIntroduced": 1982, "yearDiscontinued": null, "status": "in_production", "countryOfOrigin": "AT", "weightEmptyG": 625, "weightLoadedG": 905, "overallLengthMm": 204, "barrelLengthMm": 114, "heightMm": 139, "widthMm": 32, "sightRadiusMm": 165, "actionType": "short_recoil", "firingMechanism": "striker_fired", "triggerType": "safe_action", "triggerPullN": 28, "magazineCapacity": 17, "magazineType": "detachable_box", "muzzleVelocityMps": 375, "muzzleEnergyJ": 519, "effectiveRangeM": 50, "maxRangeM": 1800, "rateOfFireRpm": null, "barrelRifling": "right_hand", "riflingTwistMm": 250, "numberOfGrooves": 6, "frameMaterial": "polymer", "slideMaterial": "steel", "barrelMaterial": "steel", "stockMaterial": null, "finish": "tenifer", "safetyMechanisms": "[\"trigger_safety\",\"firing_pin_safety\",\"drop_safety\"]", "features": "[\"polymer_frame\",\"safe_action_trigger\",\"hexagonal_rifling\",\"accessory_rail\",\"ambidextrous_slide_stop\",\"textured_grip\",\"reversible_magazine_release\",\"striker_fired\"]", "feedSystems": "[\"detachable_box_magazine\"]", "gameDamage": 42, "gameAccuracy": 68, "gameRange": 35, "gameFireRate": 55, "gameMobility": 76, "gameRecoilControl": 62, "gameReloadSpeed": 72, "gameConcealment": 65, "description": "The Glock 17 is a semi-automatic pistol chambered in 9x19mm Parabellum, produced by Glock Ges.m.b.H. since 1982. This Austrian-manufactured firearm reflects the engineering traditions and quality standards of its country of origin, designed…", "notes": "The name 'Glock 17' refers to it being Gaston Glock's 17th patent, not the magazine capacity, though the coincidence is often noted. The original Gen1 models (1982-1988) had distinctive pebbled grip texture and lacked an accessory rail. Gen…", "designer": "Gaston Glock", "foldedLengthMm": null, "alternateNames": "[\"P80\",\"Pistole 80\",\"L131A1\"]", "firingModes": "[\"semi_automatic\"]", "conflicts": "[{\"name\":\"War in Afghanistan\",\"years\":\"2001-2021\",\"sides\":[\"NATO Coalition\",\"British Armed Forces\",\"U.S. Special Operations\"]},{\"name\":\"Iraq War\",\"years\":\"2003-2011\",\"sides\":[\"Coalition Forces\",\"British Armed Forces\",\"Iraqi Security Forces\"…", "productionNumbers": "{\"estimated_total\":15000000,\"production_years\":\"1982-present\",\"notes\":\"Over 5 million produced by 2007; estimated 10-15 million total across all Glock models by 2020s. Gen1 production (1982-1991) was approximately 115,000 units across model…", "lore": "Gaston Glock was a curtain rod manufacturer with zero firearms experience when he designed the Glock 17 in his garage workshop. After overhearing Austrian military officers discussing their need for a new pistol in 1980, the 52-year-old eng…", "sources": "[\"https://weaponsystems.net/system/841-Glock+17\",\"https://eu.glock.com/en/products/pistols/g17\",\"https://athlonoutdoors.com/article/glock-pistols-go-to-war/\",\"https://www.eliteukforces.info/weapons/glock-pistol/\",\"https://combatoperators.co…", "sourceMuzzleVelocityMps": null, "sourceMuzzleEnergyJ": null, "sourceEffectiveRangeM": null, "sourceMaxRangeM": null, "ballisticsSource": null, "ballisticsSourceUrl": null, "defaultAmmoId": null, "has3dModel": 0, "svgLineArtUrl": "https://assets.gunspec.io/firearms/line/svg/glock-g17.svg", "model3dUrl": null, "dataConfidence": 0.9, "createdAt": "2026-02-17 06:05:51", "updatedAt": "2026-02-17 06:05:51", "version": "1dc0085f469a3786f9cd4fce92845f4beffcb0494239e4419a17c3adf09b4749", "provenance": { "sources": [ "https://weaponsystems.net/system/841-Glock+17", "https://eu.glock.com/en/products/pistols/g17", "https://athlonoutdoors.com/article/glock-pistols-go-to-war/" ], "sourceKinds": [ { "url": "https://weaponsystems.net/system/841-Glock+17", "kind": "reference" }, { "url": "https://eu.glock.com/en/products/pistols/g17", "kind": "manufacturer" }, { "url": "https://athlonoutdoors.com/article/glock-pistols-go-to-war/", "kind": "press" } ], "bestSourceKind": "manufacturer", "dataConfidence": 0.9, "verifiedAt": null, "verifiedFields": null, "specSource": null, "updatedAt": "2026-02-17 06:05:51", "version": "1dc0085f469a3786f9cd4fce92845f4beffcb0494239e4419a17c3adf09b4749" }, "manufacturer": { "id": "glock", "name": "Glock Ges.m.b.H.", "countryCode": "AT", "foundedYear": 1963, "website": "https://www.glock.com", "logoUrl": null, "description": null, "status": null, "defunctYear": null, "stateOwned": null, "makesFirearms": null, "parentId": null, "predecessorId": null, "createdAt": "2026-02-11 23:44:38", "updatedAt": "2026-02-18 03:43:49", "version": "3082b5f3edc3e54ca4f0993c68dba8c456b4f86e8759e3310ef604da566477d6" }, "category": { "id": "pistol", "name": "Pistol", "description": "Handguns designed to be fired with one or two hands" }, "calibers": [ { "caliberId": "9x19mm-parabellum", "isPrimary": 1, "name": "9x19mm Parabellum", "natoDesignation": "9mm NATO", "bulletDiameterMm": 9.01, "caseLengthMm": 19.15, "cartridgeType": "rimless", "neckDiameterMm": 9.65, "shoulderDiameterMm": null, "baseDiameterMm": 9.93, "rimDiameterMm": 9.96, "rimThicknessMm": 1.27, "overallLengthMm": 29.69, "bulletLengthMm": 12.9, "typicalBulletWeightG": 7.45, "primerType": "small_pistol", "caseShape": "tapered", "caseMaterial": "brass", "projectileKind": "bullet", "bulletProfile": "round_nose", "closure": "bullet", "markingColor": null } ], "images": [ { "id": 1460, "firearmId": "glock-g17", "url": "https://assets.gunspec.io/firearms/line/svg/glock-g17.svg", "type": "svg", "kind": "silhouette", "storage": "cdn", "source": "generated", "author": null, "sourceUrl": null, "license": "cc0", "alt": null, "width": null, "height": null, "sortOrder": 0 }, { "id": 6578, "firearmId": "glock-g17", "url": "https://api.gunspec.io/v1/firearms/glock-g17/images/6578", "type": "render", "kind": "render", "storage": "r2", "source": null, "author": null, "sourceUrl": null, "license": null, "alt": null, "width": null, "height": null, "sortOrder": 1 }, { "id": 9826, "firearmId": "glock-g17", "url": "https://assets.gunspec.io/content/firearms/photos/glock-g17/01-photo.c01b4944ea90.webp", "type": "photo", "kind": null, "storage": null, "source": "Wikimedia Commons", "author": "Askild Antonsen", "sourceUrl": "https://commons.wikimedia.org/wiki/File:Glock_17_(6825676904).jpg", "license": "CC BY 2.0", "alt": "Glock 17", "width": 1920, "height": 1275, "sortOrder": 1 } ], "users": [ { "id": 10201, "firearmId": "glock-g17", "userName": "Austrian Armed Forces", "userType": "military", "countryCode": "AT", "adoptedYear": 1982, "designation": "P80" }, { "id": 10202, "firearmId": "glock-g17", "userName": "British Armed Forces", "userType": "military", "countryCode": "GB", "adoptedYear": 2013, "designation": "L131A1" }, { "id": 10203, "firearmId": "glock-g17", "userName": "Norwegian Armed Forces", "userType": "military", "countryCode": "NO", "adoptedYear": null, "designation": "P80" } ], "schematics": []}Captured from the live API on Sep 17, 2026. Lists and long text are shortened for display.
Related references
Arguments
| Name | Type | Description |
|---|---|---|
id (required) | string | The firearm slug, e.g. as returned by a list or search tool. |
Compare firearms
Returns side-by-side specifications for two to five firearms, with the differences calculated.
Example usage
- 1
A person asks
- Compare the Glock 17 with the Beretta 92FS side by side.
- 2
The assistant calls the tool
tools/calljson{ "name": "gunspec_compare_firearms", "arguments": { "ids": [ "glock-g17", "beretta-92fs" ] }} - 3
The server answers
Resultjson{ "items": [ { "id": "glock-g17", "name": "Glock 17", "manufacturerId": "glock", "categoryId": "pistol", "parentFirearmId": null, "variantType": null, "yearIntroduced": 1982, "yearDiscontinued": null, "status": "in_production", "countryOfOrigin": "AT", "weightEmptyG": 625, "weightLoadedG": 905, "overallLengthMm": 204, "barrelLengthMm": 114, "heightMm": 139, "widthMm": 32, "sightRadiusMm": 165, "actionType": "short_recoil", "firingMechanism": "striker_fired", "triggerType": "safe_action", "triggerPullN": 28, "magazineCapacity": 17, "magazineType": "detachable_box", "muzzleVelocityMps": 375, "muzzleEnergyJ": 519, "effectiveRangeM": 50, "maxRangeM": 1800, "rateOfFireRpm": null, "barrelRifling": "right_hand", "riflingTwistMm": 250, "numberOfGrooves": 6, "frameMaterial": "polymer", "slideMaterial": "steel", "barrelMaterial": "steel", "stockMaterial": null, "finish": "tenifer", "safetyMechanisms": "[\"trigger_safety\",\"firing_pin_safety\",\"drop_safety\"]", "features": "[\"polymer_frame\",\"safe_action_trigger\",\"hexagonal_rifling\",\"accessory_rail\",\"ambidextrous_slide_stop\",\"textured_grip\",\"reversible_magazine_release\",\"striker_fired\"]", "feedSystems": "[\"detachable_box_magazine\"]", "gameDamage": 42, "gameAccuracy": 68, "gameRange": 35, "gameFireRate": 55, "gameMobility": 76, "gameRecoilControl": 62, "gameReloadSpeed": 72, "gameConcealment": 65, "description": "The Glock 17 is a semi-automatic pistol chambered in 9x19mm Parabellum, produced by Glock Ges.m.b.H. since 1982. This Austrian-manufactured firearm reflects the engineering traditions and quality standards of its country of origin, designed…", "notes": "The name 'Glock 17' refers to it being Gaston Glock's 17th patent, not the magazine capacity, though the coincidence is often noted. The original Gen1 models (1982-1988) had distinctive pebbled grip texture and lacked an accessory rail. Gen…", "designer": "Gaston Glock", "foldedLengthMm": null, "alternateNames": "[\"P80\",\"Pistole 80\",\"L131A1\"]", "firingModes": "[\"semi_automatic\"]", "conflicts": "[{\"name\":\"War in Afghanistan\",\"years\":\"2001-2021\",\"sides\":[\"NATO Coalition\",\"British Armed Forces\",\"U.S. Special Operations\"]},{\"name\":\"Iraq War\",\"years\":\"2003-2011\",\"sides\":[\"Coalition Forces\",\"British Armed Forces\",\"Iraqi Security Forces\"…", "productionNumbers": "{\"estimated_total\":15000000,\"production_years\":\"1982-present\",\"notes\":\"Over 5 million produced by 2007; estimated 10-15 million total across all Glock models by 2020s. Gen1 production (1982-1991) was approximately 115,000 units across model…", "lore": "Gaston Glock was a curtain rod manufacturer with zero firearms experience when he designed the Glock 17 in his garage workshop. After overhearing Austrian military officers discussing their need for a new pistol in 1980, the 52-year-old eng…", "sources": "[\"https://weaponsystems.net/system/841-Glock+17\",\"https://eu.glock.com/en/products/pistols/g17\",\"https://athlonoutdoors.com/article/glock-pistols-go-to-war/\",\"https://www.eliteukforces.info/weapons/glock-pistol/\",\"https://combatoperators.co…", "sourceMuzzleVelocityMps": null, "sourceMuzzleEnergyJ": null, "sourceEffectiveRangeM": null, "sourceMaxRangeM": null, "ballisticsSource": null, "ballisticsSourceUrl": null, "defaultAmmoId": null, "has3dModel": 0, "svgLineArtUrl": "/firearms/line/svg/glock-g17.svg", "model3dUrl": null, "dataConfidence": 0.9, "createdAt": "2026-02-17 06:05:51", "updatedAt": "2026-02-17 06:05:51", "version": "1dc0085f469a3786f9cd4fce92845f4beffcb0494239e4419a17c3adf09b4749", "provenance": { "sources": [ "https://weaponsystems.net/system/841-Glock+17", "https://eu.glock.com/en/products/pistols/g17", "https://athlonoutdoors.com/article/glock-pistols-go-to-war/" ], "sourceKinds": [ { "url": "https://weaponsystems.net/system/841-Glock+17", "kind": "reference" }, { "url": "https://eu.glock.com/en/products/pistols/g17", "kind": "manufacturer" }, { "url": "https://athlonoutdoors.com/article/glock-pistols-go-to-war/", "kind": "press" } ], "bestSourceKind": "manufacturer", "dataConfidence": 0.9, "verifiedAt": null, "verifiedFields": null, "specSource": null, "updatedAt": "2026-02-17 06:05:51", "version": "1dc0085f469a3786f9cd4fce92845f4beffcb0494239e4419a17c3adf09b4749" }, "manufacturer": { "id": "glock", "name": "Glock Ges.m.b.H.", "countryCode": "AT", "foundedYear": 1963, "website": "https://www.glock.com", "logoUrl": null, "description": null, "status": null, "defunctYear": null, "stateOwned": null, "makesFirearms": null, "parentId": null, "predecessorId": null, "createdAt": "2026-02-11 23:44:38", "updatedAt": "2026-02-18 03:43:49", "version": "3082b5f3edc3e54ca4f0993c68dba8c456b4f86e8759e3310ef604da566477d6" }, "category": { "id": "pistol", "name": "Pistol", "description": "Handguns designed to be fired with one or two hands" }, "calibers": [ { "caliberId": "9x19mm-parabellum", "isPrimary": 1, "name": "9x19mm Parabellum", "natoDesignation": "9mm NATO", "bulletDiameterMm": 9.01, "caseLengthMm": 19.15, "cartridgeType": "rimless", "neckDiameterMm": 9.65, "shoulderDiameterMm": null, "baseDiameterMm": 9.93, "rimDiameterMm": 9.96, "rimThicknessMm": 1.27, "overallLengthMm": 29.69, "bulletLengthMm": 12.9, "typicalBulletWeightG": 7.45, "primerType": "small_pistol", "caseShape": "tapered", "caseMaterial": "brass", "projectileKind": "bullet", "bulletProfile": "round_nose", "closure": "bullet", "markingColor": null } ], "images": [ { "id": 1460, "firearmId": "glock-g17", "url": "/firearms/line/svg/glock-g17.svg", "type": "svg", "kind": "silhouette", "storage": "cdn", "source": "generated", "author": null, "sourceUrl": null, "license": "cc0", "alt": null, "width": null, "height": null, "sortOrder": 0 }, { "id": 6578, "firearmId": "glock-g17", "url": "firearms/glock-g17/render-01.png", "type": "render", "kind": "render", "storage": "r2", "source": null, "author": null, "sourceUrl": null, "license": null, "alt": null, "width": null, "height": null, "sortOrder": 1 }, { "id": 9826, "firearmId": "glock-g17", "url": "/content/firearms/photos/glock-g17/01-photo.c01b4944ea90.webp", "type": "photo", "kind": null, "storage": null, "source": "Wikimedia Commons", "author": "Askild Antonsen", "sourceUrl": "https://commons.wikimedia.org/wiki/File:Glock_17_(6825676904).jpg", "license": "CC BY 2.0", "alt": "Glock 17", "width": 1920, "height": 1275, "sortOrder": 1 } ], "users": [ { "id": 10201, "firearmId": "glock-g17", "userName": "Austrian Armed Forces", "userType": "military", "countryCode": "AT", "adoptedYear": 1982, "designation": "P80" }, { "id": 10202, "firearmId": "glock-g17", "userName": "British Armed Forces", "userType": "military", "countryCode": "GB", "adoptedYear": 2013, "designation": "L131A1" }, { "id": 10203, "firearmId": "glock-g17", "userName": "Norwegian Armed Forces", "userType": "military", "countryCode": "NO", "adoptedYear": null, "designation": "P80" } ] }, { "id": "beretta-92fs", "name": "Beretta 92FS", "manufacturerId": "beretta", "categoryId": "pistol", "parentFirearmId": null, "variantType": null, "yearIntroduced": 1975, "yearDiscontinued": null, "status": "in_production", "countryOfOrigin": "IT", "weightEmptyG": 945, "weightLoadedG": 1100, "overallLengthMm": 217, "barrelLengthMm": 125, "heightMm": 137, "widthMm": 38, "sightRadiusMm": 155, "actionType": "short_recoil", "firingMechanism": "hammer_fired", "triggerType": "da_sa", "triggerPullN": 49, "magazineCapacity": 15, "magazineType": "detachable_box", "muzzleVelocityMps": 365, "muzzleEnergyJ": 496, "effectiveRangeM": 50, "maxRangeM": 1800, "rateOfFireRpm": null, "barrelRifling": "right_hand", "riflingTwistMm": 250, "numberOfGrooves": 6, "frameMaterial": "aluminum_alloy", "slideMaterial": "steel", "barrelMaterial": "steel", "stockMaterial": null, "finish": "bruniton", "safetyMechanisms": "[\"manual_safety\",\"firing_pin_safety\",\"half_cock_notch\",\"decocking_lever\"]", "features": "[\"open_slide_design\",\"chrome_lined_barrel\",\"ambidextrous_safety\",\"reversible_mag_release\",\"combat_trigger_guard\",\"lanyard_loop\"]", "feedSystems": "[\"detachable_box_magazine\"]", "gameDamage": 42, "gameAccuracy": 72, "gameRange": 35, "gameFireRate": 50, "gameMobility": 74, "gameRecoilControl": 65, "gameReloadSpeed": 68, "gameConcealment": 65, "description": "The Beretta 92FS is a semi-automatic pistol chambered in 9x19mm Parabellum, produced by Fabbrica d'Armi Pietro Beretta since 1975. This Italian-manufactured firearm reflects the engineering traditions and quality standards of its country of…", "notes": "The 92FS designation stands for 'Federale Sicurezza' (Federal Security), introduced after a safety improvement to prevent slide separation. The U.S. military M9 variant served as the standard-issue sidearm from 1985 until it was replaced by…", "designer": "Carlo Beretta", "foldedLengthMm": null, "alternateNames": "[\"M9\",\"PAMAS G1\",\"Vektor Z88\",\"Yavuz 16\",\"Helwan 920\",\"92F\"]", "firingModes": "[\"semi_automatic\"]", "conflicts": "[{\"name\":\"Gulf War\",\"years\":\"1990-1991\",\"sides\":[\"Coalition Forces\",\"Iraq\"]},{\"name\":\"War in Afghanistan\",\"years\":\"2001-2021\",\"sides\":[\"NATO Coalition\",\"Taliban\"]},{\"name\":\"Iraq War\",\"years\":\"2003-2011\",\"sides\":[\"Coalition Forces\",\"Iraqi In…", "productionNumbers": "{\"estimated_total\":null,\"production_years\":\"1975-present\",\"notes\":\"Over 600,000 M9 pistols delivered to the U.S. military alone. Produced under license in multiple countries.\"}", "lore": "The Beretta 92 famously won the 1985 U.S. military XM9 trials, controversially beating the SIG Sauer P226. It served as the standard U.S. military sidearm for 32 years before being replaced by the SIG P320 (M17/M18) in 2017. Beretta is the…", "sources": "[\"https://en.wikipedia.org/wiki/Beretta_92\",\"https://www.beretta.com/en-us/product/92fs-FA0043\",\"https://fas.org/man/dod-101/sys/land/m9.htm\",\"https://www.militaryfactory.com/smallarms/detail.php?smallarms_id=667\",\"https://www.militaryupdat…", "sourceMuzzleVelocityMps": 365, "sourceMuzzleEnergyJ": 496, "sourceEffectiveRangeM": 50, "sourceMaxRangeM": 1800, "ballisticsSource": null, "ballisticsSourceUrl": null, "defaultAmmoId": null, "has3dModel": 0, "svgLineArtUrl": "/firearms/line/svg/beretta-92fs.svg", "model3dUrl": null, "dataConfidence": 0.89, "createdAt": "2026-02-11 23:44:42", "updatedAt": "2026-02-17 06:05:46", "version": "37fc8cf70018f3668accdc9e458e617dd2f6b7271eb8c7f0d06e473f6c8892e9", "provenance": { "sources": [ "https://en.wikipedia.org/wiki/Beretta_92", "https://www.beretta.com/en-us/product/92fs-FA0043", "https://fas.org/man/dod-101/sys/land/m9.htm" ], "sourceKinds": [ { "url": "https://en.wikipedia.org/wiki/Beretta_92", "kind": "reference" }, { "url": "https://www.beretta.com/en-us/product/92fs-FA0043", "kind": "manufacturer" }, { "url": "https://fas.org/man/dod-101/sys/land/m9.htm", "kind": "other" } ], "bestSourceKind": "manufacturer", "dataConfidence": 0.89, "verifiedAt": null, "verifiedFields": null, "specSource": null, "updatedAt": "2026-02-17 06:05:46", "version": "37fc8cf70018f3668accdc9e458e617dd2f6b7271eb8c7f0d06e473f6c8892e9" }, "manufacturer": { "id": "beretta", "name": "Beretta", "countryCode": "IT", "foundedYear": 1526, "website": "https://www.beretta.com", "logoUrl": null, "description": null, "status": null, "defunctYear": null, "stateOwned": null, "makesFirearms": null, "parentId": null, "predecessorId": null, "createdAt": "2026-02-11 23:44:38", "updatedAt": "2026-02-18 03:43:40", "version": "8b9fe1893419c995aa99c862828f03dd5729ecd351a2fed53e95d04b9a47918f" }, "category": { "id": "pistol", "name": "Pistol", "description": "Handguns designed to be fired with one or two hands" }, "calibers": [ { "caliberId": "9x19mm-parabellum", "isPrimary": 1, "name": "9x19mm Parabellum", "natoDesignation": "9mm NATO", "bulletDiameterMm": 9.01, "caseLengthMm": 19.15, "cartridgeType": "rimless", "neckDiameterMm": 9.65, "shoulderDiameterMm": null, "baseDiameterMm": 9.93, "rimDiameterMm": 9.96, "rimThicknessMm": 1.27, "overallLengthMm": 29.69, "bulletLengthMm": 12.9, "typicalBulletWeightG": 7.45, "primerType": "small_pistol", "caseShape": "tapered", "caseMaterial": "brass", "projectileKind": "bullet", "bulletProfile": "round_nose", "closure": "bullet", "markingColor": null } ], "images": [ { "id": 686, "firearmId": "beretta-92fs", "url": "/firearms/line/svg/beretta-92fs.svg", "type": "svg", "kind": "silhouette", "storage": "cdn", "source": "generated", "author": null, "sourceUrl": null, "license": "cc0", "alt": null, "width": null, "height": null, "sortOrder": 0 }, { "id": 6141, "firearmId": "beretta-92fs", "url": "firearms/beretta-92fs/render-01.png", "type": "render", "kind": "render", "storage": "r2", "source": null, "author": null, "sourceUrl": null, "license": null, "alt": null, "width": null, "height": null, "sortOrder": 1 } ], "users": [ { "id": 8396, "firearmId": "beretta-92fs", "userName": "United States Armed Forces", "userType": "military", "countryCode": "US", "adoptedYear": 1985, "designation": "M9" }, { "id": 8397, "firearmId": "beretta-92fs", "userName": "United States Marine Corps", "userType": "military", "countryCode": "US", "adoptedYear": 2006, "designation": "M9A1" }, { "id": 8398, "firearmId": "beretta-92fs", "userName": "Italian Armed Forces", "userType": "military", "countryCode": "IT", "adoptedYear": 1976, "designation": "92S" } ] } ], "deltas": [ { "field": "weightEmptyG", "values": [ 625, 945 ], "min": 625, "max": 945, "percentDiff": 51.2 }, { "field": "weightLoadedG", "values": [ 905, 1100 ], "min": 905, "max": 1100, "percentDiff": 21.55 }, { "field": "barrelLengthMm", "values": [ 114, 125 ], "min": 114, "max": 125, "percentDiff": 9.65 } ]}Captured from the live API on Sep 17, 2026. Lists and long text are shortened for display.
Related references
Arguments
| Name | Type | Description |
|---|---|---|
ids (required) | string[] | Two to five firearm slugs. |
Similar firearms
Returns firearms similar to this one in role, cartridge, size and era. Use this tool for questions such as "what else is like the X".
Example usage
- 1
A person asks
- Which firearms are similar to the Glock 17?
- 2
The assistant calls the tool
tools/calljson{ "name": "gunspec_similar_firearms", "arguments": { "id": "glock-g17" }} - 3
The server answers
Resultjson[ { "id": "accu-tek-bl-9", "name": "Accu-Tek BL-9", "score": 0.75, "manufacturerId": "accu-tek", "categoryId": "pistol", "countryOfOrigin": "US", "yearIntroduced": null, "status": "discontinued", "svgLineArtUrl": "/firearms/line/svg/accu-tek-bl-9.svg", "actionType": "short_recoil", "images": [ { "id": 2583, "url": "https://assets.gunspec.io/firearms/line/svg/accu-tek-bl-9.svg", "kind": "silhouette", "alt": null, "width": null, "height": null } ] }, { "id": "accu-tek-xl-9ss", "name": "Accu-Tek XL-9SS", "score": 0.75, "manufacturerId": "accu-tek", "categoryId": "pistol", "countryOfOrigin": "US", "yearIntroduced": null, "status": "discontinued", "svgLineArtUrl": "/firearms/line/svg/accu-tek-xl-9ss.svg", "actionType": "short_recoil", "images": [ { "id": 2586, "url": "https://assets.gunspec.io/firearms/line/svg/accu-tek-xl-9ss.svg", "kind": "silhouette", "alt": null, "width": null, "height": null } ] }, { "id": "ahss-ag-9", "name": "Smith & Wesson AG-9", "score": 0.75, "manufacturerId": "ahss", "categoryId": "pistol", "countryOfOrigin": "US", "yearIntroduced": null, "status": "discontinued", "svgLineArtUrl": "/firearms/line/svg/ahss-ag-9.svg", "actionType": "short_recoil", "images": [ { "id": 2593, "url": "https://assets.gunspec.io/firearms/line/svg/ahss-ag-9.svg", "kind": "silhouette", "alt": null, "width": null, "height": null } ] }]Captured from the live API on Sep 17, 2026. Lists and long text are shortened for display.
Related references
Arguments
| Name | Type | Description |
|---|---|---|
id (required) | string | The firearm slug, e.g. as returned by a list or search tool. |
Firearm variants
Returns the variants and derivatives of a firearm, for example the Gen 3, Gen 4, Gen 5, MOS and compact forms of a Glock 19.
Example usage
- 1
A person asks
- What variants of the AK-47 are there?
- 2
The assistant calls the tool
tools/calljson{ "name": "gunspec_firearm_variants", "arguments": { "id": "ak-47" }} - 3
The server answers
Resultjson[ { "id": "ak-47-type-2", "name": "AK-47 Type 2", "variantType": "milled_receiver", "yearIntroduced": 1951, "status": "discontinued" }, { "id": "ak-47-type-3", "name": "AK-47 Type 3", "variantType": "milled_receiver", "yearIntroduced": 1955, "status": "discontinued" }, { "id": "ak-74", "name": "AK-74", "variantType": "different_caliber", "yearIntroduced": 1974, "status": "in_production" }]Captured from the live API on Sep 17, 2026. Lists and long text are shortened for display.
Related references
Arguments
| Name | Type | Description |
|---|---|---|
id (required) | string | The firearm slug, e.g. as returned by a list or search tool. |
Firearm media
Returns every image, silhouette, render, schematic and 3D model URL for a firearm, with credits and sizes. Use the URLs directly. Do not attempt to fetch file contents through this tool.
Example usage
- 1
A person asks
- Show me images of the Glock 17.
- 2
The assistant calls the tool
tools/calljson{ "name": "gunspec_firearm_media", "arguments": { "id": "glock-g17" }} - 3
The server answers
Resultjson[ { "id": 1460, "kind": "silhouette", "mimeType": "image/svg+xml", "width": null, "height": null, "alt": null, "url": "https://assets.gunspec.io/firearms/line/svg/glock-g17.svg", "sizes": { "full": "https://api.gunspec.io/v1/firearms/glock-g17/media/1460?size=full", "display": "https://api.gunspec.io/v1/firearms/glock-g17/media/1460?size=display", "thumb": "https://api.gunspec.io/v1/firearms/glock-g17/media/1460?size=thumb" }, "credit": { "source": "generated", "author": null, "sourceUrl": null, "license": "cc0" } }, { "id": 9826, "kind": "photo", "mimeType": "image/webp", "width": 1920, "height": 1275, "alt": "Glock 17", "url": "https://assets.gunspec.io/content/firearms/photos/glock-g17/01-photo.c01b4944ea90.webp", "sizes": { "full": "https://api.gunspec.io/v1/firearms/glock-g17/media/9826?size=full", "display": "https://api.gunspec.io/v1/firearms/glock-g17/media/9826?size=display", "thumb": "https://api.gunspec.io/v1/firearms/glock-g17/media/9826?size=thumb" }, "credit": { "source": "Wikimedia Commons", "author": "Askild Antonsen", "sourceUrl": "https://commons.wikimedia.org/wiki/File:Glock_17_(6825676904).jpg", "license": "CC BY 2.0" } }, { "id": 6578, "kind": "render", "mimeType": "image/png", "width": null, "height": null, "alt": null, "url": "https://api.gunspec.io/v1/firearms/glock-g17/media/6578", "sizes": { "full": "https://api.gunspec.io/v1/firearms/glock-g17/media/6578?size=full", "display": "https://api.gunspec.io/v1/firearms/glock-g17/media/6578?size=display", "thumb": "https://api.gunspec.io/v1/firearms/glock-g17/media/6578?size=thumb" }, "credit": { "source": null, "author": null, "sourceUrl": null, "license": null } }]Captured from the live API on Sep 17, 2026. Lists and long text are shortened for display.
Related references
Arguments
| Name | Type | Description |
|---|---|---|
id (required) | string | The firearm slug, e.g. as returned by a list or search tool. |
kind | string | Return this media kind only. One of: silhouette, render, photo, schematic, model |
Top firearms by a statistic
Ranks the catalog by one measurable statistic: lightest, heaviest, longest range, highest rate of fire, most compact, highest capacity or most powerful. Results can be limited to one category.
Example usage
- 1
A person asks
- What are the five lightest pistols in the catalog?
- 2
The assistant calls the tool
tools/calljson{ "name": "gunspec_top_firearms", "arguments": { "stat": "lightest", "category": "pistol", "limit": 5 }} - 3
The server answers
Resultjson[ { "id": "freedom-arms-mini", "name": "Freedom Arms Mini Revolver", "manufacturerId": "freedom-arms", "categoryId": "pistol", "value": 110, "unit": "g" }, { "id": "iver-johnson-eclipse", "name": "Iver Johnson Eclipse", "manufacturerId": "iver-johnson", "categoryId": "pistol", "value": 140, "unit": "g" }, { "id": "braverman-stinger-pen-gun", "name": "Braverman Stinger Pen Gun", "manufacturerId": "rj-braverman", "categoryId": "pistol", "value": 142, "unit": "g" }]Captured from the live API on Sep 17, 2026. Lists and long text are shortened for display.
Related references
Arguments
| Name | Type | Description |
|---|---|---|
stat (required) | string | The statistic to rank by. One of: lightest, heaviest, longest-range, highest-rof, most-compact, highest-capacity, most-powerful |
category | string | Limit results to this category slug. |
limit | integer | Number of results to return. 1 to 50 Default: 10 |
List manufacturers
Lists manufacturers in the catalog with their slugs, optionally filtered by country.
Example usage
- 1
A person asks
- List some firearm manufacturers.
- 2
The assistant calls the tool
tools/calljson{ "name": "gunspec_list_manufacturers", "arguments": { "per_page": 5 }} - 3
The server answers
Resultjson{ "manufacturers": [ { "id": "205th-armory", "name": "205th Armory", "countryCode": "TW", "foundedYear": 1945, "website": null, "logoUrl": null, "description": null, "status": "active", "defunctYear": null, "stateOwned": true, "makesFirearms": true, "parentId": null, "predecessorId": null, "createdAt": "2026-04-05 22:24:37", "updatedAt": "2026-04-05 22:24:37", "version": "1256c35bd373f609ccaeff7942f3b8df63e8b0097f5c468fbba95344db513e5c" }, { "id": "205th-arsenal", "name": "205th Arsenal, Combined Service Forces", "countryCode": "TW", "foundedYear": null, "website": null, "logoUrl": null, "description": null, "status": null, "defunctYear": null, "stateOwned": null, "makesFirearms": null, "parentId": null, "predecessorId": null, "createdAt": "2026-02-11 23:44:40", "updatedAt": "2026-02-18 03:40:48", "version": "95cb447790e11c9ceb2bdb7d77ed215db5cb6e904c509efa3e073a91355d0158" }, { "id": "2a-armament", "name": "2A Armament", "countryCode": "US", "foundedYear": 2013, "website": "https://2a-arms.com", "logoUrl": null, "description": null, "status": null, "defunctYear": null, "stateOwned": null, "makesFirearms": null, "parentId": null, "predecessorId": null, "createdAt": "2026-05-26 23:17:02", "updatedAt": "2026-05-26 23:17:02", "version": "33fe499d02fb74516ad8cb557bc218baec054029dcefa82c0bba4c3ea33f52f7" } ], "pagination": { "page": 1, "limit": 5, "per_page": 5, "total": 1100, "totalPages": 220 }}Captured from the live API on Sep 17, 2026. Lists and long text are shortened for display.
Related references
Arguments
| Name | Type | Description |
|---|---|---|
country | string | Country name or ISO code. |
page | integer | Page number, from 1. At least 1 Default: 1 |
per_page | integer | Items per page, 1 to 100. 1 to 100 Default: 20 |
Get a manufacturer
Returns one manufacturer, including founding details, country, headquarters, description and website.
Example usage
- 1
A person asks
- Tell me about Glock as a manufacturer.
- 2
The assistant calls the tool
tools/calljson{ "name": "gunspec_get_manufacturer", "arguments": { "id": "glock" }} - 3
The server answers
Resultjson{ "id": "glock", "name": "Glock Ges.m.b.H.", "countryCode": "AT", "foundedYear": 1963, "website": "https://www.glock.com", "logoUrl": null, "description": null, "status": null, "defunctYear": null, "stateOwned": null, "makesFirearms": null, "parentId": null, "predecessorId": null, "createdAt": "2026-02-11 23:44:38", "updatedAt": "2026-02-18 03:43:49", "version": "3082b5f3edc3e54ca4f0993c68dba8c456b4f86e8759e3310ef604da566477d6"}Captured from the live API on Sep 17, 2026.
Related references
Arguments
| Name | Type | Description |
|---|---|---|
id (required) | string | The manufacturer slug, e.g. as returned by a list or search tool. |
A manufacturer's firearms
Returns every firearm a manufacturer makes or has made, with pagination.
Example usage
- 1
A person asks
- Which firearms does Colt make?
- 2
The assistant calls the tool
tools/calljson{ "name": "gunspec_manufacturer_firearms", "arguments": { "id": "colt", "per_page": 5 }} - 3
The server answers
Resultjson{ "firearms": [ { "id": "ar-15", "name": "AR-15", "categoryId": "rifle", "yearIntroduced": 1963, "status": "in_production", "actionType": "gas_operated_short_stroke", "countryOfOrigin": "US", "svgLineArtUrl": "/firearms/line/svg/ar-15.svg", "model3dUrl": null, "images": [ { "id": 671, "url": "https://assets.gunspec.io/firearms/line/svg/ar-15.svg", "kind": "silhouette", "alt": null, "width": null, "height": null }, { "id": 6043, "url": "https://api.gunspec.io/v1/firearms/ar-15/images/6043", "kind": "render", "alt": null, "width": null, "height": null } ] }, { "id": "berdan-i", "name": "Berdan I M1868", "categoryId": "rifle", "yearIntroduced": 1868, "status": "out_of_production", "actionType": null, "countryOfOrigin": "RU", "svgLineArtUrl": null, "model3dUrl": null, "images": [ { "id": 8002, "url": "https://api.gunspec.io/v1/firearms/berdan-i/images/8002", "kind": "render", "alt": null, "width": null, "height": null } ] }, { "id": "browning-bar-m1918", "name": "Browning Automatic Rifle M1918A2", "categoryId": "machine-gun", "yearIntroduced": 1940, "status": "discontinued", "actionType": "gas_operated_long_stroke", "countryOfOrigin": "US", "svgLineArtUrl": null, "model3dUrl": null, "images": [ { "id": 6202, "url": "https://api.gunspec.io/v1/firearms/browning-bar-m1918/images/6202", "kind": "render", "alt": null, "width": null, "height": null } ] } ], "pagination": { "page": 1, "limit": 5, "per_page": 5, "total": 161, "totalPages": 33 }}Captured from the live API on Sep 17, 2026. Lists and long text are shortened for display.
Related references
Arguments
| Name | Type | Description |
|---|---|---|
id (required) | string | The manufacturer slug, e.g. as returned by a list or search tool. |
page | integer | Page number, from 1. At least 1 Default: 1 |
per_page | integer | Items per page, 1 to 100. 1 to 100 Default: 20 |
List calibers
Lists cartridges in the catalog with bullet diameter, case length and type. Use this tool to find a caliber slug.
Example usage
- 1
A person asks
- List some calibers in the catalog.
- 2
The assistant calls the tool
tools/calljson{ "name": "gunspec_list_calibers", "arguments": { "per_page": 5 }} - 3
The server answers
Resultjson{ "calibers": [ { "id": "17-mach-2", "name": ".17 Hornady Mach 2", "aliases": "[\".17 HM2\",\".17 Mach 2\",\"17 HM2\",\"17 Mach 2\"]", "natoDesignation": null, "bulletDiameterMm": 4.37, "neckDiameterMm": 4.57, "baseDiameterMm": 5.74, "caseLengthMm": 18.14, "overallLengthMm": 25.4, "maxPressureMpa": 165, "maxPressurePsi": 24000, "typicalBulletWeightG": 1.06, "typicalMuzzleVelocityMps": 603, "typicalMuzzleEnergyJ": 193, "primerType": "rimfire", "cartridgeType": "rimmed", "parentCartridgeId": "22-lr", "yearIntroduced": 2004, "designer": "Hornady", "rimDiameterMm": 6.99, "rimThicknessMm": 1.09, "shoulderDiameterMm": 5.74, "bulletLengthMm": 9.4, "caseShape": "bottleneck", "caseMaterial": "brass", "projectileKind": "bullet", "bulletProfile": "spitzer", "closure": "bullet", "markingColor": null, "markingMeaning": null, "specSource": "https://en.wikipedia.org/wiki/.17_HM2", "specStandard": "saami", "dataConfidence": 0.95, "verifiedAt": "2026-09-08", "verifiedFields": "[\"exists\",\"bullet_diameter_mm\",\"neck_diameter_mm\",\"shoulder_diameter_mm\",\"base_diameter_mm\",\"rim_diameter_mm\",\"rim_thickness_mm\",\"case_length_mm\",\"overall_length_mm\",\"primer_type\",\"max_pressure_mpa\"]", "createdAt": "2026-02-18 03:40:52", "updatedAt": "2026-09-10 01:25:59", "version": "6e48871fae30d6192c5df15df5bbefbae825c4e2c0891f383adac7d33b04776a", "provenance": { "sources": [], "sourceKinds": [], "bestSourceKind": null, "dataConfidence": 0.95, "verifiedAt": "2026-09-08", "verifiedFields": [ "exists", "bullet_diameter_mm", "neck_diameter_mm" ], "specSource": "https://en.wikipedia.org/wiki/.17_HM2", "updatedAt": "2026-09-10 01:25:59", "version": "6e48871fae30d6192c5df15df5bbefbae825c4e2c0891f383adac7d33b04776a" } }, { "id": "17-hmr", "name": ".17 Hornady Magnum Rimfire", "aliases": "[\".17 HMR\",\"17 HMR\",\"17 Hornady Magnum\",\"17HMR\",\"4.5x26.9mmR\",\"4.5x27mmR\"]", "natoDesignation": null, "bulletDiameterMm": 4.37, "neckDiameterMm": 4.83, "baseDiameterMm": 6.05, "caseLengthMm": 26.87, "overallLengthMm": 34.26, "maxPressureMpa": 179, "maxPressurePsi": 26000, "typicalBulletWeightG": 1.3, "typicalMuzzleVelocityMps": 775, "typicalMuzzleEnergyJ": 390, "primerType": "rimfire", "cartridgeType": "rimmed", "parentCartridgeId": "22-wmr", "yearIntroduced": 2002, "designer": "Hornady", "rimDiameterMm": 7.26, "rimThicknessMm": 1.27, "shoulderDiameterMm": 6.05, "bulletLengthMm": 9.8, "caseShape": "bottleneck", "caseMaterial": "brass", "projectileKind": "bullet", "bulletProfile": "hollow_point", "closure": "bullet", "markingColor": null, "markingMeaning": null, "specSource": "https://en.wikipedia.org/wiki/.17_HMR", "specStandard": null, "dataConfidence": 0.9, "verifiedAt": "2026-09-08", "verifiedFields": "[\"exists\",\"bullet_diameter_mm\",\"neck_diameter_mm\",\"shoulder_diameter_mm\",\"base_diameter_mm\",\"rim_diameter_mm\",\"rim_thickness_mm\",\"case_length_mm\",\"overall_length_mm\",\"primer_type\",\"max_pressure_mpa\",\"max_pressure_psi\"]", "createdAt": "2026-02-11 23:44:40", "updatedAt": "2026-09-10 01:25:59", "version": "6893dc76520565601c7a8b0d0fe10066cc76f7895a15f938bc05afed36864205", "provenance": { "sources": [], "sourceKinds": [], "bestSourceKind": null, "dataConfidence": 0.9, "verifiedAt": "2026-09-08", "verifiedFields": [ "exists", "bullet_diameter_mm", "neck_diameter_mm" ], "specSource": "https://en.wikipedia.org/wiki/.17_HMR", "updatedAt": "2026-09-10 01:25:59", "version": "6893dc76520565601c7a8b0d0fe10066cc76f7895a15f938bc05afed36864205" } }, { "id": "17-hornet", "name": ".17 Hornet", "aliases": "[\"17 Hornet\"]", "natoDesignation": null, "bulletDiameterMm": 4.37, "neckDiameterMm": 4.9, "baseDiameterMm": 7.59, "caseLengthMm": 34.29, "overallLengthMm": 43.76, "maxPressureMpa": 362, "maxPressurePsi": 50000, "typicalBulletWeightG": 1.3, "typicalMuzzleVelocityMps": 1058, "typicalMuzzleEnergyJ": 728, "primerType": "small_rifle", "cartridgeType": "rimmed", "parentCartridgeId": null, "yearIntroduced": 2012, "designer": "Hornady", "rimDiameterMm": 8.89, "rimThicknessMm": 1.65, "shoulderDiameterMm": 7.32, "bulletLengthMm": 11.5, "caseShape": "bottleneck", "caseMaterial": "brass", "projectileKind": "bullet", "bulletProfile": "spitzer", "closure": "bullet", "markingColor": null, "markingMeaning": null, "specSource": "https://en.wikipedia.org/wiki/.17_Hornet", "specStandard": "saami", "dataConfidence": 0.95, "verifiedAt": "2026-09-08", "verifiedFields": "[\"exists\",\"bullet_diameter_mm\",\"neck_diameter_mm\",\"shoulder_diameter_mm\",\"base_diameter_mm\",\"rim_diameter_mm\",\"rim_thickness_mm\",\"case_length_mm\",\"overall_length_mm\",\"primer_type\"]", "createdAt": "2026-03-09 12:58:51", "updatedAt": "2026-09-10 01:25:59", "version": "a262a3c5973cf09d26e518cee12745a779a65fe8bae4e3e2a0a565fde255a594", "provenance": { "sources": [], "sourceKinds": [], "bestSourceKind": null, "dataConfidence": 0.95, "verifiedAt": "2026-09-08", "verifiedFields": [ "exists", "bullet_diameter_mm", "neck_diameter_mm" ], "specSource": "https://en.wikipedia.org/wiki/.17_Hornet", "updatedAt": "2026-09-10 01:25:59", "version": "a262a3c5973cf09d26e518cee12745a779a65fe8bae4e3e2a0a565fde255a594" } } ], "pagination": { "page": 1, "limit": 5, "per_page": 5, "total": 616, "totalPages": 124 }}Captured from the live API on Sep 17, 2026. Lists and long text are shortened for display.
Related references
Arguments
| Name | Type | Description |
|---|---|---|
cartridge_type | string | Cartridge type, e.g. "rimfire", "centerfire" or "shotshell". |
page | integer | Page number, from 1. At least 1 Default: 1 |
per_page | integer | Items per page, 1 to 100. 1 to 100 Default: 20 |
Get a caliber
Returns the full record for one cartridge: SAAMI/CIP dimensions, case shape, projectile, origin, parent cartridge and provenance.
Example usage
- 1
A person asks
- What are the dimensions of the 9x19mm Parabellum cartridge?
- 2
The assistant calls the tool
tools/calljson{ "name": "gunspec_get_caliber", "arguments": { "id": "9x19mm-parabellum" }} - 3
The server answers
Resultjson{ "id": "9x19mm-parabellum", "name": "9x19mm Parabellum", "aliases": "[\"7N21\",\"7N31\",\"9mm\",\"9mm +P\",\"9mm Luger\",\"9mm M38\",\"9mm M38 (Italian high-pressure variant)\",\"9mm NATO\",\"9mm Para\",\"9mm Parabellum\",\"9mm patron m/39\",\"9x19mm\",\"9x19mm 7N21\",\"9x19mm NATO\"]", "natoDesignation": "9mm NATO", "bulletDiameterMm": 9.01, "neckDiameterMm": 9.65, "baseDiameterMm": 9.93, "caseLengthMm": 19.15, "overallLengthMm": 29.69, "maxPressureMpa": 235, "maxPressurePsi": 34084, "typicalBulletWeightG": 7.45, "typicalMuzzleVelocityMps": 360, "typicalMuzzleEnergyJ": 481, "primerType": "small_pistol", "cartridgeType": "rimless", "parentCartridgeId": "7-65x21mm-parabellum", "yearIntroduced": 1902, "designer": "Georg Luger", "rimDiameterMm": 9.96, "rimThicknessMm": 1.27, "shoulderDiameterMm": null, "bulletLengthMm": 12.9, "caseShape": "tapered", "caseMaterial": "brass", "projectileKind": "bullet", "bulletProfile": "round_nose", "closure": "bullet", "markingColor": null, "markingMeaning": null, "specSource": "https://en.wikipedia.org/wiki/9%C3%9719mm_Parabellum", "specStandard": "cip", "dataConfidence": 0.95, "verifiedAt": "2026-09-08", "verifiedFields": "[\"exists\",\"bullet_diameter_mm\",\"neck_diameter_mm\",\"base_diameter_mm\",\"rim_diameter_mm\",\"rim_thickness_mm\",\"case_length_mm\",\"overall_length_mm\",\"primer_type\",\"max_pressure_mpa\"]", "createdAt": "2026-02-11 23:44:40", "updatedAt": "2026-09-10 01:25:59", "version": "cd56221351785b333a9eaa665adaa165b5cfe2544a8c60dbb031349bfe9fe918", "provenance": { "sources": [], "sourceKinds": [], "bestSourceKind": null, "dataConfidence": 0.95, "verifiedAt": "2026-09-08", "verifiedFields": [ "exists", "bullet_diameter_mm", "neck_diameter_mm" ], "specSource": "https://en.wikipedia.org/wiki/9%C3%9719mm_Parabellum", "updatedAt": "2026-09-10 01:25:59", "version": "cd56221351785b333a9eaa665adaa165b5cfe2544a8c60dbb031349bfe9fe918" }}Captured from the live API on Sep 17, 2026. Lists and long text are shortened for display.
Related references
Arguments
| Name | Type | Description |
|---|---|---|
id (required) | string | The caliber slug, e.g. as returned by a list or search tool. |
Firearms chambered in a caliber
Returns every firearm chambered for a cartridge, with pagination.
Example usage
- 1
A person asks
- Which firearms are chambered in 9mm Parabellum?
- 2
The assistant calls the tool
tools/calljson{ "name": "gunspec_caliber_firearms", "arguments": { "id": "9x19mm-parabellum", "per_page": 5 }} - 3
The server answers
Resultjson{ "firearms": [ { "id": "arex-alpha", "name": "AREX Defense Alpha", "manufacturerId": "arex", "categoryId": "pistol", "yearIntroduced": null, "status": "discontinued", "actionType": "short_recoil", "svgLineArtUrl": "/firearms/line/svg/arex-alpha.svg", "model3dUrl": null, "countryOfOrigin": "SI", "images": [ { "id": 2684, "url": "https://assets.gunspec.io/firearms/line/svg/arex-alpha.svg", "kind": "silhouette", "alt": null, "width": null, "height": null } ] }, { "id": "arex-delta", "name": "AREX Defense Delta", "manufacturerId": "arex", "categoryId": "pistol", "yearIntroduced": null, "status": "discontinued", "actionType": "short_recoil", "svgLineArtUrl": "/firearms/line/svg/arex-delta.svg", "model3dUrl": null, "countryOfOrigin": "SI", "images": [ { "id": 2686, "url": "https://assets.gunspec.io/firearms/line/svg/arex-delta.svg", "kind": "silhouette", "alt": null, "width": null, "height": null } ] }, { "id": "arex-delta-gen-2", "name": "AREX Defense Delta Gen.2", "manufacturerId": "arex", "categoryId": "pistol", "yearIntroduced": null, "status": "discontinued", "actionType": "short_recoil", "svgLineArtUrl": "/firearms/line/svg/arex-delta-gen-2.svg", "model3dUrl": null, "countryOfOrigin": "SI", "images": [ { "id": 2685, "url": "https://assets.gunspec.io/firearms/line/svg/arex-delta-gen-2.svg", "kind": "silhouette", "alt": null, "width": null, "height": null }, { "id": 6046, "url": "https://api.gunspec.io/v1/firearms/arex-delta-gen-2/images/6046", "kind": "render", "alt": null, "width": null, "height": null } ] } ], "pagination": { "page": 1, "limit": 5, "per_page": 5, "total": 1697, "totalPages": 340 }}Captured from the live API on Sep 17, 2026. Lists and long text are shortened for display.
Related references
Arguments
| Name | Type | Description |
|---|---|---|
id (required) | string | The caliber slug, e.g. as returned by a list or search tool. |
page | integer | Page number, from 1. At least 1 Default: 1 |
per_page | integer | Items per page, 1 to 100. 1 to 100 Default: 20 |
List categories
Lists the firearm categories, such as pistol, revolver, rifle, shotgun and submachine gun, with their slugs and counts.
Example usage
- 1
A person asks
- What categories of firearm does the catalog cover?
- 2
The assistant calls the tool
tools/calljson{ "name": "gunspec_list_categories", "arguments": {}} - 3
The server answers
Resultjson[ { "id": "assault-rifle", "name": "Assault Rifle", "description": "Selective-fire rifles chambered in intermediate cartridges" }, { "id": "battle-rifle", "name": "Battle Rifle", "description": "Selective-fire rifles chambered in full-power cartridges" }, { "id": "carbine", "name": "Carbine", "description": "Shortened rifles for close-quarters use" }]Captured from the live API on Sep 17, 2026. Lists and long text are shortened for display.
Related references
Arguments
No arguments.
List ammunition loads
Lists factory loads with bullet weight, bullet type, ballistic coefficient and reference velocity. Results can be filtered by caliber.
Example usage
- 1
A person asks
- List some 9mm Parabellum ammunition loads.
- 2
The assistant calls the tool
tools/calljson{ "name": "gunspec_list_ammunition", "arguments": { "caliber_id": "9x19mm-parabellum", "per_page": 5 }} - 3
The server answers
Resultjson{ "ammunition": [ { "id": "adi-world-class-124jhp", "caliberId": "9x19mm-parabellum", "name": "ADI World Class 124gr JHP", "designation": "ADI9MMJHP", "manufacturer": "ADI (Thales)", "countryOfOrigin": "AU", "bulletWeightG": 8.04, "bulletType": "JHP", "ballisticCoefficientG1": 0.141, "ballisticCoefficientG7": null, "referenceVelocityMps": 350, "referenceBarrelLengthMm": 118, "velocityRetentionExponent": 0.23, "sectionalDensity": 0.141, "description": "Australian-manufactured premium ammunition. ADI is the primary supplier to the Australian Defence Force, and their 'World Class' line is highly regarded for quality control.", "yearIntroduced": 1995, "isCommon": 1, "isMilitary": 0, "createdAt": "2026-02-17 05:53:36", "updatedAt": "2026-02-17 05:53:36", "bulletSvgUrl": "https://api.gunspec.io/v1/ammunition/adi-world-class-124jhp/bullet.svg" }, { "id": "federal-hst-124jhp", "caliberId": "9x19mm-parabellum", "name": "Federal Premium HST 124gr JHP", "designation": "P9HST1", "manufacturer": "Federal Premium", "countryOfOrigin": "US", "bulletWeightG": 8.04, "bulletType": "JHP", "ballisticCoefficientG1": 0.15, "ballisticCoefficientG7": null, "referenceVelocityMps": 350, "referenceBarrelLengthMm": 102, "velocityRetentionExponent": 0.23, "sectionalDensity": 0.141, "description": "Widely considered the gold standard for self-defense and law enforcement. The HST design ensures consistent expansion and deep penetration even through heavy clothing barriers.", "yearIntroduced": 2002, "isCommon": 1, "isMilitary": 0, "createdAt": "2026-02-17 05:53:36", "updatedAt": "2026-02-17 05:53:36", "bulletSvgUrl": "https://api.gunspec.io/v1/ammunition/federal-hst-124jhp/bullet.svg" }, { "id": "hornady-critical-duty-135", "caliberId": "9x19mm-parabellum", "name": "Hornady Critical Duty 135gr FlexLock", "designation": "90236", "manufacturer": "Hornady", "countryOfOrigin": "US", "bulletWeightG": 8.75, "bulletType": "FlexLock", "ballisticCoefficientG1": 0.195, "ballisticCoefficientG7": null, "referenceVelocityMps": 308, "referenceBarrelLengthMm": 102, "velocityRetentionExponent": 0.24, "sectionalDensity": 0.153, "description": "Designed for FBI-style barrier penetration. Uses the FlexLock bullet with a polymer tip to prevent clogging when passing through glass, metal, or wood.", "yearIntroduced": 2011, "isCommon": 1, "isMilitary": 0, "createdAt": "2026-02-17 05:53:36", "updatedAt": "2026-02-17 05:53:36", "bulletSvgUrl": "https://api.gunspec.io/v1/ammunition/hornady-critical-duty-135/bullet.svg" } ], "pagination": { "page": 1, "limit": 5, "per_page": 5, "total": 8, "totalPages": 2 }}Captured from the live API on Sep 17, 2026. Lists and long text are shortened for display.
Related references
Arguments
| Name | Type | Description |
|---|---|---|
caliber_id | string | Caliber slug. |
bullet_type | string | Bullet type, e.g. "fmj", "hollow-point" or "soft-point". |
page | integer | Page number, from 1. At least 1 Default: 1 |
per_page | integer | Items per page, 1 to 100. 1 to 100 Default: 20 |
Ballistic table for a load
Returns velocity, energy, drop and time of flight at a set of distances for one ammunition load, adjusted for barrel length.
Example usage
- 1
A person asks
- Show the ballistics of Federal HST 124 grain JHP.
- 2
The assistant calls the tool
tools/calljson{ "name": "gunspec_ammunition_ballistics", "arguments": { "id": "federal-hst-124jhp" }} - 3
The server answers
Resultjson{ "ammunition": { "id": "federal-hst-124jhp", "name": "Federal Premium HST 124gr JHP", "caliberId": "9x19mm-parabellum" }, "barrelLengthMm": 102, "muzzleVelocityMps": 350, "muzzleEnergyJ": 492, "effectiveRangeM": 183, "terminalBallistics": { "tkoFactor": 7.2, "momentumKgMs": 2.81, "sectionalDensity": 0.141, "hatcherRSP": 36, "energyDensityJCm2": 772.4 }, "trajectory": [ { "distanceM": 0, "velocityMps": 350, "energyJ": 492, "dropCm": 0, "timeOfFlightS": 0, "machNumber": 1.02, "momentumKgMs": 2.81, "tkoFactor": 7.2, "energyDensityJCm2": 772.4 }, { "distanceM": 50, "velocityMps": 307, "energyJ": 380, "dropCm": 11.5, "timeOfFlightS": 0.153, "machNumber": 0.9, "momentumKgMs": 2.47, "tkoFactor": 6.3, "energyDensityJCm2": 595.8 }, { "distanceM": 100, "velocityMps": 282, "energyJ": 319, "dropCm": 51.4, "timeOfFlightS": 0.324, "machNumber": 0.82, "momentumKgMs": 2.26, "tkoFactor": 5.8, "energyDensityJCm2": 500.4 } ]}Captured from the live API on Sep 17, 2026. Lists and long text are shortened for display.
Related references
Arguments
| Name | Type | Description |
|---|---|---|
id (required) | string | The ammunition load slug, e.g. as returned by a list or search tool. |
barrel_length_mm | number | Barrel length used to adjust muzzle velocity. |
distances | string | Comma-separated distances in metres, e.g. "0,50,100,200". |
Catalog summary
Returns the current number of firearms, manufacturers, calibers and categories in the catalog. Use this tool for any count. Never estimate a count.
Example usage
- 1
A person asks
- How many firearms, manufacturers and calibers are in the catalog?
- 2
The assistant calls the tool
tools/calljson{ "name": "gunspec_stats_summary", "arguments": {}} - 3
The server answers
Resultjson{ "total_firearms": 9166, "total_manufacturers": 1100, "total_calibers": 617, "countries_of_origin": 69, "avg_confidence": 74, "total_variants": 1354}Captured from the live API on Sep 17, 2026.
Related references
Arguments
No arguments.
API changelog
Lists recent changes to the API and catalog, newest first. No API key is required.
Example usage
- 1
A person asks
- What has changed in the GunSpec API recently?
- 2
The assistant calls the tool
tools/calljson{ "name": "gunspec_changelog", "arguments": { "per_page": 5 }} - 3
The server answers
Resultjson[ { "id": "073-the-spec-names-the-api-you-fetched-it-from", "title": "The spec names the API you fetched it from", "body": "Our OpenAPI document listed three servers - production, staging and a localhost address - on every environment.\n\n- **One server, and it is the host that answered** - generated clients and try-it consoles pick a server from that list, and ne…", "category": "improvement", "published": 1, "publishedAt": "2026-09-15T06:13:00Z", "createdAt": "2026-09-15T06:32:03.420Z", "updatedAt": "2026-09-17T07:46:16.543Z" }, { "id": "072-one-spelling-per-value-across-the-catalog", "title": "One spelling per value across the catalog", "body": "A sweep of every catalog file against the schema that describes it found 1,418 records disagreeing with it. Filtering on any of these now returns the whole answer rather than half of it.\n\n- **Second spellings merged** - `dao` into `double_a…", "category": "data", "published": 1, "publishedAt": "2026-09-15T06:12:00Z", "createdAt": "2026-09-15T06:32:03.420Z", "updatedAt": "2026-09-17T07:46:16.543Z" }, { "id": "071-values-we-serve-match-the-lists-we-publish", "title": "Values we serve match the lists we publish", "body": "Eleven new checks hold the data against the vocabularies the API documents, so a value your client cannot parse is something we find rather than something you report.\n\n- **Action types, trigger types, firing mechanisms, magazine types and a…", "category": "feature", "published": 1, "publishedAt": "2026-09-15T06:11:00Z", "createdAt": "2026-09-15T06:32:03.420Z", "updatedAt": "2026-09-17T07:46:16.543Z" }]Captured from the live API on Sep 17, 2026. Lists and long text are shortened for display.
Related references
Arguments
| Name | Type | Description |
|---|---|---|
category | string | Return this category only. One of: feature, improvement, bugfix, data, breaking |
per_page | integer | Items per page, 1 to 100. 1 to 100 Default: 20 |
List attachments
Lists suppressors, optics, magazines, grips, stocks and other attachments. `fits` limits results to attachments that fit one firearm and requires the Studio plan. `requires` limits results to parts that need one mount standard.
Example usage
- 1
A person asks
- List some attachments in the catalog.
- 2
The assistant calls the tool
tools/calljson{ "name": "gunspec_list_attachments", "arguments": { "per_page": 5 }} - 3
The server answers
Resultjson{ "attachments": [ { "id": "law-tactical-folding-stock-adapter-gen-s", "name": "AR Folding Stock Adapter, GEN-S", "category": "adapter", "manufacturer": { "id": "law-tactical", "name": "Law Tactical" }, "modelNumber": "99312", "weightG": 266, "lengthMm": null, "capacity": null, "boreDiameterMm": null, "requiresPosition": "rear", "isFactoryPart": false, "factoryFor": null, "provides": [ "stock:ar-lower-receiver-thread" ], "statMods": { "mobility": 3 }, "specDeltas": { "length_added_mm": 33 }, "imageUrl": "https://assets.gunspec.io/content/attachments/adapter/law-tactical-folding-stock-adapter-gen-s/01-product.webp", "status": "in_production", "dataConfidence": 0.85, "updatedAt": "2026-09-10 01:28:41", "version": "e27e61b4b373f5a621d6ae5c67d521096131f2cf563005c993099d44e85001b1" }, { "id": "cnc-warrior-5-8-24-to-1-2-28-thread-adapter", "name": "CNC Warrior 5/8-24 RH to 1/2-28 RH Thread Adapter", "category": "adapter", "manufacturer": { "id": "cnc-warrior", "name": "CNC Warrior LLC" }, "modelNumber": "26603", "weightG": 30, "lengthMm": 32, "capacity": null, "boreDiameterMm": null, "requiresPosition": "muzzle", "isFactoryPart": false, "factoryFor": null, "provides": [ "thread:1/2x28" ], "statMods": {}, "specDeltas": {}, "imageUrl": "https://assets.gunspec.io/content/attachments/adapter/cnc-warrior-5-8-24-to-1-2-28-thread-adapter/01-product.webp", "status": "in_production", "dataConfidence": 0.95, "updatedAt": "2026-09-10 01:28:41", "version": "5990d4cc66b31740c1c7da23370cb128f26b9c4786c766f9db083f4829750641" }, { "id": "cnc-warrior-m14x1-lh-to-5-8-24-thread-adapter", "name": "CNC Warrior M14x1 LH to 5/8-24 RH Muzzle Thread Adapter", "category": "adapter", "manufacturer": { "id": "cnc-warrior", "name": "CNC Warrior LLC" }, "modelNumber": "24928", "weightG": null, "lengthMm": 32, "capacity": null, "boreDiameterMm": null, "requiresPosition": "muzzle", "isFactoryPart": false, "factoryFor": null, "provides": [ "thread:5/8x24" ], "statMods": {}, "specDeltas": {}, "imageUrl": "https://assets.gunspec.io/content/attachments/adapter/cnc-warrior-m14x1-lh-to-5-8-24-thread-adapter/01-product.webp", "status": "in_production", "dataConfidence": 0.9, "updatedAt": "2026-09-10 01:28:41", "version": "22375f3b66ade4ebdfcab1b682c05fcc7cb13c500ca13161d08b9c511f206d35" } ], "pagination": { "page": 1, "limit": 5, "per_page": 5, "total": 491, "totalPages": 99 }}Captured from the live API on Sep 17, 2026. Lists and long text are shortened for display.
Related references
Arguments
| Name | Type | Description |
|---|---|---|
category | string | Attachment category, e.g. "suppressor", "optic", "magazine", "grip" or "stock". |
manufacturer | string | Manufacturer slug. |
fits | string | Return only attachments that fit this firearm slug. Requires the Studio plan. |
requires | string | Return only attachments that require this interface standard id, e.g. "thread:1/2x28". |
q | string | Text to match within the attachment name. |
factory | boolean | Set to true for factory parts only, or false for aftermarket parts only. |
status | string | Production status. One of: in_production, discontinued, limited |
page | integer | Page number, from 1. At least 1 Default: 1 |
per_page | integer | Items per page, 1 to 100. 1 to 100 Default: 20 |
Get an attachment
Returns the full record for one attachment: its requirements (any-of within a group, all-of across groups), what it provides once fitted, caliber ratings, weight, length and sources.
Example usage
- 1
A person asks
- Tell me about the SureFire SOCOM556-RC2 suppressor.
- 2
The assistant calls the tool
tools/calljson{ "name": "gunspec_get_attachment", "arguments": { "id": "surefire-socom556-rc2" }} - 3
The server answers
Resultjson{ "id": "surefire-socom556-rc2", "name": "SureFire SOCOM556-RC2", "category": "suppressor", "manufacturer": { "id": "surefire", "name": "SureFire, LLC" }, "modelNumber": "SOCOM556-RC2-BK", "weightG": 482, "lengthMm": 162, "capacity": null, "boreDiameterMm": 5.7, "requiresPosition": "muzzle", "isFactoryPart": false, "factoryFor": null, "provides": [], "statMods": { "concealment": 15, "mobility": -7, "range": -2, "recoil_control": 3 }, "specDeltas": { "length_added_mm": 140, "loudness_pct": -30, "velocity_pct": 1 }, "imageUrl": "https://assets.gunspec.io/content/attachments/suppressor/surefire-socom556-rc2/01-product.webp", "status": "in_production", "dataConfidence": 0.95, "updatedAt": "2026-09-10 01:29:08", "version": "d0b86fa59b2a8591209113f15f1f51bbd10b6a4f0083a870cd8c5f13df396747", "description": "Fast-attach 5.56 rifle suppressor selected by USSOCOM, with minimal point of impact shift and a full-auto rating. It does not thread onto the barrel directly: it locks onto a SureFire SOCOM series muzzle device (WarComp, SF3P or SFMB), whic…", "specs": { "mount": "SureFire SOCOM fast-attach; needs a SureFire SOCOM muzzle device fitted first" }, "sources": [ "https://www.surefire.com/socom556-rc2/", "https://www.surefire.com/products/suppressors/socom556-rc2/" ], "sourceUrl": "https://www.surefire.com/socom556-rc2/", "yearIntroduced": 2012, "requires": [ [ { "id": "thread:1/2x28", "name": "1/2-28 UNEF right hand", "kind": "thread" } ] ], "caliberRatings": [ { "caliberId": "223-remington", "caliberName": ".223 Remington", "minBarrelLengthMm": 254, "fullAutoRated": true, "notes": null }, { "caliberId": "5-56x45mm-nato", "caliberName": "5.56x45mm NATO", "minBarrelLengthMm": 254, "fullAutoRated": true, "notes": "SureFire states a 10 in minimum barrel" } ], "curatedFits": 0, "createdAt": "2026-09-10 01:29:08", "provenance": { "sources": [ "https://www.surefire.com/socom556-rc2/", "https://www.surefire.com/products/suppressors/socom556-rc2/" ], "sourceKinds": [ { "url": "https://www.surefire.com/socom556-rc2/", "kind": "manufacturer" }, { "url": "https://www.surefire.com/products/suppressors/socom556-rc2/", "kind": "manufacturer" } ], "bestSourceKind": "manufacturer", "dataConfidence": 0.95, "verifiedAt": null, "verifiedFields": null, "specSource": null, "updatedAt": "2026-09-10 01:29:08", "version": "d0b86fa59b2a8591209113f15f1f51bbd10b6a4f0083a870cd8c5f13df396747" }}Captured from the live API on Sep 17, 2026. Lists and long text are shortened for display.
Related references
Arguments
| Name | Type | Description |
|---|---|---|
id (required) | string | The attachment slug, e.g. as returned by a list or search tool. |
What fits a firearm
Returns the attachments that fit one firearm, grouped by category. Each result states how the fit was determined (direct, via adapter or curated) and its confidence. Fit is computed from mount interfaces, never from names. Requires the Studio plan.
Example usage
- 1
A person asks
- Which attachments fit a Glock 17?
- 2
The assistant calls the tool
tools/calljson{ "name": "gunspec_firearm_attachments", "arguments": { "id": "glock-g17" }} - 3
The server answers
Resultjson{ "firearm": { "id": "glock-g17", "name": "Glock 17" }, "platforms": [ { "id": "glock-gen3-4-9mm", "name": "Glock Gen3 and Gen4 9x19 double-stack" } ], "interfaces": [ { "position": "underbarrel", "standardId": "rail:picatinny", "name": "Picatinny rail (MIL-STD-1913)", "kind": "rail", "source": "inferred", "confidence": 0.4, "inheritedFrom": null, "notes": "backfill:pic-under-pistol tag" }, { "position": "mag_well", "standardId": "mag:glock-9-double", "name": "Glock 9x19 double-stack magazine well", "kind": "magazine_well", "source": "inherited:platform", "confidence": 1, "inheritedFrom": "glock-gen3-4-9mm", "notes": null }, { "position": "sights", "standardId": "dovetail:glock", "name": "Glock front and rear sight cut", "kind": "sight_dovetail", "source": "inherited:platform", "confidence": 1, "inheritedFrom": "glock-gen3-4-9mm", "notes": null } ], "groups": [ { "category": "iron_sight", "items": [ { "id": "ameriglo-bold-glock", "name": "GLOCK Bold Sights by AmeriGlo", "category": "iron_sight", "manufacturer": { "id": "ameriglo", "name": "AmeriGlo" }, "modelNumber": "47283", "weightG": null, "lengthMm": null, "capacity": null, "boreDiameterMm": null, "requiresPosition": "sights", "isFactoryPart": false, "factoryFor": null, "provides": [], "statMods": { "accuracy": 3 }, "specDeltas": {}, "imageUrl": "https://assets.gunspec.io/content/attachments/iron_sight/ameriglo-bold-glock/01-product.webp", "status": "in_production", "dataConfidence": 0.9, "updatedAt": "2026-09-10 01:28:45", "version": "b37217253a5d40312d6706dcf58ee64a94e4e8e7c51a9d0abccc599f6b229928", "fits": true, "fitType": "direct", "via": [ { "position": "sights", "standardId": "dovetail:glock", "source": "inherited:platform", "adapterId": null } ], "adapter": null, "confidence": 1, "source": "inherited:platform", "reason": "Mounts on Glock front and rear sight cut (sights)", "blockedBy": null }, { "id": "night-fision-perfect-dot-glock", "name": "Night Fision Perfect Dot Night Sights for Glock", "category": "iron_sight", "manufacturer": { "id": "night-fision", "name": "Night Fision" }, "modelNumber": null, "weightG": null, "lengthMm": null, "capacity": null, "boreDiameterMm": null, "requiresPosition": "sights", "isFactoryPart": false, "factoryFor": null, "provides": [], "statMods": { "accuracy": 3 }, "specDeltas": {}, "imageUrl": "https://assets.gunspec.io/content/attachments/iron_sight/night-fision-perfect-dot-glock/01-product.webp", "status": "in_production", "dataConfidence": 0.9, "updatedAt": "2026-09-10 01:28:45", "version": "e633d5cae4e6b36883a68cc04151df32a053d717f3a4aa18afab7524f257619f", "fits": true, "fitType": "direct", "via": [ { "position": "sights", "standardId": "dovetail:glock", "source": "inherited:platform", "adapterId": null } ], "adapter": null, "confidence": 1, "source": "inherited:platform", "reason": "Mounts on Glock front and rear sight cut (sights)", "blockedBy": null }, { "id": "trijicon-hd-xr-glock", "name": "Trijicon HD XR Night Sights for Glock", "category": "iron_sight", "manufacturer": { "id": "trijicon", "name": "Trijicon" }, "modelNumber": "GL601-C-600836", "weightG": null, "lengthMm": null, "capacity": null, "boreDiameterMm": null, "requiresPosition": "sights", "isFactoryPart": false, "factoryFor": null, "provides": [], "statMods": { "accuracy": 3 }, "specDeltas": {}, "imageUrl": "https://assets.gunspec.io/content/attachments/iron_sight/trijicon-hd-xr-glock/01-product.webp", "status": "in_production", "dataConfidence": 0.9, "updatedAt": "2026-09-10 01:28:45", "version": "e8822ba551b662101ea209ca1f075437e03be67e5677fb8c96e8d4306cce050e", "fits": true, "fitType": "direct", "via": [ { "position": "sights", "standardId": "dovetail:glock", "source": "inherited:platform", "adapterId": null } ], "adapter": null, "confidence": 1, "source": "inherited:platform", "reason": "Mounts on Glock front and rear sight cut (sights)", "blockedBy": null } ] }, { "category": "laser", "items": [ { "id": "crimson-trace-cmr-301", "name": "Crimson Trace CMR-301 Rail Master Pro", "category": "laser", "manufacturer": { "id": "crimson-trace", "name": "Crimson Trace" }, "modelNumber": "01-00020", "weightG": null, "lengthMm": null, "capacity": null, "boreDiameterMm": null, "requiresPosition": null, "isFactoryPart": false, "factoryFor": null, "provides": [], "statMods": { "accuracy": 4, "concealment": -3, "mobility": -2 }, "specDeltas": {}, "imageUrl": "https://assets.gunspec.io/content/attachments/laser/crimson-trace-cmr-301/01-product.webp", "status": "in_production", "dataConfidence": 0.9, "updatedAt": "2026-09-10 01:28:45", "version": "e4134a5aef9bf81c953360109223e622a07dc5514c6743070c612bbce72f665e", "fits": true, "fitType": "direct", "via": [ { "position": "underbarrel", "standardId": "rail:picatinny", "source": "inferred", "adapterId": null } ], "adapter": null, "confidence": 0.4, "source": "inferred", "reason": "Mounts on Picatinny rail (MIL-STD-1913) (underbarrel)", "blockedBy": null }, { "id": "crimson-trace-rail-master-pro", "name": "Crimson Trace Rail Master Pro CMR-205", "category": "laser", "manufacturer": { "id": "crimson-trace", "name": "Crimson Trace" }, "modelNumber": "CMR-205", "weightG": null, "lengthMm": null, "capacity": null, "boreDiameterMm": null, "requiresPosition": "underbarrel", "isFactoryPart": false, "factoryFor": null, "provides": [], "statMods": { "accuracy": 3, "concealment": -2 }, "specDeltas": {}, "imageUrl": "https://assets.gunspec.io/content/attachments/laser/crimson-trace-rail-master-pro/01-product.webp", "status": "in_production", "dataConfidence": 0.9, "updatedAt": "2026-09-10 01:28:45", "version": "eeef09a694dffd856399a29ae1402f7698da2697a46eb35701fae26edef6a295", "fits": true, "fitType": "direct", "via": [ { "position": "underbarrel", "standardId": "rail:picatinny", "source": "inferred", "adapterId": null } ], "adapter": null, "confidence": 0.4, "source": "inferred", "reason": "Mounts on Picatinny rail (MIL-STD-1913) (underbarrel)", "blockedBy": null }, { "id": "holosun-ls321g", "name": "Holosun LS321G", "category": "laser", "manufacturer": { "id": "holosun", "name": "Holosun Technologies" }, "modelNumber": "LS321G", "weightG": 245, "lengthMm": 91, "capacity": null, "boreDiameterMm": null, "requiresPosition": null, "isFactoryPart": false, "factoryFor": null, "provides": [], "statMods": { "accuracy": 3, "concealment": -2, "mobility": -1 }, "specDeltas": {}, "imageUrl": "https://assets.gunspec.io/content/attachments/laser/holosun-ls321g/01-product.webp", "status": "discontinued", "dataConfidence": 0.85, "updatedAt": "2026-09-10 01:28:45", "version": "6e34323308707025a299b48e947d20ae40ff8063326837c9e566d720e4d5b588", "fits": true, "fitType": "direct", "via": [ { "position": "underbarrel", "standardId": "rail:picatinny", "source": "inferred", "adapterId": null } ], "adapter": null, "confidence": 0.4, "source": "inferred", "reason": "Mounts on Picatinny rail (MIL-STD-1913) (underbarrel)", "blockedBy": null } ] }, { "category": "light", "items": [ { "id": "cloud-defensive-epl-duty", "name": "Cloud Defensive EPL Duty", "category": "light", "manufacturer": { "id": "cloud-defensive", "name": "Cloud Defensive" }, "modelNumber": null, "weightG": null, "lengthMm": null, "capacity": null, "boreDiameterMm": null, "requiresPosition": "underbarrel", "isFactoryPart": false, "factoryFor": null, "provides": [], "statMods": { "concealment": -2, "mobility": -1 }, "specDeltas": {}, "imageUrl": "https://assets.gunspec.io/content/attachments/light/cloud-defensive-epl-duty/01-product.webp", "status": "in_production", "dataConfidence": 0.9, "updatedAt": "2026-09-10 01:28:48", "version": "e6dc089b1b4dee0aa83ad107e19815e5a7f70021b1d45358e158cffef1bc4b7c", "fits": true, "fitType": "direct", "via": [ { "position": "underbarrel", "standardId": "rail:picatinny", "source": "inferred", "adapterId": null } ], "adapter": null, "confidence": 0.4, "source": "inferred", "reason": "Mounts on Picatinny rail (MIL-STD-1913) (underbarrel)", "blockedBy": null }, { "id": "inforce-wild1", "name": "Inforce WILD1", "category": "light", "manufacturer": { "id": "inforce", "name": "Inforce" }, "modelNumber": "IF71000", "weightG": 83, "lengthMm": 64, "capacity": null, "boreDiameterMm": null, "requiresPosition": "underbarrel", "isFactoryPart": false, "factoryFor": null, "provides": [], "statMods": { "concealment": -2, "mobility": -1 }, "specDeltas": {}, "imageUrl": "https://assets.gunspec.io/content/attachments/light/inforce-wild1/01-product.webp", "status": "in_production", "dataConfidence": 0.95, "updatedAt": "2026-09-10 01:28:48", "version": "afab32e26977e597cfcf35b5d64bc05469eee3202492e8764acfc227207d2fba", "fits": true, "fitType": "direct", "via": [ { "position": "underbarrel", "standardId": "rail:picatinny", "source": "inferred", "adapterId": null } ], "adapter": null, "confidence": 0.4, "source": "inferred", "reason": "Mounts on Picatinny rail (MIL-STD-1913) (underbarrel)", "blockedBy": null }, { "id": "inforce-wild2", "name": "Inforce WILD2", "category": "light", "manufacturer": { "id": "inforce", "name": "Inforce" }, "modelNumber": "IF71001", "weightG": 135, "lengthMm": 89, "capacity": null, "boreDiameterMm": null, "requiresPosition": "underbarrel", "isFactoryPart": false, "factoryFor": null, "provides": [], "statMods": { "concealment": -2, "mobility": -1 }, "specDeltas": {}, "imageUrl": "https://assets.gunspec.io/content/attachments/light/inforce-wild2/01-product.webp", "status": "in_production", "dataConfidence": 0.95, "updatedAt": "2026-09-10 01:28:48", "version": "23ca2d024c21ac49117d81ace6e9da3ea6e0d3ce2070c0be92fe3716395e69a7", "fits": true, "fitType": "direct", "via": [ { "position": "underbarrel", "standardId": "rail:picatinny", "source": "inferred", "adapterId": null } ], "adapter": null, "confidence": 0.4, "source": "inferred", "reason": "Mounts on Picatinny rail (MIL-STD-1913) (underbarrel)", "blockedBy": null } ] } ], "counts": { "iron_sight": 4, "laser": 12, "light": 29, "magazine": 8, "sling": 4, "trigger": 3 }, "total": 60, "offers": null}Captured from the live API on Sep 17, 2026. Lists and long text are shortened for display.
Related references
Arguments
| Name | Type | Description |
|---|---|---|
id (required) | string | The firearm slug, e.g. as returned by a list or search tool. |
category | string | Return this attachment category only. |
include | string | Set to "all" to also return candidates that do not fit, each with `blockedBy`. One of: compatible, all |
min_confidence | number | Hides fits computed through interfaces below this confidence (0 to 1). 0 to 1 |
A firearm's mount interfaces
Returns the mount standards a firearm exposes at each position (muzzle thread, rail, magazine well, stock), with the source and confidence of each row. Requires the Studio plan.
Example usage
- 1
A person asks
- What mounting interfaces does the Glock 17 have?
- 2
The assistant calls the tool
tools/calljson{ "name": "gunspec_firearm_interfaces", "arguments": { "id": "glock-g17" }} - 3
The server answers
Resultjson{ "firearm": { "id": "glock-g17", "name": "Glock 17" }, "platforms": [ { "id": "glock-gen3-4-9mm", "name": "Glock Gen3 and Gen4 9x19 double-stack" } ], "interfaces": [ { "position": "underbarrel", "standardId": "rail:picatinny", "name": "Picatinny rail (MIL-STD-1913)", "kind": "rail", "source": "inferred", "confidence": 0.4, "inheritedFrom": null, "notes": "backfill:pic-under-pistol tag" }, { "position": "mag_well", "standardId": "mag:glock-9-double", "name": "Glock 9x19 double-stack magazine well", "kind": "magazine_well", "source": "inherited:platform", "confidence": 1, "inheritedFrom": "glock-gen3-4-9mm", "notes": null }, { "position": "sights", "standardId": "dovetail:glock", "name": "Glock front and rear sight cut", "kind": "sight_dovetail", "source": "inherited:platform", "confidence": 1, "inheritedFrom": "glock-gen3-4-9mm", "notes": null } ]}Captured from the live API on Sep 17, 2026. Lists and long text are shortened for display.
Related references
Arguments
| Name | Type | Description |
|---|---|---|
id (required) | string | The firearm slug, e.g. as returned by a list or search tool. |
What an attachment fits
Returns every firearm that one attachment fits, with the supporting evidence for each. Requires the Studio plan.
Example usage
- 1
A person asks
- Which firearms does the SureFire SOCOM556-RC2 fit?
- 2
The assistant calls the tool
tools/calljson{ "name": "gunspec_attachment_firearms", "arguments": { "id": "surefire-socom556-rc2", "per_page": 5 }} - 3
The server answers
Resultjson{ "firearms": [ { "id": "2a-balios-lite-blr-16", "name": "2A Armament Balios Lite BLR-16", "fitType": "direct", "source": "inferred", "confidence": 0.6, "reason": "Mounts on 1/2-28 UNEF right hand (muzzle)", "via": [ { "position": "muzzle", "standardId": "thread:1/2x28", "source": "inferred", "adapterId": null } ], "adapter": null, "manufacturer": { "id": "2a-armament", "name": "2A Armament" }, "category": "Rifle", "svgLineArtUrl": null, "yearIntroduced": 2014, "images": [ { "id": 5976, "url": "https://api.gunspec.io/v1/firearms/2a-balios-lite-blr-16/images/5976", "kind": "render", "alt": null, "width": null, "height": null } ] }, { "id": "2a-balios-lite-blr-carbon", "name": "2A Armament Balios Lite BLR-Carbon", "fitType": "direct", "source": "inferred", "confidence": 0.6, "reason": "Mounts on 1/2-28 UNEF right hand (muzzle)", "via": [ { "position": "muzzle", "standardId": "thread:1/2x28", "source": "inferred", "adapterId": null } ], "adapter": null, "manufacturer": { "id": "2a-armament", "name": "2A Armament" }, "category": "Rifle", "svgLineArtUrl": null, "yearIntroduced": 2015, "images": [ { "id": 5977, "url": "https://api.gunspec.io/v1/firearms/2a-balios-lite-blr-carbon/images/5977", "kind": "render", "alt": null, "width": null, "height": null } ] }, { "id": "aero-precision-m4e1-complete", "name": "Aero Precision M4E1 Complete", "fitType": "direct", "source": "inferred", "confidence": 0.5, "reason": "Mounts on 1/2-28 UNEF right hand (muzzle)", "via": [ { "position": "muzzle", "standardId": "thread:1/2x28", "source": "inferred", "adapterId": null } ], "adapter": null, "manufacturer": { "id": "aero-precision", "name": "Aero Precision" }, "category": "Carbine", "svgLineArtUrl": "/firearms/line/svg/aero-precision-m4e1-complete.svg", "yearIntroduced": 2015, "images": [ { "id": 650, "url": "https://assets.gunspec.io/firearms/line/svg/aero-precision-m4e1-complete.svg", "kind": "silhouette", "alt": null, "width": null, "height": null }, { "id": 6004, "url": "https://api.gunspec.io/v1/firearms/aero-precision-m4e1-complete/images/6004", "kind": "render", "alt": null, "width": null, "height": null } ] } ], "pagination": { "page": 1, "limit": 5, "per_page": 5, "total": 103, "totalPages": 21 }}Captured from the live API on Sep 17, 2026. Lists and long text are shortened for display.
Related references
Arguments
| Name | Type | Description |
|---|---|---|
id (required) | string | The attachment slug, e.g. as returned by a list or search tool. |
page | integer | Page number, from 1. At least 1 Default: 1 |
per_page | integer | Items per page, 1 to 100. 1 to 100 Default: 20 |
List mount standards
Lists the mount interface standards the fit engine uses: threads, rails, magazine wells, stock interfaces and optic footprints. Each id is prefixed with its kind, e.g. "thread:1/2x28".
Example usage
- 1
A person asks
- Which mount standards does the catalog track?
- 2
The assistant calls the tool
tools/calljson{ "name": "gunspec_list_interfaces", "arguments": {}} - 3
The server answers
Resultjson[ { "id": "bipod:arca-swiss", "kind": "bipod_stud", "name": "Arca-Swiss dovetail", "aliases": [ "arca", "arca-swiss" ], "notes": null }, { "id": "bipod:spigot", "kind": "bipod_stud", "name": "Spigot mount (Atlas / AI)", "aliases": [ "spigot" ], "notes": null }, { "id": "bipod:swivel-stud", "kind": "bipod_stud", "name": "Sling swivel stud (Harris bipod)", "aliases": [ "swivel-stud", "stud" ], "notes": null }]Captured from the live API on Sep 17, 2026. Lists and long text are shortened for display.
Related references
Arguments
| Name | Type | Description |
|---|---|---|
kind | string | Return this interface kind only, e.g. "thread", "rail", "mag", "optic" or "stock". |
List platforms
Lists firearm families (AK-100, AR-15, Glock) with their member counts. Every member of a family inherits its mount interfaces. Requires the Studio plan.
Example usage
- 1
A person asks
- Which firearm platforms share parts?
- 2
The assistant calls the tool
tools/calljson{ "name": "gunspec_list_platforms", "arguments": {}} - 3
The server answers
Resultjson[ { "id": "1911-government-45", "name": "1911 Government .45 ACP", "description": "Full-size 1911 pattern in .45 ACP. Single-stack magazine well, grip panels on bushings, Novak-style rear dovetail on modern production.", "memberCount": 24 }, { "id": "ak-milled", "name": "AK milled receiver", "description": "Original AK-47 pattern with a machined receiver. Stock mounts on a tang, not a rear trunnion, so stamped-pattern stocks do not fit.", "memberCount": 8 }, { "id": "ak-stamped", "name": "AK stamped receiver (AKM pattern)", "description": "AKM and the stamped 7.62x39 clones. Rear trunnion fixed stock, 1 mm receiver, M14x1 LH muzzle, Warsaw Pact side rail on most military variants.", "memberCount": 19 }]Captured from the live API on Sep 17, 2026. Lists and long text are shortened for display.
Related references
Arguments
No arguments.
Get a platform
Returns one platform's interface rows and its member firearms. Requires the Studio plan.
Example usage
- 1
A person asks
- What is the AK-100 platform, and which firearms belong to it?
- 2
The assistant calls the tool
tools/calljson{ "name": "gunspec_get_platform", "arguments": { "id": "ak-100" }} - 3
The server answers
Resultjson{ "id": "ak-100", "name": "AK-100 series (AK-74M pattern)", "description": "AK-74M and its export family. Polymer furniture, side-folding stock on the AK-100 trunnion, Warsaw Pact side rail as standard. Magazine well and thread vary by caliber and are set per member.", "interfaces": [ { "position": "grip", "standardId": "grip:ak", "name": "AK pistol grip nut and screw", "kind": "grip_mount", "confidence": 1, "notes": null }, { "position": "handguard", "standardId": "handguard:ak-standard", "name": "AK standard handguard (upper and lower, AKM gas tube)", "kind": "handguard_mount", "confidence": 1, "notes": null }, { "position": "rear", "standardId": "stock:ak-100-folder", "name": "AK-100 series polymer side-folder trunnion (AK-74M pattern)", "kind": "stock_mount", "confidence": 1, "notes": null } ], "members": [ { "id": "ak-101", "name": "AK-101" }, { "id": "ak-102", "name": "AK-102" }, { "id": "ak-103", "name": "AK-103" } ]}Captured from the live API on Sep 17, 2026. Lists and long text are shortened for display.
Related references
Arguments
| Name | Type | Description |
|---|---|---|
id (required) | string | The platform slug, e.g. as returned by a list or search tool. |
Where to buy a firearm
Lists sellers currently offering a firearm, with the price in integer minor units plus currency, a stock flag and an outbound link. Format prices for their currency, and never divide the amount before formatting. Each listing is a paid placement.
Example usage
- 1
A person asks
- Where can I buy a Glock 17?
- 2
The assistant calls the tool
tools/calljson{ "name": "gunspec_firearm_offers", "arguments": { "id": "glock-g17" }} - 3
The server answers
Resultjson[]Captured from the live API on Sep 17, 2026.
Related references
Arguments
| Name | Type | Description |
|---|---|---|
id (required) | string | The firearm slug, e.g. as returned by a list or search tool. |
region | string | ISO 3166-1 alpha-2 country code. Hides sellers who do not ship to that country. This filter is a convenience, not a legal check. |
Where to buy an attachment
Lists sellers currently offering an attachment, with price, stock and an outbound link. The same rules apply as for gunspec_firearm_offers.
Example usage
- 1
A person asks
- Where can I buy a SureFire SOCOM556-RC2?
- 2
The assistant calls the tool
tools/calljson{ "name": "gunspec_attachment_offers", "arguments": { "id": "surefire-socom556-rc2" }} - 3
The server answers
Resultjson[]Captured from the live API on Sep 17, 2026.
Related references
Arguments
| Name | Type | Description |
|---|---|---|
id (required) | string | The attachment slug, e.g. as returned by a list or search tool. |
region | string | ISO 3166-1 alpha-2 country code. Hides sellers who do not ship to that country. |