Compare firearms by name
Workflow. Compares two to five firearms, named as the user wrote them ("G19", "P320 Compact"), in a single call. Each name is resolved to a record, and only the figures that differ are returned. The lightest, shortest and highest-capacity firearms are identified. Names that do not match a single record are listed under `unresolved` with their candidates and are never guessed. Replaces one resolve call per name plus one compare call.
Example usage
- 1
A person asks
- Compare the Glock 17 and the Beretta 92FS.
- 2
The assistant calls the tool
tools/calljson{ "name": "gunspec_compare_by_name", "arguments": { "names": [ "Glock 17", "Beretta 92FS" ] }} - 3
The server answers
Resultjson{ "compared": true, "firearms": [ { "id": "glock-g17", "name": "Glock 17", "version": "1dc0085f469a3786f9cd4fce92845f4beffcb0494239e4419a17c3adf09b4749", "manufacturer": "Glock Ges.m.b.H.", "primaryCaliber": "9x19mm Parabellum" }, { "id": "beretta-92fs", "name": "Beretta 92FS", "version": "37fc8cf70018f3668accdc9e458e617dd2f6b7271eb8c7f0d06e473f6c8892e9", "manufacturer": "Beretta", "primaryCaliber": "9x19mm Parabellum" } ], "differences": [ { "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 } ], "leaders": { "lightest": { "id": "glock-g17", "name": "Glock 17", "value": 625 }, "shortest": { "id": "glock-g17", "name": "Glock 17", "value": 204 }, "highestCapacity": { "id": "glock-g17", "name": "Glock 17", "value": 17 } }, "unresolved": []}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
Compare firearms
One response
The workflow combines up to 6 requests into a single response for the assistant.
Arguments
| Name | Type | Description |
|---|---|---|
names (required) | string[] | Two to five firearm names or slug ids. Names beyond the fifth are ignored. |