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 |