Identify a firearm
Workflow. Converts an informally written firearm name ("G19 gen 5", "M4A1") into one specification card in a single call. The card contains the matched record's key figures, calibers, variant count and first image. If the name matches more than one record, the tool returns the candidates instead of guessing. Ask the user which one they meant, then call the tool again with that id. Replaces the resolve, get, variants and media calls.
Example usage
- 1
A person asks
- Tell me everything about the Glock 17.
- What is a Glock 17, and which variants of it exist?
- 2
The assistant calls the tool
tools/calljson{ "name": "gunspec_identify_firearm", "arguments": { "name": "Glock 17" }} - 3
The server answers
Resultjson{ "resolved": true, "firearm": { "id": "glock-g17", "name": "Glock 17", "version": "1dc0085f469a3786f9cd4fce92845f4beffcb0494239e4419a17c3adf09b4749", "manufacturer": { "id": "glock", "name": "Glock Ges.m.b.H." }, "category": "Pistol", "actionType": "short_recoil", "status": "in_production", "countryOfOrigin": "AT", "yearIntroduced": 1982, "yearDiscontinued": null, "designer": "Gaston Glock", "calibers": [ { "id": "9x19mm-parabellum", "name": "9x19mm Parabellum", "isPrimary": 1 } ], "magazineCapacity": 17, "weightEmptyG": 625, "overallLengthMm": 204, "barrelLengthMm": 114, "muzzleVelocityMps": 375, "effectiveRangeM": 50, "dataConfidence": 0.9 }, "variants": { "count": 6, "sample": [ { "id": "glock-g18", "name": "Glock 18" }, { "id": "glock-g17-gen4", "name": "Glock G17 Gen4" }, { "id": "glock-g17-gen5", "name": "Glock G17 Gen5" } ] }, "media": { "count": 4, "first": { "kind": "silhouette", "url": "https://assets.gunspec.io/firearms/line/svg/glock-g17.svg" } }, "gaps": []}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
Get a firearm
- 3
List variants
Optional. If your plan does not include this request, it is skipped and listed under gaps in the response.
- 4
List every asset for a firearm
Optional. If your plan does not include this request, it is skipped and listed under gaps in the response.
One response
The workflow combines up to 4 requests into a single response for the assistant.
Arguments
| Name | Type | Description |
|---|---|---|
name (required) | string | The firearm name as the user wrote it, or a slug id. |
detail | string | The level of detail to return. `summary` (the default) keeps the response small. `full` adds descriptions and longer lists. One of: summary, full Default: summary |