GunSpec
Tools

MCP-Tools

Die 39 Einzel-Tools des Servers, erzeugt aus dem Tool-Manifest des SDK, das der Server verwendet. Jedes Tool stellt genau eine API-Anfrage. Für Fragen, die mehrere Anfragen erfordern, siehe Workflows.

Tool-Namen sind stabil und werden nie geändert. Gespeicherte Prompts, die ein Tool nennen, funktionieren daher weiterhin.

Auch als Daten verfügbar: tools.json tools.md

ToolPlanAPI-Operation
gunspec_search_firearmsBuilderGET /v1/firearms/search
gunspec_resolve_firearmBuilderGET /v1/firearms/resolve
gunspec_list_firearmsExplorerGET /v1/firearms
gunspec_get_firearmBuilderGET /v1/firearms/{id}
gunspec_compare_firearmsBuilderGET /v1/firearms/compare
gunspec_load_carriageBuilderGET /v1/firearms/load-carriage
gunspec_firearm_recoilBuilderGET /v1/firearms/recoil
gunspec_point_blank_rangeBuilderGET /v1/firearms/point-blank
gunspec_ammo_loadBuilderGET /v1/firearms/ammo-load
gunspec_similar_firearmsExplorerGET /v1/firearms/{id}/similar
gunspec_firearm_variantsExplorerGET /v1/firearms/{id}/variants
gunspec_firearm_mediaExplorerGET /v1/firearms/{id}/media
gunspec_top_firearmsBuilderGET /v1/firearms/top
gunspec_list_manufacturersExplorerGET /v1/manufacturers
gunspec_get_manufacturerExplorerGET /v1/manufacturers/{id}
gunspec_manufacturer_firearmsExplorerGET /v1/manufacturers/{id}/firearms
gunspec_list_calibersExplorerGET /v1/calibers
gunspec_get_caliberExplorerGET /v1/calibers/{id}
gunspec_caliber_firearmsExplorerGET /v1/calibers/{id}/firearms
gunspec_list_categoriesExplorerGET /v1/categories
gunspec_list_ammunitionBuilderGET /v1/ammunition
gunspec_ammunition_ballisticsBuilderGET /v1/ammunition/{id}/ballistics
gunspec_stats_summaryExplorerGET /v1/stats/summary
gunspec_changelogKein Schlüssel nötigGET /v1/changelog
gunspec_list_attachmentsExplorerGET /v1/attachments
gunspec_get_attachmentExplorerGET /v1/attachments/{id}
gunspec_firearm_attachmentsStudioGET /v1/firearms/{id}/attachments
gunspec_firearm_interfacesStudioGET /v1/firearms/{id}/interfaces
gunspec_attachment_firearmsStudioGET /v1/attachments/{id}/firearms
gunspec_list_interfacesExplorerGET /v1/interfaces
gunspec_list_platformsStudioGET /v1/platforms
gunspec_get_platformStudioGET /v1/platforms/{id}
gunspec_firearm_offersExplorerGET /v1/firearms/{id}/offers
gunspec_attachment_offersExplorerGET /v1/attachments/{id}/offers
gunspec_api_operationExplorerGET /v1/docs/operations
gunspec_code_sampleExplorerGET /v1/docs/samples
gunspec_plan_limitsExplorerGET /v1/docs/limits
gunspec_search_docsExplorerGET /v1/docs/guides/search
gunspec_read_docsExplorerGET /v1/docs/guides/{id}
  • gunspec_search_firearms
  • Builder
  • Nur lesend

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. Needs the Builder plan; on Explorer, find records with gunspec_list_firearms filters (maker, cartridge, category, year) instead.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • Find firearms matching "steyr f88".
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_search_firearms",  "arguments": {    "q": "steyr f88",    "per_page": 3  }}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    {  "results": [    {      "id": "f88-austeyr",      "name": "F88 Austeyr",      "manufacturer_id": "thales-australia",      "category_id": "assault-rifle",      "manufacturer_name": "Thales Australia",      "category_name": "Assault Rifle",      "category_slug": "assault-rifle",      "year_introduced": 1989,      "status": "in_production",      "country_of_origin": "AU",      "action_type": "gas_operated_short_stroke",      "weight_empty_g": 3600,      "barrel_length_mm": 508,      "svg_line_art_url": "https://api.gunspec.io/v1/firearms/f88-austeyr/media/silhouette",      "model_3d_url": "https://assets.gunspec.io/models/f88-austeyr.glb",      "favorite_count": 0,      "rank": -24.370656157452174,      "matched_name": null,      "matched_name_kind": null,      "images": [        {          "id": 737,          "url": "https://api.gunspec.io/v1/firearms/f88-austeyr/images/737",          "kind": "silhouette",          "alt": null,          "width": null,          "height": null        },        {          "id": 981,          "url": "https://assets.gunspec.io/models/f88-austeyr.glb",          "kind": "model",          "alt": null,          "width": null,          "height": null        },        {          "id": 6459,          "url": "https://api.gunspec.io/v1/firearms/f88-austeyr/images/6459",          "kind": "render",          "alt": "F88 Austeyr assault rifle, left-side profile render",          "width": 1536,          "height": 1024        }      ]    },    {      "id": "thales-f90",      "name": "Thales F90",      "manufacturer_id": "thales-australia",      "category_id": "assault-rifle",      "manufacturer_name": "Thales Australia",      "category_name": "Assault Rifle",      "category_slug": "assault-rifle",      "year_introduced": 2012,      "status": "in_production",      "country_of_origin": "AU",      "action_type": "gas_operated_rotating_bolt",      "weight_empty_g": 3250,      "barrel_length_mm": 407,      "svg_line_art_url": "https://api.gunspec.io/v1/firearms/thales-f90/media/silhouette",      "model_3d_url": null,      "favorite_count": 0,      "rank": -22.657054423312104,      "matched_name": null,      "matched_name_kind": null,      "images": [        {          "id": 735,          "url": "https://api.gunspec.io/v1/firearms/thales-f90/images/735",          "kind": "silhouette",          "alt": null,          "width": null,          "height": null        },        {          "id": 940,          "url": "https://api.gunspec.io/v1/firearms/thales-f90/images/940",          "kind": "silhouette",          "alt": null,          "width": null,          "height": null        },        {          "id": 980,          "url": "https://assets.gunspec.io/models/ef88-austeyr.glb",          "kind": "model",          "alt": null,          "width": null,          "height": null        }      ]    },    {      "id": "steyr-aug-para-9mm",      "name": "Steyr AUG Para 9mm",      "manufacturer_id": "steyr-mannlicher",      "category_id": "submachine-gun",      "manufacturer_name": "Steyr Arms",      "category_name": "Submachine Gun",      "category_slug": "submachine-gun",      "year_introduced": 1988,      "status": "discontinued",      "country_of_origin": "AT",      "action_type": "blowback",      "weight_empty_g": 3000,      "barrel_length_mm": 420,      "svg_line_art_url": "https://api.gunspec.io/v1/firearms/steyr-aug-para-9mm/media/silhouette",      "model_3d_url": null,      "favorite_count": 0,      "rank": -19.155299645871818,      "matched_name": null,      "matched_name_kind": null,      "images": [        {          "id": 34889,          "url": "https://api.gunspec.io/v1/firearms/steyr-aug-para-9mm/images/34889",          "kind": "silhouette",          "alt": null,          "width": null,          "height": null        },        {          "id": 41875,          "url": "https://api.gunspec.io/v1/firearms/steyr-aug-para-9mm/images/41875",          "kind": "render",          "alt": "Steyr AUG Para 9mm submachine gun, left-side profile render",          "width": 1536,          "height": 1024        }      ]    }  ],  "pagination": {    "page": 1,    "limit": 3,    "per_page": 3,    "total": 5,    "totalPages": 2  }}

    Am 22. Okt. 2026 von der Live-API erfasst. Listen und lange Texte sind für die Anzeige gekürzt.

Zugehörige Referenzen

Argumente

  • stringerforderlich

    The search text, e.g. "beretta 92" or "AK-74M".

    Gesendet als
    ?q=
  • integerstandard20

    Items per page, 1 to 100.

    Bereich
    1 – 100
    Gesendet als
    ?per_page=

Jedes Argument wird als der angegebene Parameter an GET /v1/firearms/search gesendet. Dieselbe Anfrage lässt sich also mit deinem Schlüssel direkt an die API stellen, wenn du bestimmen möchtest, was zurückkommt.

json
  • gunspec_resolve_firearm
  • Builder
  • Nur lesend

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. Needs the Builder plan.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • Which firearm is a "G19 gen 5"?
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_resolve_firearm",  "arguments": {    "name": "G19 gen 5"  }}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    {  "query": "G19 gen 5",  "status": "resolved",  "firearmId": "glock-19-gen5",  "match": "alternate",  "score": 0.95,  "matchedTokens": [    "g",    "19",    "gen"  ],  "unresolvedTokens": [],  "alternatives": [    {      "firearmId": "glock-g19",      "name": "Glock G19",      "manufacturerName": "Glock Ges.m.b.H.",      "match": "alternate",      "matchedAlias": "G19",      "score": 0.41    },    {      "firearmId": "glock-g19-gen-4-mos",      "name": "Glock G19 Gen4 MOS",      "manufacturerName": "Glock Ges.m.b.H.",      "match": "shorthand",      "matchedAlias": "G19",      "score": 0.36    },    {      "firearmId": "glock-g19-gen-5-mos",      "name": "Glock G19 Gen5 MOS",      "manufacturerName": "Glock Ges.m.b.H.",      "match": "shorthand",      "matchedAlias": "G19",      "score": 0.36    }  ]}

    Am 22. Okt. 2026 von der Live-API erfasst. Listen und lange Texte sind für die Anzeige gekürzt.

Zugehörige Referenzen

Argumente

  • stringerforderlich

    The firearm name exactly as the user wrote it.

json
  • gunspec_list_firearms
  • Explorer
  • Nur lesend

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.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • List five firearms chambered in 5.45x39mm.
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_list_firearms",  "arguments": {    "caliber": "5-45x39mm",    "per_page": 5  }}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    {  "firearms": [    {      "id": "a-545",      "name": "A-545 (6P67)",      "manufacturerId": "degtyarev-plant",      "categoryId": "assault-rifle",      "yearIntroduced": 2018,      "status": "in_production",      "countryOfOrigin": "RU",      "actionType": "gas_operated_long_stroke",      "weightEmptyG": 3500,      "barrelLengthMm": 420,      "createdAt": "2026-02-11 23:44:47",      "updatedAt": "2026-09-25 05:00:13",      "version": "91c1cfe2433c95a0a6874ca208316378d1f4dea35e3514aa43b5bfb8504818fc",      "svgLineArtUrl": "https://api.gunspec.io/v1/firearms/a-545/media/silhouette",      "model3dUrl": null,      "favoriteCount": 0,      "images": [        {          "id": 643,          "url": "https://api.gunspec.io/v1/firearms/a-545/images/643",          "kind": "silhouette",          "alt": null,          "width": null,          "height": null        },        {          "id": 5980,          "url": "https://api.gunspec.io/v1/firearms/a-545/images/5980",          "kind": "render",          "alt": "A-545 (6P67) assault rifle, left-side profile render",          "width": 1536,          "height": 1024        }      ]    },    {      "id": "kbp-a-91",      "name": "A-91",      "manufacturerId": "kbp-instrument-design-bureau",      "categoryId": "assault-rifle",      "yearIntroduced": 1998,      "status": "limited_production",      "countryOfOrigin": "RU",      "actionType": "gas_operated_long_stroke",      "weightEmptyG": 3970,      "barrelLengthMm": 415,      "createdAt": "2026-02-18 03:51:59",      "updatedAt": "2026-09-25 05:00:25",      "version": "b8e573ca438c0d272915df55a781fcbfe70dbf90b5fc63cc41bedec1f9edf108",      "svgLineArtUrl": "https://api.gunspec.io/v1/firearms/kbp-a-91/media/silhouette",      "model3dUrl": null,      "favoriteCount": 1,      "images": [        {          "id": 2199,          "url": "https://api.gunspec.io/v1/firearms/kbp-a-91/images/2199",          "kind": "silhouette",          "alt": null,          "width": null,          "height": null        },        {          "id": 6789,          "url": "https://api.gunspec.io/v1/firearms/kbp-a-91/images/6789",          "kind": "render",          "alt": "A-91 assault rifle, left-side profile render",          "width": 1536,          "height": 1024        }      ]    },    {      "id": "kbp-ads",      "name": "ADS",      "manufacturerId": "kbp-instrument-design-bureau",      "categoryId": "assault-rifle",      "yearIntroduced": 2013,      "status": "in_production",      "countryOfOrigin": "RU",      "actionType": "gas_operated_rotating_bolt",      "weightEmptyG": 4600,      "barrelLengthMm": 415,      "createdAt": "2026-02-18 03:51:59",      "updatedAt": "2026-09-25 05:00:25",      "version": "ba4c824d55ff5e3c8ccf066a0a3846757ff5d4c6ea2a78323405865e34a2e568",      "svgLineArtUrl": "https://api.gunspec.io/v1/firearms/kbp-ads/media/silhouette",      "model3dUrl": null,      "favoriteCount": 0,      "images": [        {          "id": 2200,          "url": "https://api.gunspec.io/v1/firearms/kbp-ads/images/2200",          "kind": "silhouette",          "alt": null,          "width": null,          "height": null        },        {          "id": 8208,          "url": "https://api.gunspec.io/v1/firearms/kbp-ads/images/8208",          "kind": "render",          "alt": "ADS assault rifle, left-side profile render",          "width": 1536,          "height": 1024        }      ]    }  ],  "pagination": {    "page": 1,    "limit": 5,    "per_page": 5,    "total": 38,    "totalPages": 8  }}

    Am 22. Okt. 2026 von der Live-API erfasst. Listen und lange Texte sind für die Anzeige gekürzt.

Zugehörige Referenzen

Argumente

  • string

    Manufacturer slug, e.g. "glock".

    Gesendet als
    ?manufacturer=
  • string

    Caliber slug, e.g. "9x19mm-parabellum".

    Gesendet als
    ?caliber=
  • string

    Category slug, e.g. "pistol", "rifle" or "shotgun".

    Gesendet als
    ?category=
  • string

    Action type, e.g. "semi-automatic" or "bolt-action".

    Gesendet als
    ?action_type=
  • string

    Country name or ISO code.

    Gesendet als
    ?country_of_origin=
  • string

    Production status.

    Akzeptiert
    Gesendet als
    ?status=
  • integer

    Earliest year introduced.

    Gesendet als
    ?year_introduced_min=
  • integer

    Latest year introduced.

    Gesendet als
    ?year_introduced_max=
  • string

    Sort column.

    Akzeptiert
    Gesendet als
    ?sort=
  • string

    Sort direction.

    Akzeptiert
    Gesendet als
    ?order=
  • integerstandard1

    Page number, from 1.

    Minimum
    1
    Gesendet als
    ?page=
  • integerstandard20

    Items per page, 1 to 100.

    Bereich
    1 – 100
    Gesendet als
    ?per_page=

Jedes Argument wird als der angegebene Parameter an GET /v1/firearms gesendet. Dieselbe Anfrage lässt sich also mit deinem Schlüssel direkt an die API stellen, wenn du bestimmen möchtest, was zurückkommt.

json
  • gunspec_get_firearm
  • Builder
  • Nur lesend

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.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • What are the specifications of the AK-47?
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_get_firearm",  "arguments": {    "id": "ak-47"  }}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    {  "id": "ak-47",  "name": "AK-47",  "manufacturerId": "kalashnikov-concern",  "categoryId": "assault-rifle",  "parentFirearmId": null,  "variantType": null,  "yearIntroduced": 1947,  "yearDiscontinued": 1975,  "status": "discontinued",  "countryOfOrigin": "SU",  "weightEmptyG": 3470,  "weightLoadedG": 4300,  "overallLengthMm": 869,  "barrelLengthMm": 415,  "heightMm": 190,  "widthMm": 45,  "sightRadiusMm": null,  "actionType": "gas_operated_long_stroke",  "firingMechanism": "hammer_fired",  "triggerType": "single_stage",  "triggerPullN": null,  "magazineCapacity": 30,  "magazineType": "detachable_box",  "muzzleVelocityMps": 710,  "muzzleEnergyJ": 2010,  "effectiveRangeM": 300,  "maxRangeM": 800,  "rateOfFireRpm": 600,  "barrelRifling": "right_hand",  "riflingTwistMm": 240,  "numberOfGrooves": 4,  "frameMaterial": "steel",  "slideMaterial": null,  "barrelMaterial": "steel",  "stockMaterial": "wood",  "finish": "blued",  "safetyMechanisms": [    "manual_safety_selector",    "hammer_notch"  ],  "features": [    "chrome_lined_barrel",    "chrome_lined_chamber",    "curved_magazine"  ],  "feedSystems": [    "detachable_box_magazine"  ],  "gameDamage": 72,  "gameAccuracy": 45,  "gameRange": 55,  "gameFireRate": 80,  "gameMobility": 62,  "gameRecoilControl": 58,  "gameReloadSpeed": 65,  "gameConcealment": 25,  "description": "The Red Army formally accepted the type in 1949 as the AK-47 rifle. The AK-47 used a gas-operated, rotating polished steel bolt system in which the gas piston was permanently affixed to the bolt carrier itself. Chromium was used to line the…",  "notes": "Production of the original AK-47 with milled receiver ended in 1975, replaced by the modernized AKM variant with stamped receiver. The AK-47 designation is often colloquially used to refer to all AK-pattern rifles. The weapon's extreme dura…",  "designer": "Mikhail Kalashnikov",  "foldedLengthMm": null,  "alternateNames": [    "Avtomat Kalashnikova",    "Kalash"  ],  "firingModes": [    "semi_automatic",    "full_automatic"  ],  "conflicts": [    {      "name": "Vietnam War",      "years": "1955-1975",      "sides": [        "North Vietnam / Viet Cong",        "South Vietnam / United States"      ]    },    {      "name": "Soviet-Afghan War",      "years": "1979-1989",      "sides": [        "Soviet Union",        "Mujahideen"      ]    },    {      "name": "Six-Day War",      "years": "1967-1967",      "sides": [        "Israel",        "Egypt / Syria / Jordan"      ]    }  ],  "productionNumbers": {    "estimated_total": 75000000,    "production_years": "1947-1975",    "notes": "Approximately 75 million AK-47 type rifles produced. Over 100 million AK-pattern rifles of all variants (including AKM, AK-74, and copies) manufactured worldwide."  },  "lore": "The AK-47 is so iconic it appears on the national flag of Mozambique and the coat of arms of East Timor, Zimbabwe, and Burkina Faso. Mikhail Kalashnikov reportedly said he wished he had invented a lawnmower instead, given the death toll att…",  "sources": [    "https://www.militaryfactory.com/smallarms/detail.php?smallarms_id=19",    "https://www.britannica.com/technology/AK-47",    "https://en.wikipedia.org/wiki/AK-47"  ],  "sourceMuzzleVelocityMps": 710,  "sourceMuzzleEnergyJ": 2010,  "sourceEffectiveRangeM": 300,  "sourceMaxRangeM": 800,  "ballisticsSource": null,  "ballisticsSourceUrl": null,  "defaultAmmoId": null,  "has3dModel": 1,  "svgLineArtUrl": "https://api.gunspec.io/v1/firearms/ak-47/media/silhouette",  "model3dUrl": "https://assets.gunspec.io/models/ak-47.glb",  "dataConfidence": 0.6,  "verifiedAt": null,  "verifiedFields": null,  "createdAt": "2026-02-11 23:44:42",  "updatedAt": "2026-10-06 23:52:07",  "version": "a3e44ef764f4a2fb23fcb8b9a9a6fedc2d894bf8c7ddb404492b2128a6ab1fa5",  "provenance": {    "sources": [      "https://www.militaryfactory.com/smallarms/detail.php?smallarms_id=19",      "https://www.britannica.com/technology/AK-47",      "https://en.wikipedia.org/wiki/AK-47"    ],    "sourceKinds": [      {        "url": "https://www.militaryfactory.com/smallarms/detail.php?smallarms_id=19",        "kind": "reference",        "archivedFrom": null,        "rank": 4,        "tier": "classified",        "basis": "declared",        "evidence": null      },      {        "url": "https://www.britannica.com/technology/AK-47",        "kind": "reference",        "archivedFrom": null,        "rank": 4,        "tier": "classified",        "basis": "declared",        "evidence": null      },      {        "url": "https://en.wikipedia.org/wiki/AK-47",        "kind": "reference",        "archivedFrom": null,        "rank": 4,        "tier": "classified",        "basis": "declared",        "evidence": null      }    ],    "bestSourceKind": "reference",    "makerSource": null,    "evidence": "secondary",    "dataConfidence": 0.6,    "verifiedAt": null,    "verifiedFields": null,    "specSource": null,    "updatedAt": "2026-10-06 23:52:07",    "version": "a3e44ef764f4a2fb23fcb8b9a9a6fedc2d894bf8c7ddb404492b2128a6ab1fa5",    "checks": {      "raised": 1,      "open": 0,      "history": [        {          "task": "gap:quality.firearm-removed-values-researched.description:ak-47",          "number": 2071,          "check": "quality:firearm-removed-values-researched",          "kind": "gap",          "agent": null,          "worker": null,          "status": "resolved",          "decidedAt": "2026-10-06T23:26:46.415Z",          "proposed": null,          "fields": [            "description"          ],          "sources": [],          "review": null,          "finding": {            "why": "description was removed on 2026-09-25 as invented (description built from filler repeated across dozens of makers); find the real value on a source",            "evidence": {              "removedAt": "2026-09-25",              "reason": [                "description built from filler repeated across dozens of makers"              ],              "invented": {                "description": {                  "excerpt": "The AK-47 is a select-fire assault rifle chambered in 7.62x39mm, produced by Kalashnikov Concern (formerly Izhmash) since 1947. This Russian-manufactured firear",                  "length": 1128                }              }            }          }        }      ]    }  },  "manufacturer": {    "id": "kalashnikov-concern",    "name": "Kalashnikov Concern",    "countryCode": "RU",    "foundedYear": 1807,    "website": "https://kalashnikovgroup.ru",    "logoUrl": null,    "description": null,    "status": "active",    "defunctYear": null,    "stateOwned": null,    "makesFirearms": true,    "parentId": null,    "predecessorId": "izhmash",    "createdAt": "2026-02-11 23:44:38",    "updatedAt": "2026-09-28 00:42:22",    "version": "5dbd5a26234eb361c3083d43102837dab87e81fcfdec2c994266dbe3c13a7ea2"  },  "category": {    "id": "assault-rifle",    "name": "Assault Rifle",    "description": "Selective-fire rifles chambered in intermediate cartridges"  },  "calibers": [    {      "caliberId": "7-62x39mm",      "isPrimary": 1,      "name": "7.62x39mm",      "natoDesignation": null,      "bulletDiameterMm": 7.92,      "caseLengthMm": 38.7,      "cartridgeType": "rimless",      "neckDiameterMm": 8.6,      "shoulderDiameterMm": 10.07,      "baseDiameterMm": 11.35,      "rimDiameterMm": 11.35,      "rimThicknessMm": 1.5,      "overallLengthMm": 56,      "bulletLengthMm": 21.4,      "typicalBulletWeightG": 7.97,      "primerType": "berdan",      "caseShape": "bottleneck",      "caseMaterial": "lacquered_steel",      "projectileKind": "bullet",      "bulletProfile": "spitzer",      "closure": "bullet",      "markingColor": null    }  ],  "images": [    {      "id": 661,      "firearmId": "ak-47",      "url": "https://api.gunspec.io/v1/firearms/ak-47/images/661",      "type": "svg",      "kind": "silhouette",      "storage": "cdn",      "source": "generated",      "author": null,      "sourceUrl": null,      "license": "cc0",      "alt": null,      "width": null,      "height": null,      "sortOrder": 0    },    {      "id": 979,      "firearmId": "ak-47",      "url": "https://assets.gunspec.io/models/ak-47.glb",      "type": "3d_model",      "kind": "model",      "storage": "cdn",      "source": "generated",      "author": null,      "sourceUrl": null,      "license": "cc0",      "alt": null,      "width": null,      "height": null,      "sortOrder": 0    },    {      "id": 6023,      "firearmId": "ak-47",      "url": "https://api.gunspec.io/v1/firearms/ak-47/images/6023",      "type": "render",      "kind": "render",      "storage": "r2",      "source": "AI generated (Azure AI Foundry gpt-image-2.5-sunburst)",      "author": "GunSpec",      "sourceUrl": null,      "license": "GunSpec generated",      "alt": "AK-47 assault rifle, left-side profile render",      "width": 1536,      "height": 1024,      "sortOrder": 1    }  ],  "users": [    {      "id": 8231,      "firearmId": "ak-47",      "userName": "Soviet Armed Forces",      "userType": "military",      "countryCode": "SU",      "adoptedYear": 1949,      "designation": "AK-47"    },    {      "id": 8232,      "firearmId": "ak-47",      "userName": "Russian Armed Forces",      "userType": "military",      "countryCode": "RU",      "adoptedYear": 1991,      "designation": "AK-47"    },    {      "id": 8233,      "firearmId": "ak-47",      "userName": "Chinese People's Liberation Army",      "userType": "military",      "countryCode": "CN",      "adoptedYear": 1956,      "designation": "Type 56"    }  ],  "schematics": []}

    Am 22. Okt. 2026 von der Live-API erfasst. Listen und lange Texte sind für die Anzeige gekürzt.

Zugehörige Referenzen

Argumente

  • stringerforderlich

    The firearm slug, e.g. as returned by a list or search tool.

    Gesendet als
    {id}

Jedes Argument wird als der angegebene Parameter an GET /v1/firearms/{id} gesendet. Dieselbe Anfrage lässt sich also mit deinem Schlüssel direkt an die API stellen, wenn du bestimmen möchtest, was zurückkommt.

json
  • gunspec_compare_firearms
  • Builder
  • Nur lesend

Returns side-by-side specifications for two to five firearms, with the differences calculated.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • Compare the AK-47 with the M4A1 carbine side by side.
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_compare_firearms",  "arguments": {    "ids": [      "ak-47",      "m4a1-carbine"    ]  }}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    {  "items": [    {      "id": "ak-47",      "name": "AK-47",      "manufacturerId": "kalashnikov-concern",      "categoryId": "assault-rifle",      "parentFirearmId": null,      "variantType": null,      "yearIntroduced": 1947,      "yearDiscontinued": 1975,      "status": "discontinued",      "countryOfOrigin": "SU",      "weightEmptyG": 3470,      "weightLoadedG": 4300,      "overallLengthMm": 869,      "barrelLengthMm": 415,      "heightMm": 190,      "widthMm": 45,      "sightRadiusMm": null,      "actionType": "gas_operated_long_stroke",      "firingMechanism": "hammer_fired",      "triggerType": "single_stage",      "triggerPullN": null,      "magazineCapacity": 30,      "magazineType": "detachable_box",      "muzzleVelocityMps": 710,      "muzzleEnergyJ": 2010,      "effectiveRangeM": 300,      "maxRangeM": 800,      "rateOfFireRpm": 600,      "barrelRifling": "right_hand",      "riflingTwistMm": 240,      "numberOfGrooves": 4,      "frameMaterial": "steel",      "slideMaterial": null,      "barrelMaterial": "steel",      "stockMaterial": "wood",      "finish": "blued",      "safetyMechanisms": [        "manual_safety_selector",        "hammer_notch"      ],      "features": [        "chrome_lined_barrel",        "chrome_lined_chamber",        "curved_magazine"      ],      "feedSystems": [        "detachable_box_magazine"      ],      "gameDamage": 72,      "gameAccuracy": 45,      "gameRange": 55,      "gameFireRate": 80,      "gameMobility": 62,      "gameRecoilControl": 58,      "gameReloadSpeed": 65,      "gameConcealment": 25,      "description": "The Red Army formally accepted the type in 1949 as the AK-47 rifle. The AK-47 used a gas-operated, rotating polished steel bolt system in which the gas piston was permanently affixed to the bolt carrier itself. Chromium was used to line the…",      "notes": "Production of the original AK-47 with milled receiver ended in 1975, replaced by the modernized AKM variant with stamped receiver. The AK-47 designation is often colloquially used to refer to all AK-pattern rifles. The weapon's extreme dura…",      "designer": "Mikhail Kalashnikov",      "foldedLengthMm": null,      "alternateNames": [        "Avtomat Kalashnikova",        "Kalash"      ],      "firingModes": [        "semi_automatic",        "full_automatic"      ],      "conflicts": [        {          "name": "Vietnam War",          "years": "1955-1975",          "sides": [            "North Vietnam / Viet Cong",            "South Vietnam / United States"          ]        },        {          "name": "Soviet-Afghan War",          "years": "1979-1989",          "sides": [            "Soviet Union",            "Mujahideen"          ]        },        {          "name": "Six-Day War",          "years": "1967-1967",          "sides": [            "Israel",            "Egypt / Syria / Jordan"          ]        }      ],      "productionNumbers": {        "estimated_total": 75000000,        "production_years": "1947-1975",        "notes": "Approximately 75 million AK-47 type rifles produced. Over 100 million AK-pattern rifles of all variants (including AKM, AK-74, and copies) manufactured worldwide."      },      "lore": "The AK-47 is so iconic it appears on the national flag of Mozambique and the coat of arms of East Timor, Zimbabwe, and Burkina Faso. Mikhail Kalashnikov reportedly said he wished he had invented a lawnmower instead, given the death toll att…",      "sources": [        "https://www.militaryfactory.com/smallarms/detail.php?smallarms_id=19",        "https://www.britannica.com/technology/AK-47",        "https://en.wikipedia.org/wiki/AK-47"      ],      "sourceMuzzleVelocityMps": 710,      "sourceMuzzleEnergyJ": 2010,      "sourceEffectiveRangeM": 300,      "sourceMaxRangeM": 800,      "ballisticsSource": null,      "ballisticsSourceUrl": null,      "defaultAmmoId": null,      "has3dModel": 1,      "svgLineArtUrl": "https://api.gunspec.io/v1/firearms/ak-47/media/silhouette",      "model3dUrl": "/models/ak-47.glb",      "dataConfidence": 0.6,      "verifiedAt": null,      "verifiedFields": null,      "createdAt": "2026-02-11 23:44:42",      "updatedAt": "2026-10-06 23:52:07",      "version": "a3e44ef764f4a2fb23fcb8b9a9a6fedc2d894bf8c7ddb404492b2128a6ab1fa5",      "provenance": {        "sources": [          "https://www.militaryfactory.com/smallarms/detail.php?smallarms_id=19",          "https://www.britannica.com/technology/AK-47",          "https://en.wikipedia.org/wiki/AK-47"        ],        "sourceKinds": [          {            "url": "https://www.militaryfactory.com/smallarms/detail.php?smallarms_id=19",            "kind": "reference",            "archivedFrom": null,            "rank": 4,            "tier": "classified",            "basis": "declared",            "evidence": null          },          {            "url": "https://www.britannica.com/technology/AK-47",            "kind": "reference",            "archivedFrom": null,            "rank": 4,            "tier": "classified",            "basis": "declared",            "evidence": null          },          {            "url": "https://en.wikipedia.org/wiki/AK-47",            "kind": "reference",            "archivedFrom": null,            "rank": 4,            "tier": "classified",            "basis": "declared",            "evidence": null          }        ],        "bestSourceKind": "reference",        "makerSource": null,        "evidence": "secondary",        "dataConfidence": 0.6,        "verifiedAt": null,        "verifiedFields": null,        "specSource": null,        "updatedAt": "2026-10-06 23:52:07",        "version": "a3e44ef764f4a2fb23fcb8b9a9a6fedc2d894bf8c7ddb404492b2128a6ab1fa5",        "checks": {          "raised": 1,          "open": 0,          "history": [            {              "task": "gap:quality.firearm-removed-values-researched.description:ak-47",              "number": 2071,              "check": "quality:firearm-removed-values-researched",              "kind": "gap",              "agent": null,              "worker": null,              "status": "resolved",              "decidedAt": "2026-10-06T23:26:46.415Z",              "proposed": null,              "fields": [                "description"              ],              "sources": [],              "review": null,              "finding": {                "why": "description was removed on 2026-09-25 as invented (description built from filler repeated across dozens of makers); find the real value on a source",                "evidence": {                  "removedAt": "2026-09-25",                  "reason": [                    "description built from filler repeated across dozens of makers"                  ],                  "invented": {                    "description": {                      "excerpt": "The AK-47 is a select-fire assault rifle chambered in 7.62x39mm, produced by Kalashnikov Concern (formerly Izhmash) since 1947. This Russian-manufactured firear",                      "length": 1128                    }                  }                }              }            }          ]        }      },      "manufacturer": {        "id": "kalashnikov-concern",        "name": "Kalashnikov Concern",        "countryCode": "RU",        "foundedYear": 1807,        "website": "https://kalashnikovgroup.ru",        "logoUrl": null,        "description": null,        "status": "active",        "defunctYear": null,        "stateOwned": null,        "makesFirearms": true,        "parentId": null,        "predecessorId": "izhmash",        "createdAt": "2026-02-11 23:44:38",        "updatedAt": "2026-09-28 00:42:22",        "version": "5dbd5a26234eb361c3083d43102837dab87e81fcfdec2c994266dbe3c13a7ea2"      },      "category": {        "id": "assault-rifle",        "name": "Assault Rifle",        "description": "Selective-fire rifles chambered in intermediate cartridges"      },      "calibers": [        {          "caliberId": "7-62x39mm",          "isPrimary": 1,          "name": "7.62x39mm",          "natoDesignation": null,          "bulletDiameterMm": 7.92,          "caseLengthMm": 38.7,          "cartridgeType": "rimless",          "neckDiameterMm": 8.6,          "shoulderDiameterMm": 10.07,          "baseDiameterMm": 11.35,          "rimDiameterMm": 11.35,          "rimThicknessMm": 1.5,          "overallLengthMm": 56,          "bulletLengthMm": 21.4,          "typicalBulletWeightG": 7.97,          "primerType": "berdan",          "caseShape": "bottleneck",          "caseMaterial": "lacquered_steel",          "projectileKind": "bullet",          "bulletProfile": "spitzer",          "closure": "bullet",          "markingColor": null        }      ],      "images": [        {          "id": 661,          "firearmId": "ak-47",          "url": "https://api.gunspec.io/v1/firearms/ak-47/images/661",          "type": "svg",          "kind": "silhouette",          "storage": "cdn",          "source": "generated",          "author": null,          "sourceUrl": null,          "license": "cc0",          "alt": null,          "width": null,          "height": null,          "sortOrder": 0        },        {          "id": 979,          "firearmId": "ak-47",          "url": "https://assets.gunspec.io/models/ak-47.glb",          "type": "3d_model",          "kind": "model",          "storage": "cdn",          "source": "generated",          "author": null,          "sourceUrl": null,          "license": "cc0",          "alt": null,          "width": null,          "height": null,          "sortOrder": 0        },        {          "id": 6023,          "firearmId": "ak-47",          "url": "https://api.gunspec.io/v1/firearms/ak-47/images/6023",          "type": "render",          "kind": "render",          "storage": "r2",          "source": "AI generated (Azure AI Foundry gpt-image-2.5-sunburst)",          "author": "GunSpec",          "sourceUrl": null,          "license": "GunSpec generated",          "alt": "AK-47 assault rifle, left-side profile render",          "width": 1536,          "height": 1024,          "sortOrder": 1        }      ],      "users": [        {          "id": 8231,          "firearmId": "ak-47",          "userName": "Soviet Armed Forces",          "userType": "military",          "countryCode": "SU",          "adoptedYear": 1949,          "designation": "AK-47"        },        {          "id": 8232,          "firearmId": "ak-47",          "userName": "Russian Armed Forces",          "userType": "military",          "countryCode": "RU",          "adoptedYear": 1991,          "designation": "AK-47"        },        {          "id": 8233,          "firearmId": "ak-47",          "userName": "Chinese People's Liberation Army",          "userType": "military",          "countryCode": "CN",          "adoptedYear": 1956,          "designation": "Type 56"        }      ]    },    {      "id": "m4a1-carbine",      "name": "M4A1 Carbine",      "manufacturerId": "colt",      "categoryId": "carbine",      "parentFirearmId": null,      "variantType": null,      "yearIntroduced": 1994,      "yearDiscontinued": null,      "status": "in_production",      "countryOfOrigin": "US",      "weightEmptyG": 2886,      "weightLoadedG": 3456,      "overallLengthMm": 840,      "barrelLengthMm": 368,      "heightMm": null,      "widthMm": null,      "sightRadiusMm": null,      "actionType": "gas_operated_direct_impingement",      "firingMechanism": "hammer_fired",      "triggerType": "single_stage",      "triggerPullN": 34,      "magazineCapacity": 30,      "magazineType": "detachable_box",      "muzzleVelocityMps": 905,      "muzzleEnergyJ": 1640,      "effectiveRangeM": 500,      "maxRangeM": 3600,      "rateOfFireRpm": 850,      "barrelRifling": "right_hand",      "riflingTwistMm": 178,      "numberOfGrooves": 6,      "frameMaterial": "aluminum_alloy",      "slideMaterial": null,      "barrelMaterial": "steel",      "stockMaterial": "polymer",      "finish": "hard_anodized",      "safetyMechanisms": [        "manual_safety_selector",        "half_cock_notch"      ],      "features": [        "collapsible_stock",        "select_fire",        "accessory_rail"      ],      "feedSystems": [        "detachable_box_magazine"      ],      "gameDamage": 68,      "gameAccuracy": 72,      "gameRange": 65,      "gameFireRate": 85,      "gameMobility": 70,      "gameRecoilControl": 64,      "gameReloadSpeed": 70,      "gameConcealment": 40,      "description": "The M4A1 is a fully automatic variant of the M4 carbine, a shorter and lighter variant of the M16. It went into service in 1994 to replace the M16 in certain roles. The M4A1 trigger group operates on either Safe, Semi-Automatic, or Fully Au…",      "notes": "The M4A1 differs from the standard M4 in having full-automatic capability instead of 3-round burst fire. The barrel was also thickened to better dissipate heat during automatic fire. The weapon features a flattop receiver with Picatinny rai…",      "designer": "Eugene Stoner",      "foldedLengthMm": 757,      "alternateNames": [        "Carbine, 5.56mm, M4A1",        "Colt Model 921",        "SOPMOD M4A1"      ],      "firingModes": [        "semi_automatic",        "full_automatic"      ],      "conflicts": [        {          "name": "War in Afghanistan",          "years": "2001-2021",          "sides": [            "NATO / ISAF",            "Taliban / Al-Qaeda"          ]        },        {          "name": "Iraq War",          "years": "2003-2011",          "sides": [            "Coalition Forces",            "Iraqi Insurgents"          ]        },        {          "name": "War on Terror",          "years": "2001-present",          "sides": [            "Coalition Forces",            "Various Terrorist Organizations"          ]        }      ],      "productionNumbers": {        "estimated_total": 500000,        "production_years": "1994-present",        "notes": "M4/M4A1 combined; produced by Colt, FN America, and Remington Defense"      },      "lore": "The M4A1 became the standard-issue weapon for nearly all U.S. military personnel in 2015, completing a transition from the full-length M16 that began in the 1990s. The SOPMOD (Special Operations Peculiar Modification) accessory kit transfor…",      "sources": [        "https://www.globalsecurity.org/military/systems/ground/m4-specs.htm",        "https://fnamerica.com/products/rifles/fn-m4a1/",        "https://weaponsystems.net/system/1513-5.56x45mm%20NATO"      ],      "sourceMuzzleVelocityMps": 905,      "sourceMuzzleEnergyJ": 1640,      "sourceEffectiveRangeM": 500,      "sourceMaxRangeM": 3600,      "ballisticsSource": null,      "ballisticsSourceUrl": null,      "defaultAmmoId": null,      "has3dModel": 1,      "svgLineArtUrl": "https://api.gunspec.io/v1/firearms/m4a1-carbine/media/silhouette",      "model3dUrl": "/models/m4a1-carbine.glb",      "dataConfidence": 0.6,      "verifiedAt": null,      "verifiedFields": null,      "createdAt": "2026-02-11 23:44:44",      "updatedAt": "2026-10-06 23:52:16",      "version": "730470763694f3a0c4c8805866524bd310d37cf5bdf9585ddce7d40b84a12e91",      "provenance": {        "sources": [          "https://www.globalsecurity.org/military/systems/ground/m4-specs.htm",          "https://fnamerica.com/products/rifles/fn-m4a1/",          "https://weaponsystems.net/system/1513-5.56x45mm%20NATO"        ],        "sourceKinds": [          {            "url": "https://www.globalsecurity.org/military/systems/ground/m4-specs.htm",            "kind": "reference",            "archivedFrom": null,            "rank": 4,            "tier": "classified",            "basis": "declared",            "evidence": null          },          {            "url": "https://fnamerica.com/products/rifles/fn-m4a1/",            "kind": "manufacturer",            "archivedFrom": null,            "rank": 0,            "tier": "authority",            "basis": "declared",            "evidence": null          },          {            "url": "https://weaponsystems.net/system/1513-5.56x45mm%20NATO",            "kind": "reference",            "archivedFrom": null,            "rank": 4,            "tier": "classified",            "basis": "declared",            "evidence": null          }        ],        "bestSourceKind": "manufacturer",        "makerSource": null,        "evidence": "authority",        "dataConfidence": 0.6,        "verifiedAt": null,        "verifiedFields": null,        "specSource": null,        "updatedAt": "2026-10-06 23:52:16",        "version": "730470763694f3a0c4c8805866524bd310d37cf5bdf9585ddce7d40b84a12e91",        "checks": {          "raised": 1,          "open": 0,          "history": [            {              "task": "gap:quality.firearm-removed-values-researched.description:m4a1-carbine",              "number": 8062,              "check": "quality:firearm-removed-values-researched",              "kind": "gap",              "agent": null,              "worker": null,              "status": "resolved",              "decidedAt": "2026-10-06T23:26:46.415Z",              "proposed": null,              "fields": [                "description"              ],              "sources": [],              "review": null,              "finding": {                "why": "description was removed on 2026-09-25 as invented (description built from filler repeated across dozens of makers); find the real value on a source",                "evidence": {                  "removedAt": "2026-09-25",                  "reason": [                    "description built from filler repeated across dozens of makers"                  ],                  "invented": {                    "description": {                      "excerpt": "The M4A1 Carbine is a select-fire carbine chambered in 5.56x45mm NATO, produced by Colt's Manufacturing Company since 1994. This American-manufactured firearm r",                      "length": 1168                    }                  }                }              }            }          ]        }      },      "manufacturer": {        "id": "colt",        "name": "Colt's Manufacturing Company LLC",        "countryCode": "US",        "foundedYear": 1855,        "website": "https://www.colt.com",        "logoUrl": null,        "description": "American firearms manufacturer headquartered in Hartford, Connecticut. Founded in 1855 and now a subsidiary of Colt CZ Group, continuing production of iconic firearms including the 1911 pistol.",        "status": "active",        "defunctYear": null,        "stateOwned": null,        "makesFirearms": null,        "parentId": null,        "predecessorId": null,        "createdAt": "2026-02-11 23:44:38",        "updatedAt": "2026-02-18 03:43:38",        "version": "7143c7ff3f7e156063a240f2df7b4746ee1c0394d7cd5f592d05bac43233d637"      },      "category": {        "id": "carbine",        "name": "Carbine",        "description": "Shortened rifles for close-quarters use"      },      "calibers": [        {          "caliberId": "5-56x45mm-nato",          "isPrimary": 1,          "name": "5.56x45mm NATO",          "natoDesignation": "5.56x45mm NATO",          "bulletDiameterMm": 5.7,          "caseLengthMm": 44.7,          "cartridgeType": "rimless",          "neckDiameterMm": 6.43,          "shoulderDiameterMm": 9,          "baseDiameterMm": 9.58,          "rimDiameterMm": 9.6,          "rimThicknessMm": 1.14,          "overallLengthMm": 57.4,          "bulletLengthMm": 22.3,          "typicalBulletWeightG": 4,          "primerType": "small_rifle",          "caseShape": "bottleneck",          "caseMaterial": "brass",          "projectileKind": "bullet",          "bulletProfile": "spitzer_boat_tail",          "closure": "bullet",          "markingColor": null        }      ],      "images": [        {          "id": 830,          "firearmId": "m4a1-carbine",          "url": "https://api.gunspec.io/v1/firearms/m4a1-carbine/images/830",          "type": "svg",          "kind": "silhouette",          "storage": "cdn",          "source": "generated",          "author": null,          "sourceUrl": null,          "license": "cc0",          "alt": null,          "width": null,          "height": null,          "sortOrder": 0        },        {          "id": 983,          "firearmId": "m4a1-carbine",          "url": "https://assets.gunspec.io/models/m4a1-carbine.glb",          "type": "3d_model",          "kind": "model",          "storage": "cdn",          "source": "generated",          "author": null,          "sourceUrl": null,          "license": "cc0",          "alt": null,          "width": null,          "height": null,          "sortOrder": 0        },        {          "id": 6907,          "firearmId": "m4a1-carbine",          "url": "https://api.gunspec.io/v1/firearms/m4a1-carbine/images/6907",          "type": "render",          "kind": "render",          "storage": "r2",          "source": "AI generated (Azure AI Foundry gpt-image-2.5-sunburst)",          "author": "GunSpec",          "sourceUrl": null,          "license": "GunSpec generated",          "alt": "M4A1 Carbine carbine, left-side profile render",          "width": 1536,          "height": 1024,          "sortOrder": 1        }      ],      "users": [        {          "id": 9364,          "firearmId": "m4a1-carbine",          "userName": "United States Armed Forces",          "userType": "military",          "countryCode": "US",          "adoptedYear": 1994,          "designation": "M4A1"        },        {          "id": 9365,          "firearmId": "m4a1-carbine",          "userName": "United States Special Operations Command",          "userType": "military",          "countryCode": "US",          "adoptedYear": 1994,          "designation": "M4A1"        },        {          "id": 9366,          "firearmId": "m4a1-carbine",          "userName": "Australian Special Air Service Regiment",          "userType": "military",          "countryCode": "AU",          "adoptedYear": null,          "designation": "M4A1"        }      ]    }  ],  "deltas": [    {      "field": "weightEmptyG",      "values": [        3470,        2886      ],      "min": 2886,      "max": 3470,      "percentDiff": 20.24    },    {      "field": "weightLoadedG",      "values": [        4300,        3456      ],      "min": 3456,      "max": 4300,      "percentDiff": 24.42    },    {      "field": "barrelLengthMm",      "values": [        415,        368      ],      "min": 368,      "max": 415,      "percentDiff": 12.77    }  ]}

    Am 22. Okt. 2026 von der Live-API erfasst. Listen und lange Texte sind für die Anzeige gekürzt.

Zugehörige Referenzen

Argumente

  • string[]erforderlich

    Two to five firearm slugs.

    Gesendet als
    ?ids=

Jedes Argument wird als der angegebene Parameter an GET /v1/firearms/compare gesendet. Dieselbe Anfrage lässt sich also mit deinem Schlüssel direkt an die API stellen, wenn du bestimmen möchtest, was zurückkommt.

json
  • gunspec_load_carriage
  • Builder
  • Nur lesend

Returns the metabolic energy a foot march costs carrying each of one to five firearms, with its magazines and attachments, on top of the other kit carried, by the US Army LCDA equation (Looney et al. 2022) or the Pandolf equation (1977). Use this tool when the question is how much harder one firearm is to carry than another over a distance. Masses come from the catalog; a firearm missing its empty or loaded weight comes back with an error instead of a cost. The answer is energy cost only: it does not predict fatigue, marksmanship or time to exhaustion.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • How much more energy does a 20 km march cost carrying an FN SCAR-L than an HK416, with seven magazines and 25 kg of kit?
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_load_carriage",  "arguments": {    "ids": [      "hk416",      "fn-scar-l"    ],    "magazines": 7,    "kit_kg": 25,    "distance_km": 20  }}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    {  "model": {    "id": "lcda",    "name": "LCDA backpacking equation with the LCDA graded-walking term",    "equation": "M (W/kg body mass) = Mrest + (0.19 + η(1.78·S^0.58 + 0.27·S^4 + Mgrade)) · (1 + 1.96·L^1.36); Mgrade = 34·S·G·(1 − 1.05^(1 − 1.1^(100·G + 32))); S in m/s, G as rise/run, L = load ÷ body mass; Mrest from Cunningham (1991): (500 + 22·lean mas…",    "citations": [      {        "authors": "Looney DP, Lavoie EM, Vangala SV, Holden LD, Figueiredo PS, Friedl KE, et al.",        "year": 2022,        "title": "Modeling the Metabolic Costs of Heavy Military Backpacking",        "journal": "Medicine & Science in Sports & Exercise 54(4):646-654",        "doi": "10.1249/MSS.0000000000002833"      },      {        "authors": "Looney DP, Santee WR, Hansen EO, Bonventre PJ, Chalmers CR, Potter AW",        "year": 2019,        "title": "Estimating Energy Expenditure during Level, Uphill, and Downhill Walking",        "journal": "Medicine & Science in Sports & Exercise 51(9):1954-1960",        "doi": "10.1249/MSS.0000000000002002"      },      {        "authors": "Soule RG, Goldman RF",        "year": 1972,        "title": "Terrain coefficients for energy cost prediction",        "journal": "Journal of Applied Physiology 32(5):706-708",        "doi": "10.1152/jappl.1972.32.5.706"      }    ],    "validated": {      "speedMps": [        0.45,        1.97      ],      "loadFraction": [        0,        0.66      ]    }  },  "march": {    "bodyMassKg": 80,    "bodyFatPct": 15,    "kitKg": 25,    "magazines": 7,    "speedKmh": 4.8,    "speedMps": 1.333,    "gradePct": 0,    "terrain": "paved",    "terrainFactor": 1,    "distanceKm": 20,    "durationS": 15000,    "defaulted": [      "body_mass_kg",      "body_fat_pct",      "speed_kmh"    ]  },  "attachments": [],  "results": [    {      "firearm": {        "id": "hk416",        "name": "HK416",        "magazineType": "detachable_box",        "magazineCapacity": 30      },      "load": {        "firearmEmptyG": 3020,        "loadedMagazineG": 400,        "magazines": 7,        "magazinesG": 2800,        "attachmentsG": 0,        "carriedG": 5820,        "totalLoadKg": 30.82,        "loadFraction": 0.385,        "sources": {          "firearmEmptyG": "catalogue",          "loadedMagazineG": "derived"        }      },      "cost": {        "watts": 483.2,        "wattsPerKg": 6.04,        "energyKj": 7248.2,        "energyKcal": 1732.4      },      "delta": null,      "warnings": [],      "error": null    },    {      "firearm": {        "id": "fn-scar-l",        "name": "FN SCAR-L",        "magazineType": "detachable_box",        "magazineCapacity": 30      },      "load": {        "firearmEmptyG": 3500,        "loadedMagazineG": 490,        "magazines": 7,        "magazinesG": 3430,        "attachmentsG": 0,        "carriedG": 6930,        "totalLoadKg": 31.93,        "loadFraction": 0.399,        "sources": {          "firearmEmptyG": "catalogue",          "loadedMagazineG": "derived"        }      },      "cost": {        "watts": 489.9,        "wattsPerKg": 6.12,        "energyKj": 7347.9,        "energyKcal": 1756.2      },      "delta": {        "carriedG": 1110,        "watts": 6.6,        "energyKj": 99.7,        "energyKcal": 23.8      },      "warnings": [],      "error": null    }  ]}

    Am 22. Okt. 2026 von der Live-API erfasst. Listen und lange Texte sind für die Anzeige gekürzt.

Zugehörige Referenzen

Argumente

  • string[]erforderlich

    One to five firearm slugs.

    Gesendet als
    ?ids=
  • numberstandard80

    Body mass of the person marching, in kg.

    Bereich
    40 – 160
    Gesendet als
    ?body_mass_kg=
  • numberstandard15

    Body fat as a percentage of body mass.

    Bereich
    3 – 50
    Gesendet als
    ?body_fat_pct=
  • numberstandard0

    Everything else carried, in kg: armour, pack, water.

    Bereich
    0 – 120
    Gesendet als
    ?kit_kg=
  • integerstandard1

    Full magazines carried in total, the one in the firearm included. 0 carries it unloaded.

    Bereich
    0 – 20
    Gesendet als
    ?magazines=
  • string[]

    Up to ten attachment slugs, added to every firearm by their recorded weight.

    Gesendet als
    ?attachments=
  • numberstandard4.8

    Marching speed in km/h.

    Bereich
    1 – 10
    Gesendet als
    ?speed_kmh=
  • numberstandard0

    Slope as a percentage, rise over run; negative is downhill.

    Bereich
    -30 – 30
    Gesendet als
    ?grade_pct=
  • stringstandardpaved

    The surface marched over.

    Akzeptiert
    Gesendet als
    ?terrain=
  • numberstandard20

    March distance in km.

    Bereich
    0.1 – 200
    Gesendet als
    ?distance_km=
  • stringstandardlcda

    The equation: lcda, or pandolf for comparison with older studies (level and uphill only).

    Akzeptiert
    Gesendet als
    ?model=

Jedes Argument wird als der angegebene Parameter an GET /v1/firearms/load-carriage gesendet. Dieselbe Anfrage lässt sich also mit deinem Schlüssel direkt an die API stellen, wenn du bestimmen möchtest, was zurückkommt.

json
  • gunspec_firearm_recoil
  • Builder
  • Nur lesend

Returns the free recoil of one to five firearms firing a load: the velocity each is pushed back at, the energy it takes and the impulse, by the free recoil formula SAAMI publishes, from the firearm's recorded mass and the muzzle velocity its own barrel gives the load. Use this tool when the question is how hard one firearm kicks against another. The catalog holds no powder charge, so without powder_charge_g only the bullet is counted and every figure is a lower bound; say so when you quote it. It is free recoil, not felt recoil, and does not count a muzzle brake.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • How much free recoil does an HK416 have against an M4 carbine firing M855?
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_firearm_recoil",  "arguments": {    "ids": [      "hk416",      "m4-carbine"    ],    "ammo_id": "m855"  }}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    {  "method": {    "id": "saami-free-recoil",    "name": "SAAMI free recoil",    "equation": "I (N·s) = m_b·v + m_c·f·v; V (m/s) = I / M; E (J) = ½·M·V²; m_b the bullet and m_c the powder charge in kg, v the muzzle velocity from this barrel in m/s, f the gas velocity factor for the class of firearm, M the firearm in kg. Without a po…",    "citations": [      {        "authors": "Sporting Arms and Ammunition Manufacturers' Institute (SAAMI)",        "year": 2018,        "title": "Gun Recoil, Technical: Free Recoil Energy",        "journal": "SAAMI technical sheet, Rev. 7/9/2018",        "doi": null,        "url": "https://saami.org/wp-content/uploads/2025/03/Gun-Recoil-Formulae-2018-07-9.pdf"      },      {        "authors": "Hatcher JS",        "year": 1957,        "title": "Hatcher's Notebook, second edition, chapter The Theory of Recoil",        "journal": "The Military Service Publishing Company",        "doi": null,        "url": "https://archive.org/details/hatchers-notebook-by-julian-s.-hatcher"      }    ],    "gasFactors": {      "rifle": 1.75,      "shotgun": 1.5,      "shotgun_long_barrel": 1.25,      "handgun": 1.5    }  },  "shot": {    "mass": "loaded",    "powderChargeG": null,    "gasClass": null,    "lowerBound": true,    "defaulted": [      "mass",      "powder_charge_g",      "gas_class"    ]  },  "results": [    {      "firearm": {        "id": "hk416",        "name": "HK416",        "categoryId": "assault-rifle",        "barrelLengthMm": 264      },      "ammunition": {        "id": "m855",        "name": "M855 Ball (SS109)",        "caliberId": "5-56x45mm-nato",        "bulletWeightG": 4.02      },      "mass": {        "firearmG": 3420,        "basis": "loaded",        "source": "catalogue"      },      "muzzleVelocityMps": 777,      "gas": {        "class": "rifle",        "label": "High powered rifles",        "factor": 1.75,        "velocityMps": null,        "chargeG": null,        "classSource": "category"      },      "recoil": {        "impulseNs": 3.125,        "bulletImpulseNs": 3.125,        "gasImpulseNs": null,        "velocityMps": 0.914,        "energyJ": 1.43,        "lowerBound": true      },      "delta": null,      "warnings": [],      "error": null    },    {      "firearm": {        "id": "m4-carbine",        "name": "M4 Carbine",        "categoryId": "carbine",        "barrelLengthMm": 368      },      "ammunition": {        "id": "m855",        "name": "M855 Ball (SS109)",        "caliberId": "5-56x45mm-nato",        "bulletWeightG": 4.02      },      "mass": {        "firearmG": 3320,        "basis": "loaded",        "source": "catalogue"      },      "muzzleVelocityMps": 856,      "gas": {        "class": "rifle",        "label": "High powered rifles",        "factor": 1.75,        "velocityMps": null,        "chargeG": null,        "classSource": "category"      },      "recoil": {        "impulseNs": 3.442,        "bulletImpulseNs": 3.442,        "gasImpulseNs": null,        "velocityMps": 1.037,        "energyJ": 1.78,        "lowerBound": true      },      "delta": {        "energyJ": 0.36,        "velocityMps": 0.123,        "impulseNs": 0.316      },      "warnings": [],      "error": null    }  ]}

    Am 22. Okt. 2026 von der Live-API erfasst. Listen und lange Texte sind für die Anzeige gekürzt.

Zugehörige Referenzen

Argumente

  • string[]erforderlich

    One to five firearm slugs.

    Gesendet als
    ?ids=
  • string

    The load every firearm fires. Leave it out to fire each with the load its ballistic profile uses.

    Gesendet als
    ?ammo_id=
  • stringstandardloaded

    Which recorded weight recoils.

    Akzeptiert
    Gesendet als
    ?mass=
  • number

    The load's powder charge in grams, when the user states one. Needs ammo_id.

    Bereich
    0 – 100
    Gesendet als
    ?powder_charge_g=
  • string

    The SAAMI class whose gas velocity factor applies, in place of the one read from the category.

    Akzeptiert
    Gesendet als
    ?gas_class=

Jedes Argument wird als der angegebene Parameter an GET /v1/firearms/recoil gesendet. Dieselbe Anfrage lässt sich also mit deinem Schlüssel direkt an die API stellen, wenn du bestimmen möchtest, was zurückkommt.

json
  • gunspec_point_blank_range
  • Builder
  • Nur lesend

Returns the maximum point-blank range of one to five firearms, the furthest distance the bullet stays within half a target's diameter of the line of sight with no holdover, with the zero that gives it, and how far the bullet stays supersonic. Computed on the same trajectory as the ballistic profile, from each firearm's own barrel, in the ICAO standard atmosphere. Use this tool for questions about point-blank range, what distance to zero at, or when a bullet goes subsonic.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • What is the maximum point-blank range of an HK416 against an FN SCAR-H on a 200 mm target?
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_point_blank_range",  "arguments": {    "ids": [      "hk416",      "fn-scar-h"    ],    "target_mm": 200  }}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    {  "method": {    "id": "maximum-point-blank-range",    "name": "Maximum point-blank range on the API trajectory",    "equation": "y(d) = d·θ − D(d) − h; range = the largest R for which some θ keeps −r ≤ y(d) ≤ r for every d ≤ R, bound at each metre by (D(d) + h − r)/d ≤ θ ≤ (D(d) + h + r)/d; θ taken at its upper bound, so the path peaks at +r. D(d) the drop below the…",    "citations": [      {        "authors": "International Civil Aviation Organization",        "year": 1993,        "title": "Manual of the ICAO Standard Atmosphere (extended to 80 kilometres)",        "journal": "ICAO Doc 7488/3, third edition",        "doi": null,        "url": null      }    ],    "resolutionM": 1,    "maxRangeM": 2500  },  "atmosphere": {    "name": "ICAO standard atmosphere at sea level",    "temperatureC": 15,    "pressureKpa": 101.325,    "airDensityKgM3": 1.225,    "speedOfSoundMps": 340.294  },  "target": {    "diameterMm": 200,    "radiusMm": 100,    "defaulted": [      "ammo_id",      "sight_height_mm"    ]  },  "results": [    {      "firearm": {        "id": "hk416",        "name": "HK416",        "categoryId": "assault-rifle",        "barrelLengthMm": 264      },      "ammunition": {        "id": "m193",        "name": "M193 Ball",        "caliberId": "5-56x45mm-nato",        "bulletWeightG": 3.56      },      "muzzleVelocityMps": 825,      "sight": {        "heightMm": 38,        "source": "category"      },      "pointBlank": {        "rangeM": 281,        "nearZeroM": 21,        "farZeroM": 238,        "peakM": 138,        "peakHeightMm": 100,        "boreAngleMrad": 2.043,        "timeOfFlightS": 0.36,        "velocityMps": 738      },      "supersonic": {        "rangeM": 1105,        "timeOfFlightS": 1.856,        "beyondProfile": false      },      "delta": null,      "warnings": [],      "error": null    },    {      "firearm": {        "id": "fn-scar-h",        "name": "FN SCAR-H",        "categoryId": "battle-rifle",        "barrelLengthMm": 406      },      "ammunition": {        "id": "m80",        "name": "M80 Ball",        "caliberId": "7-62x51mm-nato",        "bulletWeightG": 9.53      },      "muzzleVelocityMps": 785,      "sight": {        "heightMm": 38,        "source": "category"      },      "pointBlank": {        "rangeM": 274,        "nearZeroM": 20,        "farZeroM": 232,        "peakM": 126,        "peakHeightMm": 100,        "boreAngleMrad": 2.127,        "timeOfFlightS": 0.362,        "velocityMps": 730      },      "supersonic": {        "rangeM": 1534,        "timeOfFlightS": 2.667,        "beyondProfile": false      },      "delta": {        "rangeM": -7,        "farZeroM": -6      },      "warnings": [],      "error": null    }  ]}

    Am 22. Okt. 2026 von der Live-API erfasst. Listen und lange Texte sind für die Anzeige gekürzt.

Zugehörige Referenzen

Argumente

  • string[]erforderlich

    One to five firearm slugs.

    Gesendet als
    ?ids=
  • string

    The load every firearm fires. Leave it out to fire each with the load its ballistic profile uses.

    Gesendet als
    ?ammo_id=
  • numberstandard200

    Target diameter in mm.

    Bereich
    20 – 2000
    Gesendet als
    ?target_mm=
  • number

    Sight height above the bore in mm. Leave it out for the height assumed for the category.

    Bereich
    0 – 150
    Gesendet als
    ?sight_height_mm=

Jedes Argument wird als der angegebene Parameter an GET /v1/firearms/point-blank gesendet. Dieselbe Anfrage lässt sich also mit deinem Schlüssel direkt an die API stellen, wenn du bestimmen möchtest, was zurückkommt.

json
  • gunspec_ammo_load
  • Builder
  • Nur lesend

Returns how much ammunition one to five firearms carry per kilogram: rounds per kilogram of full magazines and how many full magazines fit a weight budget, derived from each firearm's loaded and empty weights, and the estimated mass of a basic load of rounds and magazines from a fitted cartridge-mass model. Derived and estimated figures are labelled; always say which a figure is, and give an estimate with its range. A warning beside a magazine means the catalog's weights for it look wrong.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • How many rounds can I carry in 5 kg of magazines for an HK416 against an AK-74?
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_ammo_load",  "arguments": {    "ids": [      "hk416",      "ak-74"    ],    "budget_kg": 5  }}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    {  "method": {    "id": "ammo-load",    "name": "Magazine arithmetic and the fitted cartridge-mass model",    "equation": "Full magazine m_mag = loaded weight − empty weight (derived); rounds per kg = capacity / (m_mag in kg); magazines in a budget B = floor(B / m_mag). Estimated round m_round = bullet + 2.5 g/cm³ × π/4 × base diameter² × case length, with the…",    "maxErrorPct": 8.5,    "fittedEnvelopeCm3": [      2.6,      5.7    ],    "references": [      {        "name": ".45 ACP",        "load": "M1911 ball",        "roundG": 21.19,        "source": "https://man.fas.org/dod-101/sys/land/m1911-ball.htm"      },      {        "name": "5.56×45mm NATO",        "load": "M855",        "roundG": 12.31,        "source": "https://en.wikipedia.org/wiki/5.56%C3%9745mm_NATO"      },      {        "name": "7.62×39mm",        "load": "57-N-231",        "roundG": 16.3,        "source": "https://en.wikipedia.org/wiki/7.62%C3%9739mm"      }    ]  },  "load": {    "budgetKg": 5,    "magazines": 7,    "rounds": null,    "ammoId": null,    "defaulted": [      "ammo_id",      "magazines",      "rounds"    ]  },  "results": [    {      "firearm": {        "id": "hk416",        "name": "HK416",        "magazineType": "detachable_box",        "magazineCapacity": 30      },      "cartridge": {        "caliberId": "5-56x45mm-nato",        "bulletG": 4,        "bulletSource": "caliber",        "ammunitionId": null,        "envelopeCm3": 3.222      },      "magazine": {        "loadedMagazineG": 400,        "capacity": 30,        "roundsPerKg": 75,        "source": "derived",        "check": {          "verdict": "plausible",          "roundsG": {            "expected": 361.7,            "low": 330.8,            "high": 392.5          },          "bandG": {            "low": 309,            "high": 879.3          },          "source": "estimated"        }      },      "budget": {        "magazines": 12,        "rounds": 360,        "massG": 4800,        "leftoverG": 200,        "source": "derived"      },      "basicLoad": {        "rounds": 210,        "roundG": {          "expected": 12.06,          "low": 11.03,          "high": 13.08        },        "roundsG": {          "expected": 2531.6,          "low": 2315.9,          "high": 2747.3        },        "magazines": 7,        "magazinesG": {          "expected": 3345.3,          "low": 2420.9,          "high": 5897.3        },        "source": "estimated"      },      "delta": null,      "warnings": [],      "error": null    },    {      "firearm": {        "id": "ak-74",        "name": "AK-74",        "magazineType": "detachable_box",        "magazineCapacity": 30      },      "cartridge": {        "caliberId": "5-45x39mm",        "bulletG": 3.43,        "bulletSource": "caliber",        "ammunitionId": null,        "envelopeCm3": 3.127      },      "magazine": {        "loadedMagazineG": 300,        "capacity": 30,        "roundsPerKg": 100,        "source": "derived",        "check": {          "verdict": "lighter-than-rounds",          "roundsG": {            "expected": 337.5,            "low": 308.7,            "high": 366.2          },          "bandG": {            "low": 286.8,            "high": 853.1          },          "source": "estimated"        }      },      "budget": {        "magazines": 16,        "rounds": 480,        "massG": 4800,        "leftoverG": 200,        "source": "derived"      },      "basicLoad": {        "rounds": 210,        "roundG": {          "expected": 11.25,          "low": 10.29,          "high": 12.21        },        "roundsG": {          "expected": 2362.2,          "low": 2160.9,          "high": 2563.5        },        "magazines": 7,        "magazinesG": {          "expected": 3176,          "low": 2265.9,          "high": 5713.5        },        "source": "estimated"      },      "delta": {        "roundsPerKg": 25,        "budgetRounds": 120      },      "warnings": [        "The derived full magazine is lighter than its rounds alone are estimated to weigh, even allowing the model's whole error: one of the record's two weights is wrong, so the figures derived from it are too."      ],      "error": null    }  ]}

    Am 22. Okt. 2026 von der Live-API erfasst. Listen und lange Texte sind für die Anzeige gekürzt.

Zugehörige Referenzen

Argumente

  • string[]erforderlich

    One to five firearm slugs.

    Gesendet als
    ?ids=
  • string

    A load whose bullet the estimate uses. Leave it out for each cartridge's typical bullet.

    Gesendet als
    ?ammo_id=
  • numberstandard5

    A weight of full magazines to fill, in kg.

    Bereich
    0.1 – 100
    Gesendet als
    ?budget_kg=
  • integerstandard7

    Full magazines in the estimated basic load.

    Bereich
    0 – 50
    Gesendet als
    ?magazines=
  • integer

    Rounds in the estimated basic load. Leave it out for magazines times the capacity.

    Bereich
    1 – 10000
    Gesendet als
    ?rounds=

Jedes Argument wird als der angegebene Parameter an GET /v1/firearms/ammo-load gesendet. Dieselbe Anfrage lässt sich also mit deinem Schlüssel direkt an die API stellen, wenn du bestimmen möchtest, was zurückkommt.

json
  • gunspec_similar_firearms
  • Explorer
  • Nur lesend

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".

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • Which firearms are similar to the Glock 17?
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_similar_firearms",  "arguments": {    "id": "glock-g17"  }}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    [  {    "id": "glock-g18",    "name": "Glock 18",    "score": 0.9,    "manufacturerId": "glock",    "categoryId": "pistol",    "countryOfOrigin": "AT",    "yearIntroduced": 1986,    "status": "in_production",    "svgLineArtUrl": "https://api.gunspec.io/v1/firearms/glock-g18/media/silhouette",    "actionType": "short_recoil",    "images": [      {        "id": 1463,        "url": "https://api.gunspec.io/v1/firearms/glock-g18/images/1463",        "kind": "silhouette",        "alt": null,        "width": null,        "height": null      },      {        "id": 10553,        "url": "https://api.gunspec.io/v1/firearms/glock-g18/images/10553",        "kind": "silhouette",        "alt": null,        "width": null,        "height": null      },      {        "id": 6580,        "url": "https://api.gunspec.io/v1/firearms/glock-g18/images/6580",        "kind": "render",        "alt": "Glock 18 handgun, left-side profile render",        "width": 1536,        "height": 1024      }    ]  },  {    "id": "glock-g19",    "name": "Glock G19",    "score": 0.9,    "manufacturerId": "glock",    "categoryId": "pistol",    "countryOfOrigin": "AT",    "yearIntroduced": 1988,    "status": "in_production",    "svgLineArtUrl": "https://api.gunspec.io/v1/firearms/glock-g19/media/silhouette",    "actionType": "short_recoil",    "images": [      {        "id": 1471,        "url": "https://api.gunspec.io/v1/firearms/glock-g19/images/1471",        "kind": "silhouette",        "alt": null,        "width": null,        "height": null      },      {        "id": 6586,        "url": "https://api.gunspec.io/v1/firearms/glock-g19/images/6586",        "kind": "render",        "alt": "Glock G19 handgun, left-side profile render",        "width": 1536,        "height": 1024      }    ]  },  {    "id": "glock-g17l",    "name": "Glock G17L",    "score": 0.85,    "manufacturerId": "glock",    "categoryId": "pistol",    "countryOfOrigin": "AT",    "yearIntroduced": 1988,    "status": "in_production",    "svgLineArtUrl": "https://api.gunspec.io/v1/firearms/glock-g17l/media/silhouette",    "actionType": "short_recoil",    "images": [      {        "id": 1462,        "url": "https://api.gunspec.io/v1/firearms/glock-g17l/images/1462",        "kind": "silhouette",        "alt": null,        "width": null,        "height": null      },      {        "id": 6579,        "url": "https://api.gunspec.io/v1/firearms/glock-g17l/images/6579",        "kind": "render",        "alt": "Glock G17L handgun, left-side profile render",        "width": 1536,        "height": 1024      }    ]  }]

    Am 22. Okt. 2026 von der Live-API erfasst. Listen und lange Texte sind für die Anzeige gekürzt.

Zugehörige Referenzen

Argumente

  • stringerforderlich

    The firearm slug, e.g. as returned by a list or search tool.

    Gesendet als
    {id}

Jedes Argument wird als der angegebene Parameter an GET /v1/firearms/{id}/similar gesendet. Dieselbe Anfrage lässt sich also mit deinem Schlüssel direkt an die API stellen, wenn du bestimmen möchtest, was zurückkommt.

json
  • gunspec_firearm_variants
  • Explorer
  • Nur lesend

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.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • What variants of the AK-47 are there?
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_firearm_variants",  "arguments": {    "id": "ak-47"  }}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    [  {    "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"  }]

    Am 22. Okt. 2026 von der Live-API erfasst. Listen und lange Texte sind für die Anzeige gekürzt.

Zugehörige Referenzen

Argumente

  • stringerforderlich

    The firearm slug, e.g. as returned by a list or search tool.

    Gesendet als
    {id}

Jedes Argument wird als der angegebene Parameter an GET /v1/firearms/{id}/variants gesendet. Dieselbe Anfrage lässt sich also mit deinem Schlüssel direkt an die API stellen, wenn du bestimmen möchtest, was zurückkommt.

json
  • gunspec_firearm_media
  • Explorer
  • Nur lesend

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.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • Show me images and the 3D model of the Accuracy International AWM.
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_firearm_media",  "arguments": {    "id": "accuracy-international-awm"  }}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    [  {    "id": 976,    "kind": "model",    "mimeType": "model/gltf-binary",    "width": null,    "height": null,    "alt": null,    "url": "https://assets.gunspec.io/models/accuracy-international-awm.glb",    "sizes": {      "full": "https://api.gunspec.io/v1/firearms/accuracy-international-awm/media/976?size=full",      "display": "https://api.gunspec.io/v1/firearms/accuracy-international-awm/media/976?size=display",      "thumb": "https://api.gunspec.io/v1/firearms/accuracy-international-awm/media/976?size=thumb"    },    "credit": {      "source": "generated",      "author": null,      "sourceUrl": null,      "license": "cc0"    }  },  {    "id": 645,    "kind": "silhouette",    "mimeType": "image/svg+xml",    "width": null,    "height": null,    "alt": null,    "url": "https://api.gunspec.io/v1/firearms/accuracy-international-awm/media/645",    "sizes": {      "full": "https://api.gunspec.io/v1/firearms/accuracy-international-awm/media/645?size=full",      "display": "https://api.gunspec.io/v1/firearms/accuracy-international-awm/media/645?size=display",      "thumb": "https://api.gunspec.io/v1/firearms/accuracy-international-awm/media/645?size=thumb"    },    "credit": {      "source": "generated",      "author": null,      "sourceUrl": null,      "license": "cc0"    }  },  {    "id": 9860,    "kind": "silhouette",    "mimeType": "image/svg+xml",    "width": null,    "height": null,    "alt": null,    "url": "https://api.gunspec.io/v1/firearms/accuracy-international-awm/media/9860",    "sizes": {      "full": "https://api.gunspec.io/v1/firearms/accuracy-international-awm/media/9860?size=full",      "display": "https://api.gunspec.io/v1/firearms/accuracy-international-awm/media/9860?size=display",      "thumb": "https://api.gunspec.io/v1/firearms/accuracy-international-awm/media/9860?size=thumb"    },    "credit": {      "source": "generated",      "author": null,      "sourceUrl": null,      "license": "cc0"    }  }]

    Am 22. Okt. 2026 von der Live-API erfasst. Listen und lange Texte sind für die Anzeige gekürzt.

Zugehörige Referenzen

Argumente

  • stringerforderlich

    The firearm slug, e.g. as returned by a list or search tool.

    Gesendet als
    {id}
  • string

    Return this media kind only.

    Akzeptiert
    Gesendet als
    ?kind=

Jedes Argument wird als der angegebene Parameter an GET /v1/firearms/{id}/media gesendet. Dieselbe Anfrage lässt sich also mit deinem Schlüssel direkt an die API stellen, wenn du bestimmen möchtest, was zurückkommt.

json
  • gunspec_top_firearms
  • Builder
  • Nur lesend

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.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • What are the five lightest pistols in the catalog?
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_top_firearms",  "arguments": {    "stat": "lightest",    "category": "pistol",    "limit": 5  }}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    [  {    "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"  },  {    "id": "frank-wesson-superposed-derringer",    "name": "Frank Wesson Superposed Derringer",    "manufacturerId": "frank-wesson",    "categoryId": "pistol",    "value": 145,    "unit": "g"  }]

    Am 22. Okt. 2026 von der Live-API erfasst. Listen und lange Texte sind für die Anzeige gekürzt.

Zugehörige Referenzen

Argumente

  • stringerforderlich

    The statistic to rank by.

    Akzeptiert
    Gesendet als
    ?stat=
  • string

    Limit results to this category slug.

    Gesendet als
    ?category=
  • integerstandard10

    Number of results to return.

    Bereich
    1 – 50
    Gesendet als
    ?limit=

Jedes Argument wird als der angegebene Parameter an GET /v1/firearms/top gesendet. Dieselbe Anfrage lässt sich also mit deinem Schlüssel direkt an die API stellen, wenn du bestimmen möchtest, was zurückkommt.

json
  • gunspec_list_manufacturers
  • Explorer
  • Nur lesend

Lists manufacturers in the catalog with their slugs, optionally filtered by country.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • List some firearm manufacturers.
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_list_manufacturers",  "arguments": {    "per_page": 5  }}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    {  "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": "2a-armament",      "name": "2A Armament",      "countryCode": "US",      "foundedYear": 2013,      "website": "https://nemoarms.com/2a-parts/",      "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-09-25 05:03:47",      "version": "eaf6f8782bef890e4e076427d8219f68bb7813424e30b5710d5f8dc1434afbfd"    },    {      "id": "a-h-waters",      "name": "A. H. Waters & Co.",      "countryCode": "US",      "foundedYear": null,      "website": null,      "logoUrl": null,      "description": null,      "status": null,      "defunctYear": null,      "stateOwned": null,      "makesFirearms": null,      "parentId": null,      "predecessorId": null,      "createdAt": "2026-06-21 23:00:46",      "updatedAt": "2026-06-21 23:00:46",      "version": "8b7ac86f9cedc5fdd0f77685eda86536cf1b273099ec0e161e896c49242cd6e1"    }  ],  "pagination": {    "page": 1,    "limit": 5,    "per_page": 5,    "total": 1045,    "totalPages": 209  }}

    Am 22. Okt. 2026 von der Live-API erfasst. Listen und lange Texte sind für die Anzeige gekürzt.

Zugehörige Referenzen

Argumente

  • string

    Country name or ISO code.

    Gesendet als
    ?country=
  • integerstandard1

    Page number, from 1.

    Minimum
    1
    Gesendet als
    ?page=
  • integerstandard20

    Items per page, 1 to 100.

    Bereich
    1 – 100
    Gesendet als
    ?per_page=

Jedes Argument wird als der angegebene Parameter an GET /v1/manufacturers gesendet. Dieselbe Anfrage lässt sich also mit deinem Schlüssel direkt an die API stellen, wenn du bestimmen möchtest, was zurückkommt.

json
  • gunspec_get_manufacturer
  • Explorer
  • Nur lesend

Returns one manufacturer, including founding details, country, headquarters, description and website.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • Tell me about Glock as a manufacturer.
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_get_manufacturer",  "arguments": {    "id": "glock"  }}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    {  "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"}

    Am 22. Okt. 2026 von der Live-API erfasst.

Zugehörige Referenzen

Argumente

  • stringerforderlich

    The manufacturer slug, e.g. as returned by a list or search tool.

    Gesendet als
    {id}

Jedes Argument wird als der angegebene Parameter an GET /v1/manufacturers/{id} gesendet. Dieselbe Anfrage lässt sich also mit deinem Schlüssel direkt an die API stellen, wenn du bestimmen möchtest, was zurückkommt.

json
  • gunspec_manufacturer_firearms
  • Explorer
  • Nur lesend

Returns every firearm a manufacturer makes or has made, with pagination.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • Which firearms does Kalashnikov Concern make?
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_manufacturer_firearms",  "arguments": {    "id": "kalashnikov-concern",    "per_page": 5  }}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    {  "firearms": [    {      "id": "ak-101",      "name": "AK-101",      "categoryId": "assault-rifle",      "yearIntroduced": 1994,      "status": "in_production",      "actionType": "gas_operated_long_stroke",      "countryOfOrigin": "RU",      "svgLineArtUrl": "https://api.gunspec.io/v1/firearms/ak-101/media/silhouette",      "model3dUrl": null,      "images": [        {          "id": 651,          "url": "https://api.gunspec.io/v1/firearms/ak-101/images/651",          "kind": "silhouette",          "alt": null,          "width": null,          "height": null        },        {          "id": 6011,          "url": "https://api.gunspec.io/v1/firearms/ak-101/images/6011",          "kind": "render",          "alt": "AK-101 assault rifle, left-side profile render",          "width": 1536,          "height": 1024        }      ]    },    {      "id": "ak-102",      "name": "AK-102",      "categoryId": "carbine",      "yearIntroduced": 1994,      "status": "in_production",      "actionType": "gas_operated_long_stroke",      "countryOfOrigin": "RU",      "svgLineArtUrl": "https://api.gunspec.io/v1/firearms/ak-102/media/silhouette",      "model3dUrl": null,      "images": [        {          "id": 652,          "url": "https://api.gunspec.io/v1/firearms/ak-102/images/652",          "kind": "silhouette",          "alt": null,          "width": null,          "height": null        },        {          "id": 6012,          "url": "https://api.gunspec.io/v1/firearms/ak-102/images/6012",          "kind": "render",          "alt": "AK-102 carbine, left-side profile render",          "width": 1536,          "height": 1024        }      ]    },    {      "id": "ak-103",      "name": "AK-103",      "categoryId": "assault-rifle",      "yearIntroduced": 1994,      "status": "in_production",      "actionType": "gas_operated_long_stroke",      "countryOfOrigin": "RU",      "svgLineArtUrl": "https://api.gunspec.io/v1/firearms/ak-103/media/silhouette",      "model3dUrl": null,      "images": [        {          "id": 653,          "url": "https://api.gunspec.io/v1/firearms/ak-103/images/653",          "kind": "silhouette",          "alt": null,          "width": null,          "height": null        },        {          "id": 6013,          "url": "https://api.gunspec.io/v1/firearms/ak-103/images/6013",          "kind": "render",          "alt": "AK-103 assault rifle, left-side profile render",          "width": 1536,          "height": 1024        }      ]    }  ],  "pagination": {    "page": 1,    "limit": 5,    "per_page": 5,    "total": 54,    "totalPages": 11  }}

    Am 22. Okt. 2026 von der Live-API erfasst. Listen und lange Texte sind für die Anzeige gekürzt.

Zugehörige Referenzen

Argumente

  • stringerforderlich

    The manufacturer slug, e.g. as returned by a list or search tool.

    Gesendet als
    {id}
  • integerstandard1

    Page number, from 1.

    Minimum
    1
    Gesendet als
    ?page=
  • integerstandard20

    Items per page, 1 to 100.

    Bereich
    1 – 100
    Gesendet als
    ?per_page=

Jedes Argument wird als der angegebene Parameter an GET /v1/manufacturers/{id}/firearms gesendet. Dieselbe Anfrage lässt sich also mit deinem Schlüssel direkt an die API stellen, wenn du bestimmen möchtest, was zurückkommt.

json
  • gunspec_list_calibers
  • Explorer
  • Nur lesend

Lists cartridges in the catalog with bullet diameter, case length and type. Use this tool to find a caliber slug.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • List some calibers in the catalog.
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_list_calibers",  "arguments": {    "per_page": 5  }}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    {  "calibers": [    {      "id": "17-mach-2",      "name": ".17 Hornady Mach 2",      "aliases": [        ".17 HM2",        ".17 Mach 2",        "17 HM2"      ],      "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://bobp.cip-bobp.org/uploads/tdcc/tab-v/17-mach-2-en-1.pdf",      "specStandard": "cip",      "dataConfidence": 0.95,      "verifiedAt": "2026-10-03",      "verifiedFields": [        "base_diameter_mm",        "bullet_diameter_mm",        "case_length_mm"      ],      "createdAt": "2026-02-18 03:40:52",      "updatedAt": "2026-10-04 11:27:58",      "version": "9ea3afa897d3065af1f0e90ef8c0229f8cb6c8db0275e2a684bff3f5c2502581",      "provenance": {        "sources": [],        "sourceKinds": [],        "bestSourceKind": null,        "makerSource": null,        "evidence": "verified",        "dataConfidence": 0.95,        "verifiedAt": "2026-10-03",        "verifiedFields": [          "base_diameter_mm",          "bullet_diameter_mm",          "case_length_mm"        ],        "specSource": "https://bobp.cip-bobp.org/uploads/tdcc/tab-v/17-mach-2-en-1.pdf",        "updatedAt": "2026-10-04 11:27:58",        "version": "9ea3afa897d3065af1f0e90ef8c0229f8cb6c8db0275e2a684bff3f5c2502581"      }    },    {      "id": "17-hmr",      "name": ".17 Hornady Magnum Rimfire",      "aliases": [        ".17 HMR",        "17 HMR",        "17 Hornady Magnum"      ],      "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://bobp.cip-bobp.org/uploads/tdcc/tab-v/17-hmr-en.pdf",      "specStandard": "cip",      "dataConfidence": 0.9,      "verifiedAt": "2026-10-03",      "verifiedFields": [        "base_diameter_mm",        "bullet_diameter_mm",        "case_length_mm"      ],      "createdAt": "2026-02-11 23:44:40",      "updatedAt": "2026-10-04 11:27:58",      "version": "93dd8daf3269566657d4929d68c7941de717f9df1709c8bb7fdbf687b82ac22f",      "provenance": {        "sources": [],        "sourceKinds": [],        "bestSourceKind": null,        "makerSource": null,        "evidence": "verified",        "dataConfidence": 0.9,        "verifiedAt": "2026-10-03",        "verifiedFields": [          "base_diameter_mm",          "bullet_diameter_mm",          "case_length_mm"        ],        "specSource": "https://bobp.cip-bobp.org/uploads/tdcc/tab-v/17-hmr-en.pdf",        "updatedAt": "2026-10-04 11:27:58",        "version": "93dd8daf3269566657d4929d68c7941de717f9df1709c8bb7fdbf687b82ac22f"      }    },    {      "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://bobp.cip-bobp.org/uploads/tdcc/tab-ii/17-hornet-en.pdf",      "specStandard": "cip",      "dataConfidence": 0.95,      "verifiedAt": "2026-10-03",      "verifiedFields": [        "base_diameter_mm",        "bullet_diameter_mm",        "case_length_mm"      ],      "createdAt": "2026-03-09 12:58:51",      "updatedAt": "2026-10-04 11:27:58",      "version": "ca4d03915f38d506bfc20c281552d53576b2bd51127e22d6a1eb3f96aa7624f0",      "provenance": {        "sources": [],        "sourceKinds": [],        "bestSourceKind": null,        "makerSource": null,        "evidence": "verified",        "dataConfidence": 0.95,        "verifiedAt": "2026-10-03",        "verifiedFields": [          "base_diameter_mm",          "bullet_diameter_mm",          "case_length_mm"        ],        "specSource": "https://bobp.cip-bobp.org/uploads/tdcc/tab-ii/17-hornet-en.pdf",        "updatedAt": "2026-10-04 11:27:58",        "version": "ca4d03915f38d506bfc20c281552d53576b2bd51127e22d6a1eb3f96aa7624f0"      }    }  ],  "pagination": {    "page": 1,    "limit": 5,    "per_page": 5,    "total": 780,    "totalPages": 156  }}

    Am 22. Okt. 2026 von der Live-API erfasst. Listen und lange Texte sind für die Anzeige gekürzt.

Zugehörige Referenzen

Argumente

  • string

    Cartridge type, e.g. "rimfire", "centerfire" or "shotshell".

    Gesendet als
    ?cartridge_type=
  • integerstandard1

    Page number, from 1.

    Minimum
    1
    Gesendet als
    ?page=
  • integerstandard20

    Items per page, 1 to 100.

    Bereich
    1 – 100
    Gesendet als
    ?per_page=

Jedes Argument wird als der angegebene Parameter an GET /v1/calibers gesendet. Dieselbe Anfrage lässt sich also mit deinem Schlüssel direkt an die API stellen, wenn du bestimmen möchtest, was zurückkommt.

json
  • gunspec_get_caliber
  • Explorer
  • Nur lesend

Returns the full record for one cartridge: SAAMI/CIP dimensions, case shape, projectile, origin, parent cartridge and provenance.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • What are the dimensions of the 9x19mm Parabellum cartridge?
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_get_caliber",  "arguments": {    "id": "9x19mm-parabellum"  }}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    {  "id": "9x19mm-parabellum",  "name": "9x19mm Parabellum",  "aliases": [    "7N21",    "7N31",    "9mm"  ],  "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://bobp.cip-bobp.org/uploads/tdcc/tab-iv/tabivcal-en-page28.pdf",  "specStandard": "cip",  "dataConfidence": 0.95,  "verifiedAt": "2026-10-03",  "verifiedFields": [    "base_diameter_mm",    "bullet_diameter_mm",    "case_length_mm"  ],  "createdAt": "2026-02-11 23:44:40",  "updatedAt": "2026-10-04 11:27:58",  "version": "d19f758e24071a6793e3a3509f859f72c856ac63aa8edeb1d909fb8392649840",  "provenance": {    "sources": [],    "sourceKinds": [],    "bestSourceKind": null,    "makerSource": null,    "evidence": "verified",    "dataConfidence": 0.95,    "verifiedAt": "2026-10-03",    "verifiedFields": [      "base_diameter_mm",      "bullet_diameter_mm",      "case_length_mm"    ],    "specSource": "https://bobp.cip-bobp.org/uploads/tdcc/tab-iv/tabivcal-en-page28.pdf",    "updatedAt": "2026-10-04 11:27:58",    "version": "d19f758e24071a6793e3a3509f859f72c856ac63aa8edeb1d909fb8392649840"  }}

    Am 22. Okt. 2026 von der Live-API erfasst. Listen und lange Texte sind für die Anzeige gekürzt.

Zugehörige Referenzen

Argumente

  • stringerforderlich

    The caliber slug, e.g. as returned by a list or search tool.

    Gesendet als
    {id}

Jedes Argument wird als der angegebene Parameter an GET /v1/calibers/{id} gesendet. Dieselbe Anfrage lässt sich also mit deinem Schlüssel direkt an die API stellen, wenn du bestimmen möchtest, was zurückkommt.

json
  • gunspec_caliber_firearms
  • Explorer
  • Nur lesend

Returns every firearm chambered for a cartridge, with pagination.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • Which firearms are chambered in 9mm Parabellum?
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_caliber_firearms",  "arguments": {    "id": "9x19mm-parabellum",    "per_page": 5  }}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    {  "firearms": [    {      "id": "arex-alpha",      "name": "AREX Defense Alpha",      "manufacturerId": "arex",      "categoryId": "pistol",      "yearIntroduced": null,      "status": "discontinued",      "actionType": "short_recoil",      "svgLineArtUrl": "https://api.gunspec.io/v1/firearms/arex-alpha/media/silhouette",      "model3dUrl": null,      "countryOfOrigin": "SI",      "images": [        {          "id": 2684,          "url": "https://api.gunspec.io/v1/firearms/arex-alpha/images/2684",          "kind": "silhouette",          "alt": null,          "width": null,          "height": null        },        {          "id": 27560,          "url": "https://api.gunspec.io/v1/firearms/arex-alpha/images/27560",          "kind": "render",          "alt": "AREX Defense Alpha handgun, left-side profile render",          "width": 1536,          "height": 1024        }      ]    },    {      "id": "arex-delta",      "name": "AREX Defense Delta",      "manufacturerId": "arex",      "categoryId": "pistol",      "yearIntroduced": null,      "status": "discontinued",      "actionType": "short_recoil",      "svgLineArtUrl": "https://api.gunspec.io/v1/firearms/arex-delta/media/silhouette",      "model3dUrl": null,      "countryOfOrigin": "SI",      "images": [        {          "id": 2686,          "url": "https://api.gunspec.io/v1/firearms/arex-delta/images/2686",          "kind": "silhouette",          "alt": null,          "width": null,          "height": null        },        {          "id": 14833,          "url": "https://api.gunspec.io/v1/firearms/arex-delta/images/14833",          "kind": "render",          "alt": "AREX Defense Delta handgun, left-side profile render",          "width": 1536,          "height": 1024        }      ]    },    {      "id": "arex-delta-gen-2",      "name": "AREX Defense Delta Gen.2",      "manufacturerId": "arex",      "categoryId": "pistol",      "yearIntroduced": null,      "status": "discontinued",      "actionType": "short_recoil",      "svgLineArtUrl": "https://api.gunspec.io/v1/firearms/arex-delta-gen-2/media/silhouette",      "model3dUrl": null,      "countryOfOrigin": "SI",      "images": [        {          "id": 2685,          "url": "https://api.gunspec.io/v1/firearms/arex-delta-gen-2/images/2685",          "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": "AREX Defense Delta Gen.2 handgun, left-side profile render",          "width": 1536,          "height": 1024        }      ]    }  ],  "pagination": {    "page": 1,    "limit": 5,    "per_page": 5,    "total": 1581,    "totalPages": 317  }}

    Am 22. Okt. 2026 von der Live-API erfasst. Listen und lange Texte sind für die Anzeige gekürzt.

Zugehörige Referenzen

Argumente

  • stringerforderlich

    The caliber slug, e.g. as returned by a list or search tool.

    Gesendet als
    {id}
  • integerstandard1

    Page number, from 1.

    Minimum
    1
    Gesendet als
    ?page=
  • integerstandard20

    Items per page, 1 to 100.

    Bereich
    1 – 100
    Gesendet als
    ?per_page=

Jedes Argument wird als der angegebene Parameter an GET /v1/calibers/{id}/firearms gesendet. Dieselbe Anfrage lässt sich also mit deinem Schlüssel direkt an die API stellen, wenn du bestimmen möchtest, was zurückkommt.

json
  • gunspec_list_categories
  • Explorer
  • Nur lesend

Lists the firearm categories, such as pistol, revolver, rifle, shotgun and submachine gun, with their slugs and counts.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • What categories of firearm does the catalog cover?
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_list_categories",  "arguments": {}}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    [  {    "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"  }]

    Am 22. Okt. 2026 von der Live-API erfasst. Listen und lange Texte sind für die Anzeige gekürzt.

Zugehörige Referenzen

Argumente

Keine Argumente.

json
  • gunspec_list_ammunition
  • Builder
  • Nur lesend

Lists factory loads with bullet weight, bullet type, ballistic coefficient and reference velocity. Results can be filtered by caliber.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • List some 9mm Parabellum ammunition loads.
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_list_ammunition",  "arguments": {    "caliber_id": "9x19mm-parabellum",    "per_page": 5  }}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    {  "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",      "sources": null,      "dataConfidence": null,      "version": null,      "provenance": {        "sources": [],        "sourceKinds": [],        "bestSourceKind": null,        "makerSource": null,        "evidence": "none",        "dataConfidence": null,        "verifiedAt": null,        "verifiedFields": null,        "specSource": null,        "updatedAt": "2026-02-17 05:53:36",        "version": null      },      "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",      "sources": null,      "dataConfidence": null,      "version": null,      "provenance": {        "sources": [],        "sourceKinds": [],        "bestSourceKind": null,        "makerSource": null,        "evidence": "none",        "dataConfidence": null,        "verifiedAt": null,        "verifiedFields": null,        "specSource": null,        "updatedAt": "2026-02-17 05:53:36",        "version": null      },      "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",      "sources": null,      "dataConfidence": null,      "version": null,      "provenance": {        "sources": [],        "sourceKinds": [],        "bestSourceKind": null,        "makerSource": null,        "evidence": "none",        "dataConfidence": null,        "verifiedAt": null,        "verifiedFields": null,        "specSource": null,        "updatedAt": "2026-02-17 05:53:36",        "version": null      },      "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  }}

    Am 22. Okt. 2026 von der Live-API erfasst. Listen und lange Texte sind für die Anzeige gekürzt.

Zugehörige Referenzen

Argumente

  • string

    Caliber slug.

    Gesendet als
    ?caliber_id=
  • string

    Bullet type, e.g. "fmj", "hollow-point" or "soft-point".

    Gesendet als
    ?bullet_type=
  • integerstandard1

    Page number, from 1.

    Minimum
    1
    Gesendet als
    ?page=
  • integerstandard20

    Items per page, 1 to 100.

    Bereich
    1 – 100
    Gesendet als
    ?per_page=

Jedes Argument wird als der angegebene Parameter an GET /v1/ammunition gesendet. Dieselbe Anfrage lässt sich also mit deinem Schlüssel direkt an die API stellen, wenn du bestimmen möchtest, was zurückkommt.

json
  • gunspec_ammunition_ballistics
  • Builder
  • Nur lesend

Returns velocity, energy, drop and time of flight at a set of distances for one ammunition load, adjusted for barrel length.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • Show the ballistics of Federal HST 124 grain JHP.
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_ammunition_ballistics",  "arguments": {    "id": "federal-hst-124jhp"  }}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    {  "ammunition": {    "id": "federal-hst-124jhp",    "name": "Federal Premium HST 124gr JHP",    "caliberId": "9x19mm-parabellum"  },  "barrelLengthMm": 102,  "muzzleVelocityMps": 350,  "muzzleEnergyJ": 492,  "effectiveRangeM": 182,  "terminalBallistics": {    "tkoFactor": 7.2,    "momentumKgMs": 2.81,    "sectionalDensity": 0.141,    "hatcherRSP": 36,    "energyDensityJCm2": 772.4  },  "zeroing": {    "zeroM": 25,    "sightHeightMm": 20  },  "trajectory": [    {      "distanceM": 0,      "velocityMps": 350,      "energyJ": 492,      "dropCm": 0,      "timeOfFlightS": 0,      "machNumber": 1.03,      "momentumKgMs": 2.81,      "tkoFactor": 7.2,      "energyDensityJCm2": 772.4,      "pathCm": -2    },    {      "distanceM": 50,      "velocityMps": 307,      "energyJ": 378,      "dropCm": 11.6,      "timeOfFlightS": 0.153,      "machNumber": 0.9,      "momentumKgMs": 2.46,      "tkoFactor": 6.3,      "energyDensityJCm2": 592.6,      "pathCm": -4.2    },    {      "distanceM": 100,      "velocityMps": 281,      "energyJ": 317,      "dropCm": 51.6,      "timeOfFlightS": 0.324,      "machNumber": 0.82,      "momentumKgMs": 2.26,      "tkoFactor": 5.8,      "energyDensityJCm2": 496.5,      "pathCm": -34.8    }  ]}

    Am 22. Okt. 2026 von der Live-API erfasst. Listen und lange Texte sind für die Anzeige gekürzt.

Zugehörige Referenzen

Argumente

  • stringerforderlich

    The ammunition load slug, e.g. as returned by a list or search tool.

    Gesendet als
    {id}
  • number

    Barrel length used to adjust muzzle velocity.

    Gesendet als
    ?barrel_length_mm=
  • string

    Comma-separated distances in metres, e.g. "0,50,100,200".

    Gesendet als
    ?distances=

Jedes Argument wird als der angegebene Parameter an GET /v1/ammunition/{id}/ballistics gesendet. Dieselbe Anfrage lässt sich also mit deinem Schlüssel direkt an die API stellen, wenn du bestimmen möchtest, was zurückkommt.

json
  • gunspec_stats_summary
  • Explorer
  • Nur lesend

Returns the current number of firearms, manufacturers, calibers and categories in the catalog. Use this tool for any count. Never estimate a count.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • How many firearms, manufacturers and calibers are in the catalog?
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_stats_summary",  "arguments": {}}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    {  "total_firearms": 8633,  "total_manufacturers": 1045,  "total_calibers": 781,  "countries_of_origin": 69,  "avg_confidence": 61,  "total_variants": 1329}

    Am 22. Okt. 2026 von der Live-API erfasst.

Zugehörige Referenzen

Argumente

Keine Argumente.

json
  • gunspec_changelog
  • Kein Schlüssel nötig
  • Nur lesend

Lists recent changes to the API and catalog, newest first. No API key is required.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • What has changed in the GunSpec API recently?
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_changelog",  "arguments": {    "per_page": 5  }}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    [  {    "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-25T09:17:05.621Z"  },  {    "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-25T09:17:05.621Z"  },  {    "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-25T09:17:05.621Z"  }]

    Am 22. Okt. 2026 von der Live-API erfasst. Listen und lange Texte sind für die Anzeige gekürzt.

Zugehörige Referenzen

Argumente

  • string

    Return this category only.

    Akzeptiert
    Gesendet als
    ?category=
  • integerstandard20

    Items per page, 1 to 100.

    Bereich
    1 – 100
    Gesendet als
    ?per_page=

Jedes Argument wird als der angegebene Parameter an GET /v1/changelog gesendet. Dieselbe Anfrage lässt sich also mit deinem Schlüssel direkt an die API stellen, wenn du bestimmen möchtest, was zurückkommt.

json
  • gunspec_list_attachments
  • Explorer
  • Nur lesend

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.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • List some attachments in the catalog.
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_list_attachments",  "arguments": {    "per_page": 5  }}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    {  "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",      "provenance": {        "sources": [          "https://www.lawtactical.com/ar_folding_stock_adapter_gen_3_m_p/99312.htm",          "https://www.lawtactical.com"        ],        "sourceKinds": [          {            "url": "https://www.lawtactical.com/ar_folding_stock_adapter_gen_3_m_p/99312.htm",            "kind": "manufacturer",            "archivedFrom": null,            "rank": 0,            "tier": "authority",            "basis": "maker",            "evidence": null          },          {            "url": "https://www.lawtactical.com",            "kind": "manufacturer",            "archivedFrom": null,            "rank": 0,            "tier": "authority",            "basis": "maker",            "evidence": null          }        ],        "bestSourceKind": "manufacturer",        "makerSource": "https://www.lawtactical.com/ar_folding_stock_adapter_gen_3_m_p/99312.htm",        "evidence": "maker",        "dataConfidence": 0.85,        "verifiedAt": null,        "verifiedFields": null,        "specSource": null,        "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",      "provenance": {        "sources": [          "https://www.cncwarrior.com/product-p/26603.htm",          "https://www.cncwarrior.com"        ],        "sourceKinds": [          {            "url": "https://www.cncwarrior.com/product-p/26603.htm",            "kind": "manufacturer",            "archivedFrom": null,            "rank": 0,            "tier": "authority",            "basis": "maker",            "evidence": null          },          {            "url": "https://www.cncwarrior.com",            "kind": "manufacturer",            "archivedFrom": null,            "rank": 0,            "tier": "authority",            "basis": "maker",            "evidence": null          }        ],        "bestSourceKind": "manufacturer",        "makerSource": "https://www.cncwarrior.com/product-p/26603.htm",        "evidence": "maker",        "dataConfidence": 0.95,        "verifiedAt": null,        "verifiedFields": null,        "specSource": null,        "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",      "provenance": {        "sources": [          "https://www.cncwarrior.com/M14x1-LH-to-5-8-24-RH-Muzzle-Thread-Adapter-p/24928.htm",          "https://www.cncwarrior.com"        ],        "sourceKinds": [          {            "url": "https://www.cncwarrior.com/M14x1-LH-to-5-8-24-RH-Muzzle-Thread-Adapter-p/24928.htm",            "kind": "manufacturer",            "archivedFrom": null,            "rank": 0,            "tier": "authority",            "basis": "maker",            "evidence": null          },          {            "url": "https://www.cncwarrior.com",            "kind": "manufacturer",            "archivedFrom": null,            "rank": 0,            "tier": "authority",            "basis": "maker",            "evidence": null          }        ],        "bestSourceKind": "manufacturer",        "makerSource": "https://www.cncwarrior.com/M14x1-LH-to-5-8-24-RH-Muzzle-Thread-Adapter-p/24928.htm",        "evidence": "maker",        "dataConfidence": 0.9,        "verifiedAt": null,        "verifiedFields": null,        "specSource": null,        "updatedAt": "2026-09-10 01:28:41",        "version": "22375f3b66ade4ebdfcab1b682c05fcc7cb13c500ca13161d08b9c511f206d35"      }    }  ],  "pagination": {    "page": 1,    "limit": 5,    "per_page": 5,    "total": 491,    "totalPages": 99  }}

    Am 22. Okt. 2026 von der Live-API erfasst. Listen und lange Texte sind für die Anzeige gekürzt.

Zugehörige Referenzen

Argumente

  • string

    Attachment category, e.g. "suppressor", "optic", "magazine", "grip" or "stock".

    Gesendet als
    ?category=
  • string

    Manufacturer slug.

    Gesendet als
    ?manufacturer=
  • string

    Return only attachments that fit this firearm slug. Requires the Studio plan.

    Gesendet als
    ?fits=
  • string

    Return only attachments that require this interface standard id, e.g. "thread:1/2x28".

    Gesendet als
    ?requires=
  • string

    Text to match within the attachment name.

    Gesendet als
    ?q=
  • boolean

    Set to true for factory parts only, or false for aftermarket parts only.

    Gesendet als
    ?factory=
  • string

    Production status.

    Akzeptiert
    Gesendet als
    ?status=
  • integerstandard1

    Page number, from 1.

    Minimum
    1
    Gesendet als
    ?page=
  • integerstandard20

    Items per page, 1 to 100.

    Bereich
    1 – 100
    Gesendet als
    ?per_page=

Jedes Argument wird als der angegebene Parameter an GET /v1/attachments gesendet. Dieselbe Anfrage lässt sich also mit deinem Schlüssel direkt an die API stellen, wenn du bestimmen möchtest, was zurückkommt.

json
  • gunspec_get_attachment
  • Explorer
  • Nur lesend

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.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • Tell me about the SureFire SOCOM556-RC2 suppressor.
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_get_attachment",  "arguments": {    "id": "surefire-socom556-rc2"  }}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    {  "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",  "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",        "archivedFrom": null,        "rank": 0,        "tier": "authority",        "basis": "declared",        "evidence": null      },      {        "url": "https://www.surefire.com/products/suppressors/socom556-rc2/",        "kind": "manufacturer",        "archivedFrom": null,        "rank": 0,        "tier": "authority",        "basis": "declared",        "evidence": null      }    ],    "bestSourceKind": "manufacturer",    "makerSource": "https://www.surefire.com/socom556-rc2/",    "evidence": "maker",    "dataConfidence": 0.95,    "verifiedAt": null,    "verifiedFields": null,    "specSource": null,    "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": "qd:surefire-socom-556",        "name": "SureFire SOCOM 5.56 fast-attach mount",        "kind": "suppressor_mount"      }    ]  ],  "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"}

    Am 22. Okt. 2026 von der Live-API erfasst. Listen und lange Texte sind für die Anzeige gekürzt.

Zugehörige Referenzen

Argumente

  • stringerforderlich

    The attachment slug, e.g. as returned by a list or search tool.

    Gesendet als
    {id}

Jedes Argument wird als der angegebene Parameter an GET /v1/attachments/{id} gesendet. Dieselbe Anfrage lässt sich also mit deinem Schlüssel direkt an die API stellen, wenn du bestimmen möchtest, was zurückkommt.

json
  • gunspec_firearm_attachments
  • Studio
  • Nur lesend

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.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • Which attachments fit a Glock 17?
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_firearm_attachments",  "arguments": {    "id": "glock-g17"  }}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    {  "firearm": {    "id": "glock-g17",    "name": "Glock 17"  },  "platforms": [    {      "id": "glock-gen3-4-9mm",      "name": "Glock Gen3 and Gen4 9x19 double-stack"    }  ],  "interfaces": [    {      "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    },    {      "position": "trigger",      "standardId": "trigger:glock",      "name": "Glock trigger housing and bar",      "kind": "trigger_pocket",      "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",          "provenance": {            "sources": [              "https://store.glock.us/glock-bold-sights-by-ameriglo",              "https://www.ameriglo.com"            ],            "sourceKinds": [              {                "url": "https://store.glock.us/glock-bold-sights-by-ameriglo",                "kind": "other",                "archivedFrom": null,                "rank": 9,                "tier": "unclassified",                "basis": "unclassified",                "evidence": null              },              {                "url": "https://www.ameriglo.com",                "kind": "manufacturer",                "archivedFrom": null,                "rank": 0,                "tier": "authority",                "basis": "maker",                "evidence": null              }            ],            "bestSourceKind": "manufacturer",            "makerSource": null,            "evidence": "authority",            "dataConfidence": 0.9,            "verifiedAt": null,            "verifiedFields": null,            "specSource": null,            "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,          "routes": [            {              "fitType": "direct",              "adapter": null,              "via": [                {                  "position": "sights",                  "standardId": "dovetail:glock",                  "source": "inherited:platform",                  "adapterId": null                }              ],              "confidence": 1,              "source": "inherited:platform",              "adapterConfidence": null,              "caveats": []            }          ],          "caveats": []        },        {          "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",          "provenance": {            "sources": [              "https://www.nightfision.com/product/night-fision-perfect-dot-tritium-night-sights-for-glock-new",              "https://www.nightfision.com"            ],            "sourceKinds": [              {                "url": "https://www.nightfision.com/product/night-fision-perfect-dot-tritium-night-sights-for-glock-new",                "kind": "manufacturer",                "archivedFrom": null,                "rank": 0,                "tier": "authority",                "basis": "maker",                "evidence": null              },              {                "url": "https://www.nightfision.com",                "kind": "manufacturer",                "archivedFrom": null,                "rank": 0,                "tier": "authority",                "basis": "maker",                "evidence": null              }            ],            "bestSourceKind": "manufacturer",            "makerSource": "https://www.nightfision.com/product/night-fision-perfect-dot-tritium-night-sights-for-glock-new",            "evidence": "maker",            "dataConfidence": 0.9,            "verifiedAt": null,            "verifiedFields": null,            "specSource": null,            "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,          "routes": [            {              "fitType": "direct",              "adapter": null,              "via": [                {                  "position": "sights",                  "standardId": "dovetail:glock",                  "source": "inherited:platform",                  "adapterId": null                }              ],              "confidence": 1,              "source": "inherited:platform",              "adapterConfidence": null,              "caveats": []            }          ],          "caveats": []        },        {          "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",          "provenance": {            "sources": [              "https://www.trijicon.com/products/details/gl601-c-600836",              "https://www.trijicon.com"            ],            "sourceKinds": [              {                "url": "https://www.trijicon.com/products/details/gl601-c-600836",                "kind": "manufacturer",                "archivedFrom": null,                "rank": 0,                "tier": "authority",                "basis": "declared",                "evidence": null              },              {                "url": "https://www.trijicon.com",                "kind": "manufacturer",                "archivedFrom": null,                "rank": 0,                "tier": "authority",                "basis": "declared",                "evidence": null              }            ],            "bestSourceKind": "manufacturer",            "makerSource": "https://www.trijicon.com/products/details/gl601-c-600836",            "evidence": "maker",            "dataConfidence": 0.9,            "verifiedAt": null,            "verifiedFields": null,            "specSource": null,            "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,          "routes": [            {              "fitType": "direct",              "adapter": null,              "via": [                {                  "position": "sights",                  "standardId": "dovetail:glock",                  "source": "inherited:platform",                  "adapterId": null                }              ],              "confidence": 1,              "source": "inherited:platform",              "adapterConfidence": null,              "caveats": []            }          ],          "caveats": []        }      ]    },    {      "category": "laser",      "items": [        {          "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",          "provenance": {            "sources": [              "https://www.crimsontrace.com/products/tactical-lights/rail-master/cmr-205-rail-master-pro-universal-red-laser-sight-tactical-light/01-4250-1.html",              "https://www.crimsontrace.com"            ],            "sourceKinds": [              {                "url": "https://www.crimsontrace.com/products/tactical-lights/rail-master/cmr-205-rail-master-pro-universal-red-laser-sight-tactical-light/01-4250-1.html",                "kind": "manufacturer",                "archivedFrom": null,                "rank": 0,                "tier": "authority",                "basis": "maker",                "evidence": null              },              {                "url": "https://www.crimsontrace.com",                "kind": "manufacturer",                "archivedFrom": null,                "rank": 0,                "tier": "authority",                "basis": "maker",                "evidence": null              }            ],            "bestSourceKind": "manufacturer",            "makerSource": "https://www.crimsontrace.com/products/tactical-lights/rail-master/cmr-205-rail-master-pro-universal-red-laser-sight-tactical-light/01-4250-1.html",            "evidence": "maker",            "dataConfidence": 0.9,            "verifiedAt": null,            "verifiedFields": null,            "specSource": null,            "updatedAt": "2026-09-10 01:28:45",            "version": "eeef09a694dffd856399a29ae1402f7698da2697a46eb35701fae26edef6a295"          },          "fits": true,          "fitType": "direct",          "via": [            {              "position": "underbarrel",              "standardId": "rail:glock-universal",              "source": "inherited:platform",              "adapterId": null            }          ],          "adapter": null,          "confidence": 0.9,          "source": "inherited:platform",          "reason": "Mounts on Glock Universal accessory rail (underbarrel)",          "blockedBy": null,          "routes": [            {              "fitType": "direct",              "adapter": null,              "via": [                {                  "position": "underbarrel",                  "standardId": "rail:glock-universal",                  "source": "inherited:platform",                  "adapterId": null                }              ],              "confidence": 0.9,              "source": "inherited:platform",              "adapterConfidence": null,              "caveats": []            }          ],          "caveats": []        },        {          "id": "nightstick-twm-30-gl",          "name": "Nightstick TWM-30-GL",          "category": "laser",          "manufacturer": {            "id": "nightstick",            "name": "Nightstick"          },          "modelNumber": "TWM-30-GL",          "weightG": 159,          "lengthMm": 98,          "capacity": null,          "boreDiameterMm": null,          "requiresPosition": "underbarrel",          "isFactoryPart": false,          "factoryFor": null,          "provides": [],          "statMods": {            "accuracy": 3,            "concealment": -3,            "mobility": -1          },          "specDeltas": {},          "imageUrl": "https://assets.gunspec.io/content/attachments/laser/nightstick-twm-30-gl/01-product.webp",          "status": "in_production",          "dataConfidence": 0.9,          "updatedAt": "2026-09-10 01:28:45",          "version": "bf7573c9ae59665fb64c759070f7189a5664240efccb25fcda2f639f2d8f5414",          "provenance": {            "sources": [              "https://www.nightstick.com/products/twm-30-gl",              "https://www.nightstick.com"            ],            "sourceKinds": [              {                "url": "https://www.nightstick.com/products/twm-30-gl",                "kind": "manufacturer",                "archivedFrom": null,                "rank": 0,                "tier": "authority",                "basis": "maker",                "evidence": null              },              {                "url": "https://www.nightstick.com",                "kind": "manufacturer",                "archivedFrom": null,                "rank": 0,                "tier": "authority",                "basis": "maker",                "evidence": null              }            ],            "bestSourceKind": "manufacturer",            "makerSource": "https://www.nightstick.com/products/twm-30-gl",            "evidence": "maker",            "dataConfidence": 0.9,            "verifiedAt": null,            "verifiedFields": null,            "specSource": null,            "updatedAt": "2026-09-10 01:28:45",            "version": "bf7573c9ae59665fb64c759070f7189a5664240efccb25fcda2f639f2d8f5414"          },          "fits": true,          "fitType": "direct",          "via": [            {              "position": "underbarrel",              "standardId": "rail:glock-universal",              "source": "inherited:platform",              "adapterId": null            }          ],          "adapter": null,          "confidence": 0.9,          "source": "inherited:platform",          "reason": "Mounts on Glock Universal accessory rail (underbarrel)",          "blockedBy": null,          "routes": [            {              "fitType": "direct",              "adapter": null,              "via": [                {                  "position": "underbarrel",                  "standardId": "rail:glock-universal",                  "source": "inherited:platform",                  "adapterId": null                }              ],              "confidence": 0.9,              "source": "inherited:platform",              "adapterConfidence": null,              "caveats": []            }          ],          "caveats": []        },        {          "id": "streamlight-tlr-10",          "name": "Streamlight TLR-10",          "category": "laser",          "manufacturer": {            "id": "streamlight",            "name": "Streamlight, Inc."          },          "modelNumber": null,          "weightG": 131,          "lengthMm": 98,          "capacity": null,          "boreDiameterMm": null,          "requiresPosition": "underbarrel",          "isFactoryPart": false,          "factoryFor": null,          "provides": [],          "statMods": {            "accuracy": 3,            "concealment": -3,            "mobility": -1          },          "specDeltas": {},          "imageUrl": "https://assets.gunspec.io/content/attachments/laser/streamlight-tlr-10/01-product.webp",          "status": "in_production",          "dataConfidence": 0.9,          "updatedAt": "2026-09-10 01:28:48",          "version": "0d340b2a16e8c260ecc96c9248dfa2370e2a58c735b30e6af5f0bf231e7a1693",          "provenance": {            "sources": [              "https://www.streamlight.com/products/detail/tlr-10",              "https://www.streamlight.com"            ],            "sourceKinds": [              {                "url": "https://www.streamlight.com/products/detail/tlr-10",                "kind": "manufacturer",                "archivedFrom": null,                "rank": 0,                "tier": "authority",                "basis": "maker",                "evidence": null              },              {                "url": "https://www.streamlight.com",                "kind": "manufacturer",                "archivedFrom": null,                "rank": 0,                "tier": "authority",                "basis": "maker",                "evidence": null              }            ],            "bestSourceKind": "manufacturer",            "makerSource": "https://www.streamlight.com/products/detail/tlr-10",            "evidence": "maker",            "dataConfidence": 0.9,            "verifiedAt": null,            "verifiedFields": null,            "specSource": null,            "updatedAt": "2026-09-10 01:28:48",            "version": "0d340b2a16e8c260ecc96c9248dfa2370e2a58c735b30e6af5f0bf231e7a1693"          },          "fits": true,          "fitType": "direct",          "via": [            {              "position": "underbarrel",              "standardId": "rail:glock-universal",              "source": "inherited:platform",              "adapterId": null            }          ],          "adapter": null,          "confidence": 0.9,          "source": "inherited:platform",          "reason": "Mounts on Glock Universal accessory rail (underbarrel)",          "blockedBy": null,          "routes": [            {              "fitType": "direct",              "adapter": null,              "via": [                {                  "position": "underbarrel",                  "standardId": "rail:glock-universal",                  "source": "inherited:platform",                  "adapterId": null                }              ],              "confidence": 0.9,              "source": "inherited:platform",              "adapterConfidence": null,              "caveats": []            }          ],          "caveats": []        }      ]    },    {      "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",          "provenance": {            "sources": [              "https://clouddefensive.com/products/cloud-defensive-epl-duty-black-copy-1",              "https://clouddefensive.com/products/cloud-defensive-epl-duty-fde",              "https://clouddefensive.com"            ],            "sourceKinds": [              {                "url": "https://clouddefensive.com/products/cloud-defensive-epl-duty-black-copy-1",                "kind": "manufacturer",                "archivedFrom": null,                "rank": 0,                "tier": "authority",                "basis": "maker",                "evidence": null              },              {                "url": "https://clouddefensive.com/products/cloud-defensive-epl-duty-fde",                "kind": "manufacturer",                "archivedFrom": null,                "rank": 0,                "tier": "authority",                "basis": "maker",                "evidence": null              },              {                "url": "https://clouddefensive.com",                "kind": "manufacturer",                "archivedFrom": null,                "rank": 0,                "tier": "authority",                "basis": "maker",                "evidence": null              }            ],            "bestSourceKind": "manufacturer",            "makerSource": "https://clouddefensive.com/products/cloud-defensive-epl-duty-black-copy-1",            "evidence": "maker",            "dataConfidence": 0.9,            "verifiedAt": null,            "verifiedFields": null,            "specSource": null,            "updatedAt": "2026-09-10 01:28:48",            "version": "e6dc089b1b4dee0aa83ad107e19815e5a7f70021b1d45358e158cffef1bc4b7c"          },          "fits": true,          "fitType": "direct",          "via": [            {              "position": "underbarrel",              "standardId": "rail:glock-universal",              "source": "inherited:platform",              "adapterId": null            }          ],          "adapter": null,          "confidence": 0.9,          "source": "inherited:platform",          "reason": "Mounts on Glock Universal accessory rail (underbarrel)",          "blockedBy": null,          "routes": [            {              "fitType": "direct",              "adapter": null,              "via": [                {                  "position": "underbarrel",                  "standardId": "rail:glock-universal",                  "source": "inherited:platform",                  "adapterId": null                }              ],              "confidence": 0.9,              "source": "inherited:platform",              "adapterConfidence": null,              "caveats": []            }          ],          "caveats": []        },        {          "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",          "provenance": {            "sources": [              "https://inforcelights.com/products/wild1-weapon-light",              "https://inforcelights.com"            ],            "sourceKinds": [              {                "url": "https://inforcelights.com/products/wild1-weapon-light",                "kind": "manufacturer",                "archivedFrom": null,                "rank": 0,                "tier": "authority",                "basis": "maker",                "evidence": null              },              {                "url": "https://inforcelights.com",                "kind": "manufacturer",                "archivedFrom": null,                "rank": 0,                "tier": "authority",                "basis": "maker",                "evidence": null              }            ],            "bestSourceKind": "manufacturer",            "makerSource": "https://inforcelights.com/products/wild1-weapon-light",            "evidence": "maker",            "dataConfidence": 0.95,            "verifiedAt": null,            "verifiedFields": null,            "specSource": null,            "updatedAt": "2026-09-10 01:28:48",            "version": "afab32e26977e597cfcf35b5d64bc05469eee3202492e8764acfc227207d2fba"          },          "fits": true,          "fitType": "direct",          "via": [            {              "position": "underbarrel",              "standardId": "rail:glock-universal",              "source": "inherited:platform",              "adapterId": null            }          ],          "adapter": null,          "confidence": 0.9,          "source": "inherited:platform",          "reason": "Mounts on Glock Universal accessory rail (underbarrel)",          "blockedBy": null,          "routes": [            {              "fitType": "direct",              "adapter": null,              "via": [                {                  "position": "underbarrel",                  "standardId": "rail:glock-universal",                  "source": "inherited:platform",                  "adapterId": null                }              ],              "confidence": 0.9,              "source": "inherited:platform",              "adapterConfidence": null,              "caveats": []            }          ],          "caveats": []        },        {          "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",          "provenance": {            "sources": [              "https://inforcelights.com/products/wild2-weapon-light",              "https://inforcelights.com"            ],            "sourceKinds": [              {                "url": "https://inforcelights.com/products/wild2-weapon-light",                "kind": "manufacturer",                "archivedFrom": null,                "rank": 0,                "tier": "authority",                "basis": "maker",                "evidence": null              },              {                "url": "https://inforcelights.com",                "kind": "manufacturer",                "archivedFrom": null,                "rank": 0,                "tier": "authority",                "basis": "maker",                "evidence": null              }            ],            "bestSourceKind": "manufacturer",            "makerSource": "https://inforcelights.com/products/wild2-weapon-light",            "evidence": "maker",            "dataConfidence": 0.95,            "verifiedAt": null,            "verifiedFields": null,            "specSource": null,            "updatedAt": "2026-09-10 01:28:48",            "version": "23ca2d024c21ac49117d81ace6e9da3ea6e0d3ce2070c0be92fe3716395e69a7"          },          "fits": true,          "fitType": "direct",          "via": [            {              "position": "underbarrel",              "standardId": "rail:glock-universal",              "source": "inherited:platform",              "adapterId": null            }          ],          "adapter": null,          "confidence": 0.9,          "source": "inherited:platform",          "reason": "Mounts on Glock Universal accessory rail (underbarrel)",          "blockedBy": null,          "routes": [            {              "fitType": "direct",              "adapter": null,              "via": [                {                  "position": "underbarrel",                  "standardId": "rail:glock-universal",                  "source": "inherited:platform",                  "adapterId": null                }              ],              "confidence": 0.9,              "source": "inherited:platform",              "adapterConfidence": null,              "caveats": []            }          ],          "caveats": []        }      ]    }  ],  "counts": {    "iron_sight": 4,    "laser": 9,    "light": 19,    "magazine": 8,    "trigger": 3  },  "total": 43,  "offers": null}

    Am 22. Okt. 2026 von der Live-API erfasst. Listen und lange Texte sind für die Anzeige gekürzt.

Zugehörige Referenzen

Argumente

  • stringerforderlich

    The firearm slug, e.g. as returned by a list or search tool.

    Gesendet als
    {id}
  • string

    Return this attachment category only.

    Gesendet als
    ?category=
  • string

    Set to "all" to also return candidates that do not fit, each with blockedBy.

    Akzeptiert
    Gesendet als
    ?include=
  • number

    Hides fits computed through interfaces below this confidence (0 to 1).

    Bereich
    0 – 1
    Gesendet als
    ?min_confidence=

Jedes Argument wird als der angegebene Parameter an GET /v1/firearms/{id}/attachments gesendet. Dieselbe Anfrage lässt sich also mit deinem Schlüssel direkt an die API stellen, wenn du bestimmen möchtest, was zurückkommt.

json
  • gunspec_firearm_interfaces
  • Studio
  • Nur lesend

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.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • What mounting interfaces does the Glock 17 have?
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_firearm_interfaces",  "arguments": {    "id": "glock-g17"  }}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    {  "firearm": {    "id": "glock-g17",    "name": "Glock 17"  },  "platforms": [    {      "id": "glock-gen3-4-9mm",      "name": "Glock Gen3 and Gen4 9x19 double-stack"    }  ],  "interfaces": [    {      "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    },    {      "position": "trigger",      "standardId": "trigger:glock",      "name": "Glock trigger housing and bar",      "kind": "trigger_pocket",      "source": "inherited:platform",      "confidence": 1,      "inheritedFrom": "glock-gen3-4-9mm",      "notes": null    }  ]}

    Am 22. Okt. 2026 von der Live-API erfasst. Listen und lange Texte sind für die Anzeige gekürzt.

Zugehörige Referenzen

Argumente

  • stringerforderlich

    The firearm slug, e.g. as returned by a list or search tool.

    Gesendet als
    {id}

Jedes Argument wird als der angegebene Parameter an GET /v1/firearms/{id}/interfaces gesendet. Dieselbe Anfrage lässt sich also mit deinem Schlüssel direkt an die API stellen, wenn du bestimmen möchtest, was zurückkommt.

json
  • gunspec_attachment_firearms
  • Studio
  • Nur lesend

Returns every firearm that one attachment fits, with the supporting evidence for each. Requires the Studio plan.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • Which firearms does the SureFire SOCOM556-RC2 fit?
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_attachment_firearms",  "arguments": {    "id": "surefire-socom556-rc2",    "per_page": 5  }}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    {  "firearms": [    {      "id": "2a-balios-lite-blr-16",      "name": "2A Armament Balios Lite BLR-16",      "fitType": "adapter",      "source": "inferred",      "confidence": 0.6,      "reason": "Fits with SureFire SF3P-556 (1/2-28) (SureFire SOCOM 5.56 fast-attach mount, muzzle), or 3 other routes",      "via": [        {          "position": "muzzle",          "standardId": "qd:surefire-socom-556",          "source": "inferred",          "adapterId": "surefire-sf3p-556"        }      ],      "adapter": {        "id": "surefire-sf3p-556",        "name": "SureFire SF3P-556 (1/2-28)"      },      "manufacturer": {        "id": "2a-armament",        "name": "2A Armament"      },      "category": "Rifle",      "svgLineArtUrl": "https://api.gunspec.io/v1/firearms/2a-balios-lite-blr-16/media/silhouette",      "yearIntroduced": 2014,      "images": [        {          "id": 9850,          "url": "https://api.gunspec.io/v1/firearms/2a-balios-lite-blr-16/images/9850",          "kind": "silhouette",          "alt": null,          "width": null,          "height": null        },        {          "id": 5976,          "url": "https://api.gunspec.io/v1/firearms/2a-balios-lite-blr-16/images/5976",          "kind": "render",          "alt": "2A Armament Balios Lite BLR-16 rifle, left-side profile render",          "width": 1536,          "height": 1024        }      ]    },    {      "id": "2a-balios-lite-blr-carbon",      "name": "2A Armament Balios Lite BLR-Carbon",      "fitType": "adapter",      "source": "inferred",      "confidence": 0.6,      "reason": "Fits with SureFire SF3P-556 (1/2-28) (SureFire SOCOM 5.56 fast-attach mount, muzzle), or 3 other routes",      "via": [        {          "position": "muzzle",          "standardId": "qd:surefire-socom-556",          "source": "inferred",          "adapterId": "surefire-sf3p-556"        }      ],      "adapter": {        "id": "surefire-sf3p-556",        "name": "SureFire SF3P-556 (1/2-28)"      },      "manufacturer": {        "id": "2a-armament",        "name": "2A Armament"      },      "category": "Rifle",      "svgLineArtUrl": "https://api.gunspec.io/v1/firearms/2a-balios-lite-blr-carbon/media/silhouette",      "yearIntroduced": 2015,      "images": [        {          "id": 9851,          "url": "https://api.gunspec.io/v1/firearms/2a-balios-lite-blr-carbon/images/9851",          "kind": "silhouette",          "alt": null,          "width": null,          "height": null        },        {          "id": 5977,          "url": "https://api.gunspec.io/v1/firearms/2a-balios-lite-blr-carbon/images/5977",          "kind": "render",          "alt": "2A Armament Balios Lite BLR-Carbon rifle, left-side profile render",          "width": 1536,          "height": 1024        }      ]    },    {      "id": "angstadt-udp-556",      "name": "Angstadt Arms UDP-556",      "fitType": "adapter",      "source": "inferred",      "confidence": 0.6,      "reason": "Fits with SureFire SF3P-556 (1/2-28) (SureFire SOCOM 5.56 fast-attach mount, muzzle), or 3 other routes",      "via": [        {          "position": "muzzle",          "standardId": "qd:surefire-socom-556",          "source": "inferred",          "adapterId": "surefire-sf3p-556"        }      ],      "adapter": {        "id": "surefire-sf3p-556",        "name": "SureFire SF3P-556 (1/2-28)"      },      "manufacturer": {        "id": "angstadt-arms",        "name": "Angstadt Arms"      },      "category": "Pistol",      "svgLineArtUrl": "https://api.gunspec.io/v1/firearms/angstadt-udp-556/media/silhouette",      "yearIntroduced": 2017,      "images": [        {          "id": 9910,          "url": "https://api.gunspec.io/v1/firearms/angstadt-udp-556/images/9910",          "kind": "silhouette",          "alt": null,          "width": null,          "height": null        },        {          "id": 14797,          "url": "https://api.gunspec.io/v1/firearms/angstadt-udp-556/images/14797",          "kind": "render",          "alt": "Angstadt Arms UDP-556 handgun, left-side profile render",          "width": 1536,          "height": 1024        }      ]    }  ],  "pagination": {    "page": 1,    "limit": 5,    "per_page": 5,    "total": 113,    "totalPages": 23  }}

    Am 22. Okt. 2026 von der Live-API erfasst. Listen und lange Texte sind für die Anzeige gekürzt.

Zugehörige Referenzen

Argumente

  • stringerforderlich

    The attachment slug, e.g. as returned by a list or search tool.

    Gesendet als
    {id}
  • integerstandard1

    Page number, from 1.

    Minimum
    1
    Gesendet als
    ?page=
  • integerstandard20

    Items per page, 1 to 100.

    Bereich
    1 – 100
    Gesendet als
    ?per_page=

Jedes Argument wird als der angegebene Parameter an GET /v1/attachments/{id}/firearms gesendet. Dieselbe Anfrage lässt sich also mit deinem Schlüssel direkt an die API stellen, wenn du bestimmen möchtest, was zurückkommt.

json
  • gunspec_list_interfaces
  • Explorer
  • Nur lesend

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".

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • Which mount standards does the catalog track?
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_list_interfaces",  "arguments": {}}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    [  {    "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  }]

    Am 22. Okt. 2026 von der Live-API erfasst. Listen und lange Texte sind für die Anzeige gekürzt.

Zugehörige Referenzen

Argumente

  • string

    Return this interface kind only, e.g. "thread", "rail", "mag", "optic" or "stock".

    Gesendet als
    ?kind=

Jedes Argument wird als der angegebene Parameter an GET /v1/interfaces gesendet. Dieselbe Anfrage lässt sich also mit deinem Schlüssel direkt an die API stellen, wenn du bestimmen möchtest, was zurückkommt.

json
  • gunspec_list_platforms
  • Studio
  • Nur lesend

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.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • Which firearm platforms share parts?
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_list_platforms",  "arguments": {}}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    [  {    "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": 7  },  {    "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  }]

    Am 22. Okt. 2026 von der Live-API erfasst. Listen und lange Texte sind für die Anzeige gekürzt.

Zugehörige Referenzen

Argumente

Keine Argumente.

json
  • gunspec_get_platform
  • Studio
  • Nur lesend

Returns one platform's interface rows and its member firearms. Requires the Studio plan.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • What is the AK-100 platform, and which firearms belong to it?
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_get_platform",  "arguments": {    "id": "ak-100"  }}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    {  "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"    }  ]}

    Am 22. Okt. 2026 von der Live-API erfasst. Listen und lange Texte sind für die Anzeige gekürzt.

Zugehörige Referenzen

Argumente

  • stringerforderlich

    The platform slug, e.g. as returned by a list or search tool.

    Gesendet als
    {id}

Jedes Argument wird als der angegebene Parameter an GET /v1/platforms/{id} gesendet. Dieselbe Anfrage lässt sich also mit deinem Schlüssel direkt an die API stellen, wenn du bestimmen möchtest, was zurückkommt.

json
  • gunspec_firearm_offers
  • Explorer
  • Nur lesend

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.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • Where can I buy a Glock 17?
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_firearm_offers",  "arguments": {    "id": "glock-g17"  }}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    []

    Am 22. Okt. 2026 von der Live-API erfasst.

Zugehörige Referenzen

Argumente

  • stringerforderlich

    The firearm slug, e.g. as returned by a list or search tool.

    Gesendet als
    {id}
  • 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.

    Gesendet als
    ?region=

Jedes Argument wird als der angegebene Parameter an GET /v1/firearms/{id}/offers gesendet. Dieselbe Anfrage lässt sich also mit deinem Schlüssel direkt an die API stellen, wenn du bestimmen möchtest, was zurückkommt.

json
  • gunspec_attachment_offers
  • Explorer
  • Nur lesend

Lists sellers currently offering an attachment, with price, stock and an outbound link. The same rules apply as for gunspec_firearm_offers.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • Where can I buy a SureFire SOCOM556-RC2?
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_attachment_offers",  "arguments": {    "id": "surefire-socom556-rc2"  }}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    []

    Am 22. Okt. 2026 von der Live-API erfasst.

Zugehörige Referenzen

Argumente

  • stringerforderlich

    The attachment slug, e.g. as returned by a list or search tool.

    Gesendet als
    {id}
  • string

    ISO 3166-1 alpha-2 country code. Hides sellers who do not ship to that country.

    Gesendet als
    ?region=

Jedes Argument wird als der angegebene Parameter an GET /v1/attachments/{id}/offers gesendet. Dieselbe Anfrage lässt sich also mit deinem Schlüssel direkt an die API stellen, wenn du bestimmen möchtest, was zurückkommt.

json
  • gunspec_api_operation
  • Explorer
  • Nur lesend

Returns what the GunSpec API reference documents for an endpoint: its parameters and accepted values, the plan it needs, whether a key is required, caching, every error status with the error.reason values to branch on, and the languages a sample is printed in. Use this tool before writing or explaining code that calls the GunSpec API, instead of recalling parameters. The path may be a template (/v1/firearms/{id}), a concrete path or a URL; a partial path such as /v1/vendor lists the operations under it.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • What parameters does the GunSpec endpoint for a single firearm take, and what errors can it return?
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_api_operation",  "arguments": {    "path": "/v1/firearms/{id}",    "method": "GET"  }}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    {  "matched": "exact",  "specVersion": "1.1.0",  "operations": [    {      "method": "GET",      "path": "/v1/firearms/{id}",      "title": "Get Firearm",      "description": "Returns the full specification for a single firearm, including its manufacturer, category, calibers, images, and known users.",      "tier": "builder",      "auth": "required",      "cacheable": true,      "docsUrl": "https://docs.gunspec.io/en/api/firearms/detail",      "parameters": [        {          "name": "id",          "in": "path",          "type": "string",          "required": true,          "description": "Resource slug ID",          "accepts": null,          "default": null,          "minimum": null,          "maximum": null        },        {          "name": "If-None-Match",          "in": "header",          "type": "string",          "required": false,          "description": "The `ETag` from a previous response. If the body would be byte-identical, the API answers `304 Not Modified` with no body. A 304 counts toward the per-minute rate limit but not the daily request allowance.",          "accepts": null,          "default": null,          "minimum": null,          "maximum": null        }      ],      "requestBody": null,      "success": {        "status": 200,        "contentType": "application/json"      },      "errors": [        {          "status": 400,          "message": "Validation error",          "code": "VALIDATION_ERROR",          "reasons": [            "INVALID_PARAMETER",            "INVALID_JSON",            "INVALID_REQUEST"          ]        },        {          "status": 401,          "message": "API key required",          "code": "UNAUTHORIZED",          "reasons": [            "AUTH_REQUIRED",            "KEY_MISSING",            "KEY_INVALID"          ]        },        {          "status": 403,          "message": "Valid key, not permitted",          "code": "FORBIDDEN",          "reasons": [            "PLAN_REQUIRED",            "ACCOUNT_SUSPENDED",            "KEY_ON_HOLD"          ]        }      ],      "notes": [        "Requires an API key with **Builder** tier or higher.",        "`alternateNames`, `firingModes`, `safetyMechanisms`, `features`, `feedSystems`, `sources`, `conflicts` and `productionNumbers` are arrays and objects, not strings. They were served as JSON text and had to be parsed by the caller; a cell tha…",        "`conflicts` contains objects with `name`, `years`, and `sides` (array of belligerent strings)."      ],      "sampleLanguages": [        "curl",        "javascript",        "python"      ],      "sdk": [        {          "typescript": "client.firearms.get(id)",          "python": "client.firearms.get(id: str)"        }      ]    }  ]}

    Am 22. Okt. 2026 von der Live-API erfasst. Listen und lange Texte sind für die Anzeige gekürzt.

Zugehörige Referenzen

Argumente

  • stringerforderlich

    The endpoint path, e.g. "/v1/firearms/{id}", "/v1/firearms/glock-g17" or a full URL.

    Gesendet als
    ?path=
  • string

    HTTP method, when the path answers more than one.

    Akzeptiert
    Gesendet als
    ?method=

Jedes Argument wird als der angegebene Parameter an GET /v1/docs/operations gesendet. Dieselbe Anfrage lässt sich also mit deinem Schlüssel direkt an die API stellen, wenn du bestimmen möchtest, was zurückkommt.

json
  • gunspec_code_sample
  • Explorer
  • Nur lesend

Returns the code sample the GunSpec API reference prints for an endpoint in one language, exactly as printed, with when it was last checked against production. Languages: curl, javascript (TypeScript with fetch), python (requests), unity, unreal, godot, sdk-typescript and sdk-python for the official SDKs. Use this tool when the user wants code that calls the GunSpec API, and give them the sample as returned rather than writing one. Replace your_key with the user's key as the keyNote says.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • Show me how to list firearms from the GunSpec API in Python.
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_code_sample",  "arguments": {    "path": "/v1/firearms",    "method": "GET",    "language": "python"  }}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    {  "method": "GET",  "path": "/v1/firearms",  "tier": "explorer",  "docsUrl": "https://docs.gunspec.io/en/api/firearms/list",  "language": "python",  "keyNote": "Replace your_key with a GunSpec API key, sent as the X-API-Key header (Authorization: Bearer also works).",  "samples": [    {      "label": "Python (requests)",      "code": "import requests\n\nheaders = {\"X-API-Key\": \"your_key\"}\nres = requests.get(\"https://api.gunspec.io/v1/firearms?category=pistol\", headers=headers)\ndata = res.json()[\"data\"]\nprint(data)",      "verification": {        "status": "passed",        "checkKind": "executed",        "ranAt": "2026-10-19T09:23:32.942Z"      },      "note": null    }  ]}

    Am 22. Okt. 2026 von der Live-API erfasst.

Zugehörige Referenzen

Argumente

  • stringerforderlich

    The endpoint path, e.g. "/v1/firearms" or "/v1/firearms/{id}".

    Gesendet als
    ?path=
  • string

    HTTP method, when the path answers more than one.

    Akzeptiert
    Gesendet als
    ?method=
  • stringerforderlich

    The language or SDK the sample is wanted in.

    Akzeptiert
    Gesendet als
    ?language=

Jedes Argument wird als der angegebene Parameter an GET /v1/docs/samples gesendet. Dieselbe Anfrage lässt sich also mit deinem Schlüssel direkt an die API stellen, wenn du bestimmen möchtest, was zurückkommt.

json
  • gunspec_plan_limits
  • Explorer
  • Nur lesend

Returns what each GunSpec plan allows, from the configuration the API enforces: requests per minute, per day and per month, MCP calls per day, paging depth, whether lists include a total count, how long to wait after a 429, and the headers a key is sent in. Use this tool for any question about rate limits, quotas or which plan a workload needs. Never estimate a limit.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • How many requests a minute and a day does each GunSpec plan allow?
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_plan_limits",  "arguments": {}}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    {  "plans": [    {      "tier": "explorer",      "name": "Explorer",      "priceUsdCentsPerMonth": 0,      "requestsPerMinute": 10,      "requestsPerDay": 50,      "requestsPerMonth": 200,      "mcpCallsPerDay": 20,      "maxPage": 5,      "totalCountInLists": false    },    {      "tier": "builder",      "name": "Builder",      "priceUsdCentsPerMonth": 2900,      "requestsPerMinute": 60,      "requestsPerDay": 5000,      "requestsPerMonth": 25000,      "mcpCallsPerDay": 500,      "maxPage": 25,      "totalCountInLists": true    },    {      "tier": "studio",      "name": "Studio",      "priceUsdCentsPerMonth": 7900,      "requestsPerMinute": 120,      "requestsPerDay": 10000,      "requestsPerMonth": 150000,      "mcpCallsPerDay": 2500,      "maxPage": null,      "totalCountInLists": true    }  ],  "withoutKey": {    "requestsPerDay": 50,    "maxPage": 5  },  "paginationBurst": {    "pages": 10,    "windowSeconds": 90  },  "retryAfterSeconds": {    "rateLimited": 60,    "dailyCapReached": 86400  },  "keyHeaders": [    "X-API-Key: <key>",    "Authorization: Bearer <key>"  ],  "docsUrl": "https://docs.gunspec.io/en/rate-limits"}

    Am 22. Okt. 2026 von der Live-API erfasst. Listen und lange Texte sind für die Anzeige gekürzt.

Zugehörige Referenzen

Argumente

Keine Argumente.

json
  • gunspec_search_docs
  • Explorer
  • Nur lesend

Searches the GunSpec documentation guides and returns the sections that answer a question, best first, each with a snippet and a link. Use this tool whenever the user asks how something works or how they should do something with GunSpec - rate limits and retries, pagination, caching and ETags, authentication and keys, webhooks, errors and what a reason means, plans and pricing, data quality - instead of answering from memory. Then call gunspec_read_docs with the guide and anchor of the best hit to read it in full. A question the documentation does not cover returns no results, which means the answer is not in the docs rather than that a near-enough one should be given.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • How should I handle rate limiting when calling the GunSpec API?
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_search_docs",  "arguments": {    "question": "how should I handle a 429 rate limit"  }}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    {  "query": "how should I handle a 429 rate limit",  "total": 109,  "results": [    {      "guideId": "faq",      "guideTitle": "Frequently asked questions",      "anchor": "faq-limits",      "title": "Limits and plans",      "trail": "Limits and plans",      "url": "https://docs.gunspec.io/en/faq#faq-limits",      "snippet": "**What counts as a request?** Every call that reaches a handler, including errors, counts against the daily cap and the monthly allowance. A call a limit refused with a 429 still counts against the daily cap but not the month. A `304 Not Mo…"    },    {      "guideId": "atlas-cost",      "guideTitle": "Stay inside the plan",      "anchor": "atlas-cost-stop",      "title": "Stop at zero, and at the first 429",      "trail": "Stop at zero, and at the first 429",      "url": "https://docs.gunspec.io/en/atlas/cost#atlas-cost-stop",      "snippet": "A refusal is not a hiccup to retry through. Nothing is served until the limit resets, a call made before then is refused, and a free key that keeps calling is paused. A job that fails politely does five things. - Read `X-Daily-Remaining` an…"    },    {      "guideId": "atlas-cost",      "guideTitle": "Stay inside the plan",      "anchor": "atlas-cost-month",      "title": "What counts towards the monthly limit",      "trail": "What counts towards the monthly limit",      "url": "https://docs.gunspec.io/en/atlas/cost#atlas-cost-month",      "snippet": "The plan's monthly allowance is enforced, not just reported. These are the rules, so a script can plan around them. - The month belongs to the account. Every key on it draws on one pool, so a second key does not double the plan, while the d…"    }  ]}

    Am 22. Okt. 2026 von der Live-API erfasst. Listen und lange Texte sind für die Anzeige gekürzt.

Zugehörige Referenzen

Argumente

  • stringerforderlich

    The question, in the user's own words.

  • integer

    How many sections to return. 8 by default.

    Bereich
    1 – 25
    Gesendet als
    ?limit=

Jedes Argument wird als der angegebene Parameter an GET /v1/docs/guides/search gesendet. Dieselbe Anfrage lässt sich also mit deinem Schlüssel direkt an die API stellen, wenn du bestimmen möchtest, was zurückkommt.

json
  • gunspec_read_docs
  • Explorer
  • Nur lesend

Returns one GunSpec documentation guide as Markdown. Pass the anchor of a section from gunspec_search_docs to read just that section, which is what an answer usually needs; omit it for the whole page, which can run to tens of kilobytes. Quote what this returns rather than paraphrasing from memory, and cite the url. Call gunspec_search_docs first unless the guide id is already known.

Anwendungsbeispiel

  1. 1

    Eine Person fragt

    • Read the GunSpec caching guide and tell me how long I may keep a firearm record.
  2. 2

    Der Assistent ruft das Tool auf

    tools/call
    json
    {  "name": "gunspec_read_docs",  "arguments": {    "guide": "caching",    "anchor": "caching-policy"  }}
  3. 3

    Der Server antwortet

    Ergebnis
    json
    {  "id": "caching",  "title": "Caching and refreshing",  "url": "https://docs.gunspec.io/en/caching#caching-policy",  "sections": [    {      "anchor": "caching-policy",      "title": "How long you may keep it",      "trail": "How long you may keep it",      "markdown": "Every lifetime below is the value the API sends in Cache-Control on that path. There is no separate policy to remember: this table is generated from the one the server stamps responses from.\n\n| Resource | Your cache | Shared caches | Condit…"    }  ]}

    Am 22. Okt. 2026 von der Live-API erfasst. Listen und lange Texte sind für die Anzeige gekürzt.

Zugehörige Referenzen

Argumente

  • stringerforderlich

    The guide id, e.g. "caching", "pagination", "errors" or "rate-limits".

  • string

    A section anchor from gunspec_search_docs. Omitted, the whole page is returned.

    Gesendet als
    ?anchor=

Jedes Argument wird als der angegebene Parameter an GET /v1/docs/guides/{id} gesendet. Dieselbe Anfrage lässt sich also mit deinem Schlüssel direkt an die API stellen, wenn du bestimmen möchtest, was zurückkommt.

json