What fits a firearm
Workflow. Returns the optics, muzzle devices, stocks, grips and magazines that attach to a firearm, computed from its mounting interfaces, in a single call. Where a seller lists a part, the response includes where to buy it. Provide the firearm as the user named it and, optionally, a category ("optic", "muzzle", "stock"). The response contains the firearm's mounts, followed by up to ten compatible parts per category. Each part states how it fits (direct or through an adapter) and lists its offers. If the name matches more than one firearm, the tool returns the candidates instead. Replaces the resolve call, the attachments call and one offers call per part.
Example usage
- 1
A person asks
- Which optics fit an AK-74M?
- 2
The assistant calls the tool
tools/calljson{ "name": "gunspec_what_fits", "arguments": { "firearm": "AK-74M", "category": "optic" }} - 3
The server answers
Resultjson{ "resolved": true, "firearm": { "id": "ak-74m", "name": "AK-74M" }, "platforms": [ { "id": "ak-100", "name": "AK-100 series (AK-74M pattern)" } ], "mounts": [ { "position": "mag_well", "standard": "AK 5.45x39 magazine well", "source": "curated", "confidence": 1 }, { "position": "muzzle", "standard": "M24x1.5 right hand (AK-74, AK-100 series)", "source": "curated", "confidence": 1 }, { "position": "grip", "standard": "AK pistol grip nut and screw", "source": "inherited:platform", "confidence": 1 } ], "total": 45, "categories": [ { "category": "optic", "count": 45, "items": [ { "id": "aimpoint-compm5", "name": "Aimpoint CompM5", "manufacturer": "Aimpoint AB", "fitType": "adapter", "via": "UFM KeyMod System for AKM Rifles, Long Version", "confidence": 1, "offers": [] }, { "id": "aimpoint-duty-rds", "name": "Aimpoint Duty RDS", "manufacturer": "Aimpoint AB", "fitType": "adapter", "via": "UFM KeyMod System for AKM Rifles, Long Version", "confidence": 1, "offers": [] }, { "id": "aimpoint-micro-t-2", "name": "Aimpoint Micro T-2", "manufacturer": "Aimpoint AB", "fitType": "adapter", "via": "UFM KeyMod System for AKM Rifles, Long Version", "confidence": 1, "offers": [] } ] } ]}Captured from the live API on Sep 17, 2026. Lists and long text are shortened for display.
Steps
The requests this workflow makes, in order. If your plan does not include an optional step, that step is omitted and listed under gaps in the response, together with the plan it requires.
- 1
Resolve a name to one firearm
- 2
List attachments that fit a firearm
One response
The workflow combines up to 2 requests into a single response for the assistant.
Arguments
| Name | Type | Description |
|---|---|---|
firearm (required) | string | The firearm name as the user wrote it, or a slug id. |
category | string | One attachment category, e.g. "optic", "muzzle", "stock", "grip" or "magazine". |
min_confidence | number | Hides fits derived from inferred data below this confidence (0 to 1). 0 to 1 |