Wheel Fitment API
PYPI · WHEEL-SIZE-MCP · SCANNED SEP 21
Official MCP server for vehicle wheel and tire fitment data from wheel-size.com
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security50
- Malware scan not yet available for this package.Unverified
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs hatchling.build at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
- 1 of 23 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency32
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- License check failed: the license (MIT License) isn't a recognized OSI-approved license. See how to fix → Fail
- Actively maintained (last published 3 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability74
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 9778 tokens (~425/item across 23 items; 22 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management84
- Stability check failed: the tool surface changed between 0.5.1 and 0.7.1: 0 tool removals, 1 breaking changes, 1 additions. See how to fix → Fail
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 22 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 24 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
How do I install the Wheel Fitment API MCP server?
Wheel Fitment API runs locally as a PyPI package, launched with uvx wheel-size-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · wheel-size-mcp
claude mcp add driveate-wheel-size-mcp -- uvx wheel-size-mcp
{
"mcpServers": {
"driveate-wheel-size-mcp": {
"command": "uvx",
"args": [
"wheel-size-mcp"
]
}
}
} {
"servers": {
"driveate-wheel-size-mcp": {
"command": "uvx",
"args": [
"wheel-size-mcp"
]
}
}
} codex mcp add driveate-wheel-size-mcp -- uvx wheel-size-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"driveate-wheel-size-mcp": {
"type": "local",
"command": [
"uvx",
"wheel-size-mcp"
],
"enabled": true
}
}
} openclaw mcp add driveate-wheel-size-mcp --command uvx --arg wheel-size-mcp
mcp_servers:
driveate-wheel-size-mcp:
command: "uvx"
args: ["wheel-size-mcp"] {
"McpServers": {
"driveate-wheel-size-mcp": {
"Transport": "stdio",
"Command": "uvx",
"Arguments": [
"wheel-size-mcp"
]
}
}
} assistant mcp add driveate-wheel-size-mcp -t stdio -c uvx -a wheel-size-mcp
{
"mcpServers": {
"driveate-wheel-size-mcp": {
"command": "uvx",
"args": [
"wheel-size-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 19 Sept 26 −2
No change was recorded against any check on this day. Stability & Change Management went from 98 to 78.
- 18 Sept 26 −15
- Malware scan: pass → unverified ▼ security
- 17 Sept 26 +15
- Stability: 0.93 → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Stability: 0.93 → fail ▼ security
- Malware scan: unverified → pass ▲ security
- Schema quality: 385 → 425 ▼ functional
- Schema quality: 8470 → 9526 ▼ functional
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Schema quality: 100 → unverified ▼ functional
- Package version: 0.6.0 → 0.7.1 functional
- Package version: 0.6.0 → 0.7.0 functional
- 16 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 15 Sept 26 −15
- Malware scan: pass → unverified ▼ security
- Schema quality: 337 → 385 ▼ functional
- Package version: 0.5.1 → 0.6.0 functional
- 13 Sept 26 +16
- Malware scan: unverified → pass ▲ security
- 12 Sept 26 −3
- Stability: pass → 0.80 functional
- 11 Sept 26 +1
- Stability: 0.97 → pass security
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 21 Sept 2026 · Analysed pypi/wheel-size-mcp@0.7.1
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | hatchling.build |
Background: Why install scripts are a supply-chain risk →
Dependencies 23 packages
| Packages resolved | 23 |
|---|---|
| Stale | 1 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
ws_calculate_upsteps Search (user-initiated only) ~736
Calculate plus/minus sizing candidates for an OE wheel/tire combo. Given the OE rim and tire, enumerates rim diameters from steps_min to steps_max around OE (e.g. steps_min=-1, steps_max=2 with an 18-inch OE covers 17-20 inches in one call; the OE diameter is always included) and returns the tire/rim combinations whose design section width and overall diameter stay within s_max / do_max of OE. Tighten do_max for "without changing the overall diameter" requests. Each option carries step = rim diameter minus OE diameter in whole inches (0 = OE diameter; 17.5 counts as 17). Exactly one option has is_oe=true (step 0) — it echoes the requested OE combo. by_diameter lists every enumerated diameter in order, including those with count 0, as {"17": {"step": -1, "count": 12}, ...} — use it to build -1 / OE / +1 tabs. by_rim counts options per rim designation. Both summarise the WHOLE candidate list; total counts tire-rim combinations. The option rows are paginated MCP-side (limit/offset, API order: by diameter, then rim width) — a wide range with loose tolerances can exceed 300 options, so page through has_more. This is a geometric calculator only: it does not check load or speed ratings, brake/arch clearance, staggered setups or high-flotation sizes. Can be called freely without user initiation.
| Name | Type | Req | Description |
|---|---|---|---|
| aspect_ratio | integer | yes | OE tire nominal aspect ratio, %; a multiple of 5 (82 for legacy 82-series sizes). |
| do_max | – | – | Max relative difference of the overall diameter from OE, % (default 5). Use 2-3 to keep the speedometer accurate. |
| limit | integer | – | Options per page (default 50) |
| offset | integer | – | Pagination offset into the option list |
| rim_diameter | number | yes | OE rim diameter in inches — a catalog diameter (10, 12-26 incl. 16.5/17.5/19.5/22.5, 28, 30); other values are a 400 that lists the valid ones. |
| rim_offset | number | yes | OE rim offset (ET) in mm |
| rim_width | number | yes | OE rim width in inches (e.g. 7.5) |
| s_max | – | – | Max relative difference of the design section width from OE, % (default 10) |
| section_width | integer | yes | OE tire nominal section width in mm; must end in 5 (ISO 4000-1, e.g. 235). The size must exist in the metric tire catalog for that rim diameter. |
| steps | – | – | DEPRECATED — use steps_min/steps_max. steps=n (n>0) = steps_max=n; steps=-n = steps_min=-n and steps_max=0; steps=0 = OE diameter only. Cannot be combined with steps_min/steps_max. |
| steps_max | – | – | Highest rim diameter step above OE, 1-inch steps (default 2). Defaults are independent: steps_min=-1 alone means -1..+2. |
| steps_min | – | – | Lowest rim diameter step below OE, 1-inch steps (default 0 = OE only downwards). E.g. -1 with an 18-inch OE starts the range at 17 inches. |
Structured output declared, but exposes no named fields.
No examples provided.
ws_check_hf_tire_fitment_for_vehicle Search (user-initiated only) ~402
Check whether a high-flotation (LT) tire size fits a specific vehicle. Answers "do 31x10.50R15 tires fit my 2000 Chevy Blazer?" in one call: returns the vehicle's modifications (trims) where this HF tire size appears as a documented fitment. An EMPTY result means no documented fitment for that combination. Inch-based HF sizes only — for metric sizes use ws_check_tire_fitment_for_vehicle. The API has no year parameter, so 'year' is filtered MCP-side against each modification's production range (start_year/end_year); each row echoes its range so near-misses can be explained. Each row carries engine {fuel, capacity, hp} and a powertrain summary (field vocabulary in ws_list_modifications). IMPORTANT: This is a Search method — only call when a user explicitly requests a fitment check. Do not call in autonomous loops.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Results per page |
| make | string | yes | Make slug (e.g. 'chevrolet'). Use ws_list_makes to find valid slugs. |
| mode | – | – | Axle mode |
| model | string | yes | Model slug (e.g. 'blazer'). Use ws_list_models to find valid slugs. |
| offset | integer | – | Pagination offset |
| overall_diameter | number | yes | Overall tire diameter in inches (e.g. 31 for 31x10.50R15) |
| region | – | – | Region slug(s) (e.g. ['usdm'] or ['eudm', 'audm']). |
| rim_diameter | number | yes | Rim diameter in inches (e.g. 15) |
| section_width | number | yes | Tire section width in inches (e.g. 10.5) |
| year | – | – | Model year — filters to modifications in production that year |
Structured output declared, but exposes no named fields.
No examples provided.
ws_check_rim_fitment_for_vehicle Search (user-initiated only) ~437
Check whether specific rims fit a specific vehicle (make + model, optionally year). Answers "will 5x114.3 17x7 ET40 rims fit my 2020 Honda Civic?" in one call: returns the vehicle's modifications (trims) where this rim appears as a documented fitment. An EMPTY result means no documented fitment for that combination — the rim is likely incompatible or undocumented. The API has no year parameter, so 'year' is filtered MCP-side against each modification's production range (start_year/end_year); each row echoes its range so near-misses can be explained. Each row carries engine {fuel, capacity, hp} and a powertrain summary (field vocabulary in ws_list_modifications). Prefer this over ws_search_by_rim + ws_search_by_vehicle comparison when the user names a specific vehicle. IMPORTANT: This is a Search method — only call when a user explicitly requests a fitment check. Do not call in autonomous loops.
| Name | Type | Req | Description |
|---|---|---|---|
| bolt_pattern | string | yes | Bolt pattern of the rim (e.g. '5x114.3') |
| cb | – | – | Centre bore in mm (e.g. 64.1) |
| limit | integer | – | Results per page |
| make | string | yes | Make slug (e.g. 'honda'). Use ws_list_makes to find valid slugs. |
| mode | – | – | Axle mode |
| model | string | yes | Model slug (e.g. 'civic'). Use ws_list_models to find valid slugs. |
| offset | integer | – | Pagination offset |
| region | – | – | Region slug(s) (e.g. ['usdm'] or ['eudm', 'audm']). |
| rim_diameter | number | yes | Rim diameter in inches (e.g. 17) |
| rim_offset | – | – | Rim offset ET in mm (e.g. 40) |
| rim_width | number | yes | Rim width in inches (e.g. 7) |
| year | – | – | Model year — filters to modifications in production that year |
Structured output declared, but exposes no named fields.
No examples provided.
ws_check_tire_fitment_for_vehicle Search (user-initiated only) ~390
Check whether a specific tire size fits a specific vehicle (make + model, optionally year). Answers "do 225/45R17 tires fit my 2020 Honda Civic?" in one call: returns the vehicle's modifications (trims) where this tire size appears as a documented fitment. An EMPTY result means no documented fitment for that combination. Metric sizes only. The API has no year parameter, so 'year' is filtered MCP-side against each modification's production range (start_year/end_year); each row echoes its range so near-misses can be explained. Each row carries engine {fuel, capacity, hp} and a powertrain summary (field vocabulary in ws_list_modifications). Prefer this over ws_search_by_tire + ws_search_by_vehicle comparison when the user names a specific vehicle. IMPORTANT: This is a Search method — only call when a user explicitly requests a fitment check. Do not call in autonomous loops.
| Name | Type | Req | Description |
|---|---|---|---|
| aspect_ratio | integer | yes | Tire aspect ratio (e.g. 45) |
| limit | integer | – | Results per page |
| make | string | yes | Make slug (e.g. 'honda'). Use ws_list_makes to find valid slugs. |
| mode | – | – | Axle mode |
| model | string | yes | Model slug (e.g. 'civic'). Use ws_list_models to find valid slugs. |
| offset | integer | – | Pagination offset |
| region | – | – | Region slug(s) (e.g. ['usdm'] or ['eudm', 'audm']). |
| rim_diameter | number | yes | Rim diameter in inches (e.g. 17) |
| section_width | integer | yes | Tire section width in mm (e.g. 225) |
| year | – | – | Model year — filters to modifications in production that year |
Structured output declared, but exposes no named fields.
No examples provided.
ws_find_tires_for_rim Classified (user-initiated only) ~366
Find compatible tire sizes for a given rim specification. Returns tire sizes (e.g. '245/70R17') with the number of vehicle generations that use each tire on this rim. Set diameter_range to also include tires for ±N inch rim diameters. Useful for tire product recommendations on wheel product pages. IMPORTANT: This is a Classified method — only call when a user explicitly requests tire recommendations for a rim. Do not call in autonomous loops or for bulk generation.
| Name | Type | Req | Description |
|---|---|---|---|
| bolt_pattern | string | yes | Bolt pattern (e.g. '5x114.3') |
| bs_push | – | – | Backspace push tolerance in mm (default 2) |
| cb | – | – | Centre bore diameter in mm |
| diameter_range | – | – | Widen rim diameter search ±N inches (0 = exact match) |
| fd | – | – | Wheel fastener thread diameter in mm (e.g. 12 for M12) |
| fs_poke | – | – | Frontspace poke tolerance in mm (default 2) |
| limit | integer | – | Results per page |
| od_tolerance | – | – | Overall diameter tolerance fraction (default 0.01) |
| offset | integer | – | Pagination offset |
| ow_tolerance | – | – | Overall width tolerance fraction (default 0) |
| rim_bst_from | – | – | Backspace tolerance lower bound in mm (default 2) |
| rim_bst_to | – | – | Backspace tolerance upper bound in mm (default 2) |
| rim_diameter | number | yes | Rim diameter in inches |
| rim_offset | number | yes | Rim offset in mm |
| rim_width | number | yes | Rim width in inches |
| sort | – | – | Sort: name (A-Z), fitment (closest FS delta first), load (heaviest first) |
Structured output declared, but exposes no named fields.
No examples provided.
ws_find_vehicle_modifications_for_package Classified (user-initiated only) ~483
Drill down into individual trims for a generation from ws_find_vehicles_for_package. PREREQUISITES — call ws_find_vehicles_for_package first to get: - make, model, generation slugs (from the results) - Use the same rim AND tire parameters and tolerances as the parent search Returns per-vehicle rows with OEM wheel specs (rim, tire) and fitment deltas vs the searched rim + tire package. Completes the e-commerce chain: package search → generations → specific trims. IMPORTANT: This is a Classified method — only call when a user explicitly requests the trims behind a package compatibility result. Do not call in autonomous loops or for bulk generation.
| Name | Type | Req | Description |
|---|---|---|---|
| aspect_ratio | integer | yes | Tire aspect ratio |
| bolt_pattern | string | yes | Bolt pattern (e.g. '5x114.3') |
| bs_push | – | – | Backspace push tolerance in mm (default 2) |
| cb | – | – | Centre bore diameter in mm |
| diameter_range | – | – | Widen rim diameter search ±N inches (0 = exact match) |
| fd | – | – | Wheel fastener thread diameter in mm (e.g. 12 for M12) |
| fs_poke | – | – | Frontspace poke tolerance in mm (default 2) |
| generation | string | yes | Generation slug from ws_find_vehicles_for_package results |
| limit | integer | – | Results per page |
| make | string | yes | Make slug from ws_find_vehicles_for_package results |
| model | string | yes | Model slug from ws_find_vehicles_for_package results |
| od_tolerance | – | – | Overall diameter tolerance fraction (default 0.01) |
| offset | integer | – | Pagination offset |
| ow_tolerance | – | – | Overall width tolerance fraction (default 0) |
| rim_bst_from | – | – | Backspace tolerance lower bound in mm (default 2) |
| rim_bst_to | – | – | Backspace tolerance upper bound in mm (default 2) |
| rim_diameter | number | yes | Rim diameter in inches |
| rim_offset | number | yes | Rim offset in mm |
| rim_width | number | yes | Rim width in inches |
| section_width | integer | yes | Tire section width in mm |
| sort | – | – | Sort: name (A-Z), fitment (closest FS delta first), load (heaviest first) |
Structured output declared, but exposes no named fields.
No examples provided.
ws_find_vehicle_modifications_for_rim Classified (user-initiated only) ~449
Drill down into individual trims for a generation from ws_find_vehicles_for_rim. PREREQUISITES — call ws_find_vehicles_for_rim first to get: - make, model, generation slugs (from the results) - Use the same rim parameters and tolerances as the parent search Returns per-vehicle rows with OEM wheel specs (rim, tire, frontspace, backspace) and fitment deltas vs the searched rim. IMPORTANT: This is a Classified method — only call when a user explicitly requests the trims behind a rim compatibility result. Do not call in autonomous loops or for bulk generation.
| Name | Type | Req | Description |
|---|---|---|---|
| bolt_pattern | string | yes | Bolt pattern (e.g. '5x114.3') |
| bs_push | – | – | Backspace push tolerance in mm (default 2) |
| cb | – | – | Centre bore diameter in mm |
| diameter_range | – | – | Widen rim diameter search ±N inches (0 = exact match) |
| fd | – | – | Wheel fastener thread diameter in mm (e.g. 12 for M12) |
| fs_poke | – | – | Frontspace poke tolerance in mm (default 2) |
| generation | string | yes | Generation slug from ws_find_vehicles_for_rim results |
| limit | integer | – | Results per page |
| make | string | yes | Make slug from ws_find_vehicles_for_rim results |
| model | string | yes | Model slug from ws_find_vehicles_for_rim results |
| od_tolerance | – | – | Overall diameter tolerance fraction (default 0.01) |
| offset | integer | – | Pagination offset |
| ow_tolerance | – | – | Overall width tolerance fraction (default 0) |
| rim_bst_from | – | – | Backspace tolerance lower bound in mm (default 2) |
| rim_bst_to | – | – | Backspace tolerance upper bound in mm (default 2) |
| rim_diameter | number | yes | Rim diameter in inches |
| rim_offset | number | yes | Rim offset in mm |
| rim_width | number | yes | Rim width in inches |
| sort | – | – | Sort: name (A-Z), fitment (closest FS delta first), load (heaviest first) |
Structured output declared, but exposes no named fields.
No examples provided.
ws_find_vehicle_modifications_for_tire Classified (user-initiated only) ~524
Drill down into individual trims for a generation from ws_find_vehicles_for_tire. PREREQUISITES — call ws_find_vehicles_for_tire first to get: - make, model, generation slugs (from the results; the catalog slugs from ws_list_generations are the same and work here too) - Use the same tire parameters (section_width, aspect_ratio, rim_diameter) as the parent search. There are no tolerance or sort parameters: matching is the same as the parent — exact rim diameter, tire width and overall diameter within a fixed ±2 mm. Returns per-trim rows: production years, regions, the closest OEM rim/tire pair (oem_rim, oem_tire, oem_rim_diameter/width/offset, oem_tire_width_mm/diameter_mm/aspect_ratio), the match deltas against that pair (ow_delta_mm, od_delta_mm, od_delta_percent, ar_delta) and load data (load_kg, load_index). The mm deltas are the match precision against the nearest OEM pair (always within ±2 mm) — NOT how far the tire departs from stock. For upsize/downsize (plus/minus sizing) use ws_calculate_upsteps. oem_tire_aspect_ratio and ar_delta are null for high-flotation and alpha-numeric OEM tires (e.g. 37x12.50R17LT, G78-14). The result can be empty with HTTP 200 for a wrong slug or tire params that differ from the parent search — re-check those first. A genuinely empty drill-down also happens briefly after a catalog update (parent and drill-down are cached independently); that is not an error. IMPORTANT: This is a Classified method — only call when a user explicitly requests the trims behind a tire compatibility result. Do not call in autonomous loops or for bulk generation.
| Name | Type | Req | Description |
|---|---|---|---|
| aspect_ratio | integer | yes | Tire aspect ratio |
| generation | string | yes | Generation slug from ws_find_vehicles_for_tire results |
| limit | integer | – | Results per page |
| make | string | yes | Make slug from ws_find_vehicles_for_tire results |
| model | string | yes | Model slug from ws_find_vehicles_for_tire results |
| offset | integer | – | Pagination offset |
| rim_diameter | number | yes | Rim diameter in inches |
| section_width | integer | yes | Tire section width in mm |
Structured output declared, but exposes no named fields.
No examples provided.
ws_find_vehicles_for_package Classified (user-initiated only) ~400
Find vehicles compatible with a rim + tire package. Most precise classified search — considers both physical wheel fitment (backspace) and tire size compatibility simultaneously. Use sort='fitment' to put the closest matches first. For e-commerce combo/bundle product pages. To drill into a specific generation, use ws_find_vehicle_modifications_for_package. IMPORTANT: This is a Classified method — only call when a user explicitly requests a compatibility list or product card for a rim + tire package. Do not call in autonomous loops or for bulk generation.
| Name | Type | Req | Description |
|---|---|---|---|
| aspect_ratio | integer | yes | Tire aspect ratio |
| bolt_pattern | string | yes | Bolt pattern (e.g. '5x114.3') |
| bs_push | – | – | Backspace push tolerance in mm (default 2) |
| cb | – | – | Centre bore diameter in mm |
| diameter_range | – | – | Widen rim diameter search ±N inches (0 = exact match) |
| fd | – | – | Wheel fastener thread diameter in mm (e.g. 12 for M12) |
| fs_poke | – | – | Frontspace poke tolerance in mm (default 2) |
| limit | integer | – | Results per page |
| od_tolerance | – | – | Overall diameter tolerance fraction (default 0.01) |
| offset | integer | – | Pagination offset |
| ow_tolerance | – | – | Overall width tolerance fraction (default 0) |
| rim_bst_from | – | – | Backspace tolerance lower bound in mm (default 2) |
| rim_bst_to | – | – | Backspace tolerance upper bound in mm (default 2) |
| rim_diameter | number | yes | Rim diameter in inches |
| rim_offset | number | yes | Rim offset in mm |
| rim_width | number | yes | Rim width in inches |
| section_width | integer | yes | Tire section width in mm |
| sort | – | – | Sort: name (A-Z), fitment (closest FS delta first), load (heaviest first) |
Structured output declared, but exposes no named fields.
No examples provided.
ws_find_vehicles_for_rim Classified (user-initiated only) ~498
Find vehicle generations compatible with a given rim via geometric backspace calculations. Unlike ws_search_by_rim (which does direct 1:1 wheel pair matching), this endpoint uses advanced 2D geometric filtering based on frontspace/backspace calculations to determine physical fitment. This yields broader results — any vehicle where the rim physically fits the wheel housing, even if this exact spec isn't in the OEM database. Returns make/model/generation with fitment deltas (frontspace/backspace), load capacity, and OEM ratio ranges. Use sort='fitment' to put the closest matches first on product pages. Note: in some cases spacers or special bolts/nuts may be required. Always verify rims don't interfere with brake calipers or extend beyond the wheel arch. For e-commerce product pages: "This wheel fits: BMW X5, Audi Q7..." To drill into a specific generation, use ws_find_vehicle_modifications_for_rim. IMPORTANT: This is a Classified method — only call when a user explicitly requests a compatibility list or product card for a rim. Do not call in autonomous loops or for bulk generation.
| Name | Type | Req | Description |
|---|---|---|---|
| bolt_pattern | string | yes | Bolt pattern (e.g. '5x114.3') |
| bs_push | – | – | Backspace push tolerance in mm (default 2) |
| cb | – | – | Centre bore diameter in mm |
| diameter_range | – | – | Widen rim diameter search ±N inches (0 = exact match) |
| fd | – | – | Wheel fastener thread diameter in mm (e.g. 12 for M12) |
| fs_poke | – | – | Frontspace poke tolerance in mm (default 2) |
| limit | integer | – | Results per page |
| od_tolerance | – | – | Overall diameter tolerance fraction (default 0.01) |
| offset | integer | – | Pagination offset |
| ow_tolerance | – | – | Overall width tolerance fraction (default 0) |
| rim_bst_from | – | – | Backspace tolerance lower bound in mm (default 2) |
| rim_bst_to | – | – | Backspace tolerance upper bound in mm (default 2) |
| rim_diameter | number | yes | Rim diameter in inches |
| rim_offset | number | yes | Rim offset in mm |
| rim_width | number | yes | Rim width in inches |
| sort | – | – | Sort: name (A-Z), fitment (closest FS delta first), load (heaviest first) |
Structured output declared, but exposes no named fields.
No examples provided.
ws_find_vehicles_for_tire Classified (user-initiated only) ~167
Find vehicle generations that use a specific tire size. Simplest classified search — matches tire dimensions only, no bolt pattern or backspace filtering. For e-commerce: "This tire fits: Honda Civic, Toyota Camry..." To drill into a specific generation, use ws_find_vehicle_modifications_for_tire. IMPORTANT: This is a Classified method — only call when a user explicitly requests a compatibility list or product card for a tire. Do not call in autonomous loops or for bulk generation.
| Name | Type | Req | Description |
|---|---|---|---|
| aspect_ratio | integer | yes | Tire aspect ratio |
| limit | integer | – | Results per page |
| offset | integer | – | Pagination offset |
| rim_diameter | number | yes | Rim diameter in inches |
| section_width | integer | yes | Tire section width in mm |
Structured output declared, but exposes no named fields.
No examples provided.
ws_get_spec_metadata Utility (freely callable) ~322
Get computed geometry, population stats, and hints for a wheel/tire spec. Auto-detects mode from parameters: - rim: rim_diameter + rim_width (optionally rim_offset) - tire: section_width [mm] + aspect_ratio + rim_diameter - hf_tire: overall_diameter + section_width [inches] + rim_diameter - package: rim + tire params combined Use before search or classified calls to understand whether a spec is common or unusual, what tolerances to use, and what to expect. This is a utility tool — can be called freely without user initiation.
| Name | Type | Req | Description |
|---|---|---|---|
| aspect_ratio | – | – | Tire aspect ratio (e.g. 45) |
| bolt_pattern | – | – | Bolt pattern (e.g. '5x114.3'). Narrows population stats. |
| cb | – | – | Centre bore in mm (e.g. 71.6). Passed to suggested classified params. |
| overall_diameter | – | – | Overall tire diameter in inches (e.g. 33). HF mode. |
| rim_diameter | – | – | Rim diameter in inches (e.g. 18) |
| rim_offset | – | – | Offset ET in mm (e.g. 45). Enables geometry. |
| rim_width | – | – | Rim width in inches (e.g. 8.0) |
| section_width | – | – | Tire section width. Metric tires: mm (95-405, e.g. 225). HF tires (when overall_diameter is set): inches (4.5-14, e.g. 12.5). |
Structured output declared, but exposes no named fields.
No examples provided.
ws_list_generations Catalog (freely callable) ~116
List generations for a make/model. Returns generation slugs, names, platform codes, and production spans. Alternative to ws_list_years for models with many generations (e.g. BMW 3 Series). After getting a generation, use ws_list_modifications with the generation slug.
| Name | Type | Req | Description |
|---|---|---|---|
| make | string | yes | Make slug |
| model | string | yes | Model slug |
| region | – | – | Region slug(s) (e.g. ['eudm']). Filter generations sold in these regions. |
| year | – | – | Filter by year |
Structured output declared, but exposes no named fields.
No examples provided.
ws_list_makes Catalog (freely callable) ~191
List all vehicle manufacturers (makes). Returns slugs and names for all car brands in the database. Common starting point for vehicle fitment lookups, but not the only one — ws_list_years can also be called first (without params) to start from year. After getting a make slug, use ws_list_models to find models.
| Name | Type | Req | Description |
|---|---|---|---|
| brands | – | – | Only these make slugs (e.g. ['toyota', 'nissan']). For curated storefronts. |
| brands_exclude | – | – | Exclude these make slugs (e.g. ['geely', 'great-wall']). |
| lang | – | – | Translate names (e.g. 'ru'). name_en keeps the English original. |
| region | – | – | Region slug(s) (e.g. ['usdm', 'jdm']). Filter makes sold in these regions. |
| year | – | – | Filter by year (e.g. 2024) |
Structured output declared, but exposes no named fields.
No examples provided.
ws_list_models Catalog (freely callable) ~147
List models for a given make. Returns model slugs, names, and production year ranges. Can be filtered by year to narrow results (e.g. "which Toyota models existed in 2020?"). After getting a model slug, use ws_list_years or ws_list_generations next.
| Name | Type | Req | Description |
|---|---|---|---|
| lang | – | – | Translate names (e.g. 'ru'). name_en keeps the English original. |
| make | string | yes | Make slug (e.g. 'toyota'). Use ws_list_makes to find valid slugs. |
| region | – | – | Region slug(s) (e.g. ['usdm']). Filter models sold in these regions. |
| year | – | – | Filter by year |
Structured output declared, but exposes no named fields.
No examples provided.
ws_list_modifications Catalog (freely callable) ~1,159
List modifications (trims) for a specific vehicle. Returns trim names, engine and powertrain specs, and production years. One of year or generation is required. Filter by power via horsepower (exact ±2.7 hp) or horsepower_min/max (e.g. "trims over 300 hp" → horsepower_min=300). After getting a modification slug, use ws_search_by_vehicle for fitment data. Each row carries two sibling blocks: - engine: legacy {fuel, capacity, type, power, code}. engine.power is the headline figure whose source depends on the electrification level: the combustion engine for combustion-only cars and mild hybrids; system power (else sum of motors, else engine) for full and plug-in hybrids; sum of motors (else engine) for range-extenders; system power (else sum of motors) for BEV/FCEV. engine.fuel is a display string (renamed without notice, e.g. 'Natural gas' → 'CNG'); group on powertrain fuel codes instead. - powertrain: combustion_engine, electrification_level, primary_fuel and secondary_fuel (fuel codes — a real code can be passed back as the fuel filter; the absence words cannot), engine_power_hp, system_power_hp, engine_power_secondary_hp, and motors [{axle, hp, code}]. The full block with kW/PS/hp and fuel titles is returned by ws_search_by_vehicle. Powertrain semantics: - engine_power_hp = the combustion engine alone on its primary fuel, excluding any electric motor. This is what most other vehicle-data providers publish as "power"; use it to reconcile hybrids against other datasets. On bi-fuel vehicles it may still be the higher of the engine's two ratings rather than the primary-fuel one (splitting them into engine_power_secondary is editorial work in progress). - system_power_hp = manufacturer-declared total of the whole powertrain. A distinct quantity only on full hybrids, plug-in hybrids and EVs with a motor on each axle; normally null on a single-motor EV, a mild hybrid, a range-extender and a pure combustion vehicle. NEVER recon…
| Name | Type | Req | Description |
|---|---|---|---|
| fuel | – | – | Fuel code — one of: biodiesel_blend, cng, diesel, e100, electric, ethanol_blend, flex_fuel, h2, hybrid, lpg, petrol, petrol_cng, petrol_lpg. One value matches the legacy engine.fuel OR powertrain.pri… |
| generation | – | – | Generation slug (alternative to year) |
| horsepower | – | – | Horsepower, ±2.7 hp band (e.g. 150). Matches the headline engine.power figure, whose source depends on the electrification level — not always the system total, not always the combustion engine. |
| horsepower_max | – | – | Maximum horsepower. Same headline figure as horsepower. |
| horsepower_min | – | – | Minimum horsepower (e.g. 300). Same headline figure as horsepower. |
| lang | – | – | Translate names (e.g. 'ru'). name_en keeps the English original. |
| make | string | yes | Make slug |
| model | string | yes | Model slug |
| region | – | – | Region slug(s) (e.g. ['usdm'] or ['eudm', 'audm']). Multiple regions give a more comprehensive view. |
| trim | – | – | Fuzzy engine/trim name search (e.g. '2.0T', 'V6') |
| trim_level | – | – | Case-insensitive trim level (e.g. 'EX-L', 'Touring', 'Sport') |
| year | – | – | Model year |
Structured output declared, but exposes no named fields.
No examples provided.
ws_list_regions Catalog (freely callable) ~56
List all market regions where vehicles are sold. Returns region slugs and display names (e.g. usdm=USA, eudm=Europe, jdm=Japan). Use region slugs to filter results in other tools.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
ws_list_years Catalog (freely callable) ~119
List available years, optionally filtered by make and model. Can be called without params to get all years globally — this makes it an alternative starting point for navigation (Scenario 3: years first). Can also be called with make only to get years for that brand (Scenario 2). After getting a year, use ws_list_modifications to get trims.
| Name | Type | Req | Description |
|---|---|---|---|
| make | – | – | Make slug |
| model | – | – | Model slug |
| region | – | – | Region slug(s) (e.g. ['usdm']). Filter years available in these regions. |
Structured output declared, but exposes no named fields.
No examples provided.
ws_search_by_hf_tire Search (user-initiated only) ~242
Find vehicles compatible with a high-flotation (LT) tire size. HF tires use inch-based sizing like 31x10.50R15: overall diameter x section width R rim diameter, all in inches. Common on trucks, SUVs, and offroad vehicles. For metric sizes (e.g. 225/45R17) use ws_search_by_tire instead. IMPORTANT: This is a Search method — only call when a user explicitly requests a tire compatibility search. Do not call in autonomous loops.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Results per page |
| mode | – | – | Axle mode |
| offset | integer | – | Pagination offset |
| overall_diameter | number | yes | Overall tire diameter in inches (e.g. 31 for 31x10.50R15) |
| region | – | – | Region slug(s) (e.g. ['usdm'] or ['eudm', 'audm']). |
| rim_diameter | number | yes | Rim diameter in inches (e.g. 15) |
| section_width | number | yes | Tire section width in inches (e.g. 10.5) |
Structured output declared, but exposes no named fields.
No examples provided.
ws_search_by_rim Search (user-initiated only) ~478
Find vehicles compatible with given rim specs via direct 1:1 wheel pair matching. Uses a direct mapping of existing wheel pair data to vehicle specs — returns only vehicles where this exact rim (or close offset) appears in the database as an OEM or documented fitment. Does NOT calculate whether the rim would physically fit based on wheel housing geometry. Diameter and width accept either an exact value (rim_diameter, rim_width) or a min/max range pair — e.g. "18-19 inch, ET30-45" → rim_diameter_min=18, rim_diameter_max=19, rim_offset_min=30, rim_offset_max=45. One of exact or range is required per dimension. IMPORTANT: This is a Search method — only call when a user explicitly requests a rim compatibility search. Do not call in autonomous loops. For e-commerce product cards, use ws_find_vehicles_for_rim instead — it uses geometric backspace calculations for broader, physics-based matching.
| Name | Type | Req | Description |
|---|---|---|---|
| bolt_pattern | string | yes | Bolt pattern (e.g. '5x114.3') |
| cb | – | – | Centre bore in mm (e.g. 64.1) |
| cb_max | – | – | Range search: max centre bore |
| cb_min | – | – | Range search: min centre bore |
| fd | – | – | Wheel fastener thread diameter in mm (e.g. 12 for M12) |
| limit | integer | – | Results per page |
| mode | – | – | Axle mode |
| offset | integer | – | Pagination offset |
| region | – | – | Region slug(s) (e.g. ['usdm'] or ['eudm', 'audm']). |
| rim_diameter | – | – | Exact rim diameter in inches (e.g. 18) |
| rim_diameter_max | – | – | Range search: max diameter |
| rim_diameter_min | – | – | Range search: min diameter (use with _max) |
| rim_offset | – | – | Rim offset in mm |
| rim_offset_max | – | – | Range search: max offset |
| rim_offset_min | – | – | Range search: min offset |
| rim_width | – | – | Exact rim width in inches (e.g. 8) |
| rim_width_max | – | – | Range search: max width |
| rim_width_min | – | – | Range search: min width (use with _max) |
Structured output declared, but exposes no named fields.
No examples provided.
ws_search_by_tire Search (user-initiated only) ~395
Find vehicles compatible with a given tire size (metric). The response includes 'facets' (per-value car counts for speed_symbol, load_index, region, fitment — use them to offer refinements) and 'summary' (feature counts like runflat/winter + physical tire data). Echo a facet value back as a filter to drill down. IMPORTANT: This is a Search method — only call when a user explicitly requests a tire compatibility search. Do not call in autonomous loops. This tool accepts metric sizes only. For high-flotation (LT) tires with inch-based sizing (e.g. 31x10.50R15), use ws_search_by_hf_tire.
| Name | Type | Req | Description |
|---|---|---|---|
| aspect_ratio | integer | yes | Tire aspect ratio (e.g. 55) |
| fitment | – | – | square = same size all around, staggered = rear differs from front |
| limit | integer | – | Results per page |
| load_index | – | – | Load index(es), OR-combined (e.g. [91, 94]). Counts in facets.load_index. |
| load_index_max | – | – | Maximum load index |
| load_index_min | – | – | Minimum load index (e.g. 91) |
| mode | – | – | Axle mode |
| offset | integer | – | Pagination offset |
| region | – | – | Region slug(s) (e.g. ['usdm'] or ['eudm', 'audm']). |
| rim_diameter | number | yes | Rim diameter in inches (e.g. 17) |
| section_width | integer | yes | Tire section width in mm (e.g. 225) |
| speed_symbol | – | – | Speed rating(s), OR-combined (e.g. ['V', 'W']). Counts in facets.speed_symbol. |
| speed_symbol_max | – | – | Maximum speed rating |
| speed_symbol_min | – | – | Minimum speed rating (e.g. 'V' = V or faster) |
Structured output declared, but exposes no named fields.
No examples provided.
ws_search_by_vehicle Search (user-initiated only) ~557
Get wheel and tire fitment data for a specific vehicle. REQUIRED parameter combination: 1. Either 'modification' OR 'region' (to narrow fitment results) 2. Either 'year' OR 'generation' (to identify the vehicle) — not required when 'modification' is provided PREREQUISITES — you MUST have valid slugs before calling: - make: lowercase slug from ws_list_makes (e.g. 'toyota', 'land-rover') - model: lowercase slug from ws_list_models (e.g. 'camry', '3-series') - modification or region: from ws_list_modifications / ws_list_regions - year or generation: from ws_list_years / ws_list_generations (skip when modification is provided) - NOTE: this endpoint accepts only ONE region (unlike other tools) Do NOT guess these values. Call the prerequisite tools first. Returns OEM and optional wheel/tire specs including rim diameter, width, offset, bolt pattern, tire sizes, and tire pressure. Each wheel has setup='symmetric' (same front/rear) or 'staggered' (different). Each row also carries the legacy engine block and the full powertrain block as the API returns them: combustion_engine, electrification_level, primary_fuel / secondary_fuel as {code, title}, engine_power / system_power / engine_power_secondary as {kW, PS, hp} or null, and motors [{axle, power, code}]. The field vocabulary, the absence words (not_applicable / not_reported / unknown) and the power semantics are described in ws_list_modifications. IMPORTANT: This is a Search method — only call when a user explicitly requests fitment information. Do not call in autonomous loops.
| Name | Type | Req | Description |
|---|---|---|---|
| detail_level | string | – | 'concise' = key specs only, 'full' = all wheel/tire details |
| generation | – | – | Generation slug (alternative to year). From ws_list_generations. |
| lang | – | – | Translate make/model/region names (e.g. 'ru'). |
| limit | integer | – | Results per page |
| make | string | yes | Make slug (e.g. 'toyota'). Use ws_list_makes to find valid slugs. |
| model | string | yes | Model slug (e.g. 'camry'). Use ws_list_models to find valid slugs. |
| modification | – | – | Modification slug from ws_list_modifications. Alternative to region. |
| offset | integer | – | Pagination offset |
| region | – | – | Single region slug (e.g. 'usdm'). Only ONE region allowed here. |
| year | – | – | Model year |
Structured output declared, but exposes no named fields.
No examples provided.
What is the Wheel Fitment API MCP server?
Wheel Fitment API is an MCP server listed in the public MCP registry as io.github.driveate/wheel-size-mcp. Official MCP server for vehicle wheel and tire fitment data from wheel-size.com. This page covers its PyPI package (wheel-size-mcp).
Is the Wheel Fitment API MCP server safe to use?
Wheel Fitment API scores 64 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 21 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Wheel Fitment API MCP server expose?
Wheel Fitment API exposes 22 tools: ws_list_makes, ws_list_models, ws_list_years, ws_list_generations, ws_list_modifications, and 17 more. Their descriptions and schemas cost roughly 8,634 tokens of context every time the server is loaded.
Is the Wheel Fitment API MCP server still maintained?
Wheel Fitment API is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.