TuneWorks
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Motorsports workspace for vehicles, setups, sessions, logs, maintenance, and race engineering.
| Author | io.github.chrismore |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 673 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"TuneWorks": {
"url": "https://tuneworks.ai/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (100)
calculate_race_fuel_and_weightread-onlyPlan a race fuel load, reserve, start weight, and projected minimum-weight margin. Calculates from measured inputs without authentication and does not read or save account data. Assumes the entered per-lap consumption applies to race, formation, and allowance laps. Finish weight retains only the selected reserve. Confirm your series weighing rules and validate consumption with real data.
Parameters:
consumption(required) — number — Fuel consumption per lap (gal in US; L in metric)formationLaps(required) — number — Formation / warm-up laps (laps)extraLaps(required) — number — Extra-lap allowance (laps)reserve(required) — number — Fuel reserve (%)baseWeight(required) — number — Car + driver without fuel (lb in US; kg in metric)minimumWeight(required) — number — Class minimum weight (lb in US; kg in metric)ballast(required) — number — Ballast fitted (lb in US; kg in metric)raceMode(required) — string — Race formatfuel(required) — string — Fuel typeunitSystem(required) — string — Units for all inputs and results, as specified on each field.lapTime— number — Expected lap time (sec)duration— number — Race duration (min)raceLaps— number — Scheduled race laps (laps)customDensity— number — Custom fuel density (lb/gal in US; kg/L in metric)
Hints: read-only yes · destructive no · idempotent not declared · open-world no
calculate_gear_ratio_speedread-onlyCheck speed, RPM, and shift drop from tire size, final drive, and gear ratio. Calculates from measured inputs without authentication and does not read or save account data. Use measured tire diameter when possible. Tire growth and converter/clutch slip can move real-world numbers.
Parameters:
rpm(required) — number — Engine RPM (rpm)speed(required) — number — Vehicle speed (mph in imperial; km/h in metric)gear(required) — number — Gear ratiofinalDrive(required) — number — Final drivetireDiameter(required) — number — Tire diameter (in in imperial; mm in metric)nextGear(required) — number — Next gear ratiomode(required) — string — Primary answerunitSystem(required) — string — Units for all inputs and results, as specified on each field.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
calculate_tire_pressure_adjustmentread-onlyTurn cold, hot, and target hot pressures into the next cold pressure to try. Calculates from measured inputs without authentication and does not read or save account data. This gives a next-test pressure, not a universal ideal. Recheck after the next run.
Parameters:
cold(required) — number — Starting cold pressure (psi in imperial; bar in metric)hot(required) — number — Measured hot pressure (psi in imperial; bar in metric)target(required) — number — Target hot pressure (psi in imperial; bar in metric)ambientChange(required) — number — Expected ambient temp change (F in imperial; C in metric)unitSystem(required) — string — Units for all inputs and results, as specified on each field.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
calculate_corner_balanceread-onlyCalculate cross weight, left/right balance, and front/rear split from four scale pads. Calculates from measured inputs without authentication and does not read or save account data. Measure the car in the same state you drive it: driver, fuel, ballast, and tire pressures matter.
Parameters:
lf(required) — number — Left front (lb in imperial; kg in metric)rf(required) — number — Right front (lb in imperial; kg in metric)lr(required) — number — Left rear (lb in imperial; kg in metric)rr(required) — number — Right rear (lb in imperial; kg in metric)unitSystem(required) — string — Units for all inputs and results, as specified on each field.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
calculate_spring_wheel_rateread-onlyConvert spring rate and motion ratio into wheel rate for setup comparisons. Calculates from measured inputs without authentication and does not read or save account data. Wheel rate compares spring changes. It does not account for bars, bump stops, tires, or aero load.
Parameters:
springRate(required) — number — Spring rate (lb/in in imperial; N/mm in metric)motionRatio(required) — number — Motion ratiospringAngle(required) — number — Spring angle from vertical (deg)cornerWeight(required) — number — Corner weight (lb in imperial; kg in metric)unitSystem(required) — string — Units for all inputs and results, as specified on each field.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
calculate_fuel_injector_sizeread-onlyEstimate injector size from horsepower, fuel type, injector count, and duty cycle. Calculates from measured inputs without authentication and does not read or save account data. This is a sizing estimate. Confirm with your tuner and fuel pressure data.
Parameters:
hp(required) — number — Horsepower target (hp)injectors(required) — integer — Injector countduty(required) — number — Target duty cycle (%)current(required) — number — Current injector size (cc/min)fuel(required) — string — Fuel type
Hints: read-only yes · destructive no · idempotent not declared · open-world no
convert_afr_lambdaread-onlyConvert AFR and lambda across gasoline, E85, methanol, and race fuel scales. Calculates from measured inputs without authentication and does not read or save account data. Use this as a conversion reference. Tune targets depend on fuel, engine, load, and calibration strategy.
Parameters:
afr(required) — number — AFRlambda(required) — number — Lambdafuel(required) — string — Fuel scale
Hints: read-only yes · destructive no · idempotent not declared · open-world no
calculate_brake_biasread-onlyEstimate front brake bias from piston area, rotor size, and pad friction. Calculates from measured inputs without authentication and does not read or save account data. This estimates mechanical bias. Tire grip, weight transfer, ABS, and balance bars still matter.
Parameters:
frontPiston(required) — number — Front total piston area (in2 in imperial; cm2 in metric)rearPiston(required) — number — Rear total piston area (in2 in imperial; cm2 in metric)frontRotor(required) — number — Front effective radius (in in imperial; mm in metric)rearRotor(required) — number — Rear effective radius (in in imperial; mm in metric)frontMu(required) — number — Front pad frictionrearMu(required) — number — Rear pad frictionunitSystem(required) — string — Units for all inputs and results, as specified on each field.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
compare_tire_sizesread-onlyCompare tire diameter, circumference, ride height, and speedometer change. Calculates from measured inputs without authentication and does not read or save account data. Actual mounted diameter changes by tire model and pressure. Use manufacturer specs when available.
Parameters:
oldWidth(required) — number — Current width (mm)oldAspect(required) — number — Current aspect ratio (%)oldWheel(required) — number — Current wheel diameter (in in imperial; mm in metric)newWidth(required) — number — New width (mm)newAspect(required) — number — New aspect ratio (%)newWheel(required) — number — New wheel diameter (in in imperial; mm in metric)unitSystem(required) — string — Units for all inputs and results, as specified on each field.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
check_race_alignmentread-onlyCheck camber and total toe against broad autocross and track baseline ranges. Calculates from measured inputs without authentication and does not read or save account data. This is a baseline checker, not a vehicle-specific prescription. Tire wear and driver feedback decide the next step.
Parameters:
frontCamber(required) — number — Front camber (deg)rearCamber(required) — number — Rear camber (deg)frontToe(required) — number — Front total toe (in in imperial; mm in metric)rearToe(required) — number — Rear total toe (in in imperial; mm in metric)use(required) — string — Use caseunitSystem(required) — string — Units for all inputs and results, as specified on each field.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
calculate_lap_time_deltaread-onlyCompare two laps or sector sets and see the best theoretical lap. Calculates from measured inputs without authentication and does not read or save account data. Use sectors from timing, video, or data logs. Compare similar conditions before blaming setup.
Parameters:
baselineS1(required) — number — Baseline sector 1 (sec)baselineS2(required) — number — Baseline sector 2 (sec)baselineS3(required) — number — Baseline sector 3 (sec)newS1(required) — number — New sector 1 (sec)newS2(required) — number — New sector 2 (sec)newS3(required) — number — New sector 3 (sec)
Hints: read-only yes · destructive no · idempotent not declared · open-world no
calculate_ethanol_blendread-onlyCalculates an ethanol blend for a fresh tank, existing fuel, correction, or ratio without authentication or account-data access. Percentages are 0–100 and all volumes use the selected unit. Source ethanol contents are measured values. Fresh mode requires finalVolume; existing mode requires finalVolume, currentVolume, and currentEthanol; correction mode requires tankCapacity, currentVolume, and currentEthanol; ratio mode requires no volumes.
Parameters:
mode(required) — stringvolumeUnit(required) — stringtargetEthanol(required) — number — Ethanol percentage (0–100).highFuelEthanol(required) — number — Ethanol percentage (0–100).pumpGasEthanol(required) — number — Ethanol percentage (0–100).finalVolume— number — Volume in volumeUnit.tankCapacity— number — Volume in volumeUnit.currentVolume— number — Volume in volumeUnit.currentEthanol— number — Ethanol percentage (0–100).
Hints: read-only yes · destructive no · idempotent not declared · open-world no
diagnose_handling_issueread-onlyProvides understeer/oversteer setup guidance without authentication or access to TuneWorks account data.
Parameters:
balance(required) — stringphase(required) — stringnotes— string — Optional driver feedback or setup context.speed— string — Optional speed range or driver note.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
analyze_tire_temperaturesread-onlyInterprets inside, middle, and outside tire temperature readings without authentication or access to TuneWorks account data.
Parameters:
readings(required) — object — Tire readings keyed by lf/rf/lr/rr, each with inside, middle, and outside numbers.unit— stringtargetTemp— numbertempWindow— numberrearCamberSpread— numberfrontCamberSpread— number
Hints: read-only yes · destructive no · idempotent not declared · open-world no
recommend_autocross_damper_adjustmentread-onlyProvides a bounded shock/damper adjustment recommendation without authentication or access to TuneWorks account data.
Parameters:
phase(required) — stringsymptom(required) — stringaxle— stringseverity— number
Hints: read-only yes · destructive no · idempotent not declared · open-world no
find_autocross_sitesread-onlySearch the public TuneWorks Autocross Site Finder by coordinates and minimum paved-area dimensions. This may take several minutes because it queries live map and imagery providers.
Parameters:
latitude(required) — numberlongitude(required) — numberradiusMiles(required) — numberminimumWidthMeters(required) — numberminimumLengthMeters(required) — numberminimumReviewScore— number
Hints: read-only yes · destructive no · idempotent not declared · open-world yes
get_tuneworks_app_capabilitiesread-onlyDescribes TuneWorks free public capabilities and connected garage capabilities for vehicles, setups, sessions, maintenance, shop lists, Share Build, and log history.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
create_vehicleAdds a vehicle to the connected user’s TuneWorks garage so setup, session, modification, maintenance, and optimization context can be attached. Deletes are not supported.
Parameters:
make(required) — stringmodel(required) — stringyear(required) — numberpurpose(required) — string — TuneWorks vehicle purpose; Track day / HPDE represents a general track car.displacement(required) — stringengineType(required) — stringaspiration(required) — stringcylindersOrRotors(required) — stringfuel(required) — stringfuelRating(required) — stringvin— stringowner— string — Vehicle owner. Defaults to the connected TuneWorks user when omitted.mileage— stringsubModel— stringengineHours— stringengineModel— stringmodifications— stringtransmissionType— stringtransmissionSpeeds— string
Hints: read-only no · destructive no · idempotent not declared · open-world no
update_vehicledestructiveEdits an existing vehicle in the connected user’s TuneWorks garage. Deletes are not supported.
Parameters:
vehicleId(required) — stringvin— stringfuel— stringmake— stringyear— numbermodel— stringowner— stringmileage— stringpurpose— stringsubModel— stringaspiration— stringengineType— stringfuelRating— stringengineHours— stringengineModel— stringdisplacement— stringmodifications— stringtransmissionType— stringcylindersOrRotors— stringexpectedUpdatedAt— string — Optional optimistic-concurrency timestamp from a previous TuneWorks response.transmissionSpeeds— string
Hints: read-only no · destructive yes · idempotent not declared · open-world no
list_vehicle_modificationsread-onlyList bounded structured modifications for an accessible TuneWorks vehicle.
Parameters:
vehicleId(required) — stringlimit— number
Hints: read-only yes · destructive no · idempotent not declared · open-world no
get_vehicle_modificationread-onlyRead one structured modification from an accessible TuneWorks vehicle.
Parameters:
vehicleId(required) — stringmodificationId(required) — string
Hints: read-only yes · destructive no · idempotent not declared · open-world no
create_vehicle_modificationCreate a structured modification on an editable TuneWorks vehicle.
Parameters:
vehicleId(required) — stringcategory(required) — stringsystem(required) — stringstatus(required) — stringbrand(required) — stringpartName(required) — stringcost— numbernotes— stringpurpose— stringquantity— numberlaborCost— numberremovedAt— stringpartNumber— stringinstallHours— stringdateInstalled— stringdatePurchased— stringpurchasedFrom— stringreplacedModId— stringinstallMileage— stringinstalledByName— string
Hints: read-only no · destructive no · idempotent not declared · open-world no
update_vehicle_modificationdestructiveUpdate a structured modification on an editable TuneWorks vehicle.
Parameters:
vehicleId(required) — stringmodificationId(required) — stringcost— numberbrand— stringnotes— stringstatus— stringsystem— stringpurpose— stringcategory— stringpartName— stringquantity— numberlaborCost— numberremovedAt— stringpartNumber— stringinstallHours— stringdateInstalled— stringdatePurchased— stringpurchasedFrom— stringreplacedModId— stringinstallMileage— stringinstalledByName— string
Hints: read-only no · destructive yes · idempotent not declared · open-world no
archive_vehicle_modificationdestructiveMark a modification canceled so it remains in vehicle history. Requires explicit confirmation.
Parameters:
vehicleId(required) — stringmodificationId(required) — stringconfirmed(required) — boolean
Hints: read-only no · destructive yes · idempotent not declared · open-world no
delete_vehicle_modificationdestructivePermanently delete a vehicle modification and its files. Requires explicit confirmation.
Parameters:
vehicleId(required) — stringmodificationId(required) — stringconfirmed(required) — boolean
Hints: read-only no · destructive yes · idempotent not declared · open-world no
get_garage_summaryread-onlyReturns the connected garage, its activation stage, missing baseline data, and the next available actions toward vehicle optimization.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
list_vehiclesread-onlyLists vehicles saved in the connected user’s TuneWorks app garage and reports the next activation action when the garage is empty.
Parameters:
limit— number
Hints: read-only yes · destructive no · idempotent not declared · open-world no
get_vehicle_contextread-onlyReturns one saved TuneWorks vehicle with modifications, setups, sessions, maintenance, lists, log metadata, optimization readiness, and next actions.
Parameters:
vehicleId(required) — string — Stable TuneWorks vehicle ID from an authorized TuneWorks response.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
list_logsread-onlyList bounded metadata for logs attached to one connected TuneWorks vehicle. Raw log samples are not returned.
Parameters:
vehicleId(required) — stringlimit— number
Hints: read-only yes · destructive no · idempotent not declared · open-world no
get_log_contextread-onlyRead bounded metadata, channel schema summary, and saved focus window for one accessible TuneWorks log. Raw log samples are not returned.
Parameters:
logId(required) — string
Hints: read-only yes · destructive no · idempotent not declared · open-world no
list_ai_log_tuner_transcriptsread-onlyList recent AI Log Tuner conversations owned by the connected TuneWorks user. Returns conversation metadata without message contents.
Parameters:
limit— number
Hints: read-only yes · destructive no · idempotent not declared · open-world no
get_ai_log_tuner_transcriptread-onlyRead the ordered messages and saved analysis summaries for one AI Log Tuner conversation owned by the connected TuneWorks user.
Parameters:
logId(required) — string — Stable TuneWorks log ID for the requested conversation.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
list_ai_race_engineer_transcriptsread-onlyList recent AI Race Engineer conversations owned by the connected TuneWorks user. May be filtered to one vehicle.
Parameters:
limit— numbervehicleId— string
Hints: read-only yes · destructive no · idempotent not declared · open-world no
get_ai_race_engineer_transcriptread-onlyRead one AI Race Engineer conversation and its ordered messages. Internal execution debug traces are not returned.
Parameters:
chatId(required) — string — Stable TuneWorks Race Engineer conversation ID.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
archive_vehicledestructiveArchive a connected user vehicle using TuneWorks soft-delete behavior. Requires explicit user confirmation and never hard-deletes data.
Parameters:
vehicleId(required) — stringconfirmed(required) — boolean
Hints: read-only no · destructive yes · idempotent not declared · open-world no
list_setupsread-onlyLists chassis setups and setup history saved in the connected TuneWorks account.
Parameters:
limit— numbervehicleId— string — Optional TuneWorks vehicle ID to filter setups.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
create_setupSaves a new TuneWorks setup for a vehicle. Deletes are not supported.
Parameters:
vehicleId(required) — stringsetupName(required) — stringsetupDate(required) — string — Setup date in YYYY-MM-DD format. Natural date strings are accepted but YYYY-MM-DD is preferred.setupData— object — Setup fields such as setup goals, overall weight/balance, tire summary, front/rear ride height, front/rear total toe, per-corner tires, pressures, alignment, ride height, springs, dampers, corner weights, brake/balance, aero, electronics, and notes.dataLogIds— arrayperformedBy— string — Person who performed the setup. If omitted, TuneWorks uses the connected user name/email.influencedSessionId— string
Hints: read-only no · destructive no · idempotent not declared · open-world no
update_setupdestructiveEdits an existing TuneWorks setup revision. Deletes are not supported.
Parameters:
setupId(required) — stringrevision— number — Optional setup revision number. If omitted, TuneWorks updates the latest revision.setupData— object — Partial setup fields to change, including setup goals, overall weight/balance, tire summary, front/rear ride height, front/rear total toe, per-corner tires, alignment, ride height, springs, dampers, corner weights, brake/balance, aero, electronics, and notes. Numeric and boolean values are accepted and saved as setup text values.setupDate— string — Setup date in YYYY-MM-DD format. Natural date strings are accepted but YYYY-MM-DD is preferred.setupName— stringvehicleId— stringdataLogIds— arrayperformedBy— string — Person who performed the setup. If omitted, TuneWorks uses the connected user name/email.expectedUpdatedAt— string — Optional optimistic-concurrency timestamp from a previous TuneWorks response.influencedSessionId— string
Hints: read-only no · destructive yes · idempotent not declared · open-world no
archive_setupdestructiveArchive all active revisions of a connected user setup. Requires explicit user confirmation and never hard-deletes data.
Parameters:
setupId(required) — stringconfirmed(required) — boolean
Hints: read-only no · destructive yes · idempotent not declared · open-world no
list_sessionsread-onlyLists driving sessions, events, track days, autocross runs, and session notes saved in TuneWorks.
Parameters:
limit— numbervehicleId— string — Optional TuneWorks vehicle ID to filter sessions.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
create_sessionSaves a new TuneWorks driving session. Deletes are not supported.
Parameters:
vehicleId(required) — stringsessionDate(required) — string — Session date in YYYY-MM-DD format. Natural date strings are accepted but YYYY-MM-DD is preferred.sessionFormat(required) — stringtrack— stringworked— stringbraking— stringdrivers— stringsetupId— stringbestTime— stringlocation— stringtraction— stringeventName— stringeventType— stringmidCorner— stringcornerExit— stringdataLogIds— arraydidNotWork— stringcornerEntry— stringoverallBalance— stringperformanceFigures— stringsuggestedSetupChange— stringadditionalSessionDetails— string
Hints: read-only no · destructive no · idempotent not declared · open-world no
update_sessiondestructiveEdits an existing TuneWorks driving session. Deletes are not supported.
Parameters:
sessionId(required) — stringtrack— stringworked— stringbraking— stringdrivers— stringsetupId— stringbestTime— stringlocation— stringtraction— stringeventName— stringeventType— stringmidCorner— stringvehicleId— stringcornerExit— stringdataLogIds— arraydidNotWork— stringcornerEntry— stringsessionDate— string — Session date in YYYY-MM-DD format. Natural date strings are accepted but YYYY-MM-DD is preferred.sessionFormat— stringoverallBalance— stringexpectedUpdatedAt— string — Optional optimistic-concurrency timestamp from a previous TuneWorks response.performanceFigures— stringsuggestedSetupChange— stringadditionalSessionDetails— string
Hints: read-only no · destructive yes · idempotent not declared · open-world no
copy_sessionCreate an additive copy of an accessible TuneWorks driving session.
Parameters:
sessionId(required) — string
Hints: read-only no · destructive no · idempotent not declared · open-world no
archive_sessiondestructiveArchive a connected user driving session. Requires explicit user confirmation and never hard-deletes data.
Parameters:
sessionId(required) — stringconfirmed(required) — boolean
Hints: read-only no · destructive yes · idempotent not declared · open-world no
list_maintenanceread-onlyLists service reminders, maintenance history, due work, and completed maintenance saved in TuneWorks.
Parameters:
limit— numbervehicleId— string — Optional TuneWorks vehicle ID to filter maintenance.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
create_maintenanceCreates a TuneWorks maintenance reminder or service item. Deletes are not supported.
Parameters:
vehicleId(required) — stringname(required) — stringcategory(required) — stringdoneDate(required) — string — Required service completion date in YYYY-MM-DD format. Natural date strings are accepted but YYYY-MM-DD is preferred.notes— stringdueDate— string — Optional reminder date in YYYY-MM-DD format. Omit when no reminder is wanted.intervalType— stringintervalValue— numberreminderDaysBefore— number
Hints: read-only no · destructive no · idempotent not declared · open-world no
update_maintenancedestructiveEdits a TuneWorks maintenance reminder or service item. Deletes are not supported.
Parameters:
vehicleId(required) — stringtrackerId(required) — stringname— stringnotes— stringdueDate— string — Optional reminder date in YYYY-MM-DD format. Omit when no reminder is wanted.category— stringdoneDate— string — Service completion date in YYYY-MM-DD format. Natural date strings are accepted but YYYY-MM-DD is preferred.intervalType— stringintervalValue— numberreminderDaysBefore— number
Hints: read-only no · destructive yes · idempotent not declared · open-world no
archive_maintenancedestructiveArchive a connected user maintenance item. Requires explicit user confirmation and never hard-deletes data.
Parameters:
vehicleId(required) — stringtrackerId(required) — stringconfirmed(required) — boolean
Hints: read-only no · destructive yes · idempotent not declared · open-world no
list_shop_listsread-onlyLists reusable shop lists, event prep lists, task lists, and parts lists saved in TuneWorks.
Parameters:
limit— numberpurpose— string — Optional enabled Shop List Purpose value to filter by.vehicleId— string — Optional TuneWorks vehicle ID to filter shop lists.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
get_shop_listread-onlyRead one connected user shop list with its categories and items.
Parameters:
listId(required) — string
Hints: read-only yes · destructive no · idempotent not declared · open-world no
list_shop_list_itemsread-onlyLists individual items and completion status in one connected user shop list, with optional filtering for open or completed items.
Parameters:
listId(required) — stringstatus— string — Optional item-status filter; open represents remaining or not-done items.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
create_shop_listCreates a TuneWorks shop list, task list, or parts list, optionally including categories and items.
Parameters:
title(required) — stringpurpose(required) — string — Required enabled Shop List Purpose value.note— stringitems— arraystatus— stringsetupId— stringsessionId— stringvehicleId— stringcategories— array
Hints: read-only no · destructive no · idempotent not declared · open-world no
update_shop_listdestructiveEdits shop-list metadata or replaces the full categories and items collection.
Parameters:
listId(required) — stringnote— stringitems— arraytitle— stringstatus— stringpurpose— string — Enabled Shop List Purpose value.setupId— stringsessionId— stringvehicleId— stringcategories— array
Hints: read-only no · destructive yes · idempotent not declared · open-world no
add_shop_list_categoryAtomically add one category to an existing editable shop list without replacing its existing categories or items.
Parameters:
listId(required) — stringname(required) — stringsortOrder— integer
Hints: read-only no · destructive no · idempotent not declared · open-world no
add_shop_list_itemAtomically add one item to an existing editable shop list without replacing existing items. If its category does not exist yet, TuneWorks creates it.
Parameters:
listId(required) — stringlabel(required) — stringstatus— stringsection— string — Optional category name.quantity— integersortOrder— integer
Hints: read-only no · destructive no · idempotent not declared · open-world no
copy_shop_listCreate an editable copy of a connected user shop list with all item checks reset.
Parameters:
listId(required) — string
Hints: read-only no · destructive no · idempotent not declared · open-world no
reset_shop_list_itemsdestructiveReset every item in a connected user shop list to unchecked/open.
Parameters:
listId(required) — stringconfirmed(required) — boolean
Hints: read-only no · destructive yes · idempotent not declared · open-world no
update_shop_list_itemdestructiveAtomically check or uncheck one shop-list item, change its quantity, or do both.
Parameters:
listId(required) — stringitemId(required) — stringstatus— stringquantity— integer
Hints: read-only no · destructive yes · idempotent not declared · open-world no
archive_shop_listdestructiveArchive a connected user shop list so it no longer appears in active lists. Requires explicit user confirmation.
Parameters:
listId(required) — stringconfirmed(required) — boolean — True indicates that the user explicitly confirmed archiving this list.
Hints: read-only no · destructive yes · idempotent not declared · open-world no
delete_shop_listdestructiveDelete a connected user shop list from active use by safely archiving it. Requires explicit user confirmation and does not hard-delete history.
Parameters:
listId(required) — stringconfirmed(required) — boolean — True indicates that the user explicitly confirmed deleting this list.
Hints: read-only no · destructive yes · idempotent not declared · open-world no
get_share_build_optionsread-onlyLists existing TuneWorks vehicles, setups, and sessions available for Share Build.
Parameters:
vehicleId— string — Optional TuneWorks vehicle ID to narrow Share Build setup and session options.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
preview_share_buildread-onlySummarizes selected Share Build vehicle, setups, sessions, recipients, and message without sending email.
Parameters:
vehicleId(required) — string — TuneWorks vehicle ID selected for Share Build.message— string — Optional message to include in the Share Build email.setupIds— array — Optional TuneWorks setup IDs to include.recipients— array — Recipient email addresses to preview.sessionIds— array — Optional TuneWorks session IDs to include.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
get_user_settingsread-onlyRead the connected user’s preferences, unit choices, and custom vehicle makes.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
update_user_preferencesdestructiveUpdate selected preferences for the connected TuneWorks user.
Parameters:
preferences(required) — object
Hints: read-only no · destructive yes · idempotent not declared · open-world no
update_unit_settingsdestructiveUpdate unit-category choices for the connected TuneWorks user.
Parameters:
settings(required) — array
Hints: read-only no · destructive yes · idempotent not declared · open-world no
create_vehicle_makeAdd a custom vehicle make to connected user settings.
Parameters:
make(required) — stringteamId— string
Hints: read-only no · destructive no · idempotent not declared · open-world no
update_vehicle_makedestructiveRename or rescope a custom vehicle make.
Parameters:
id(required) — numbermake(required) — stringteamId— string
Hints: read-only no · destructive yes · idempotent not declared · open-world no
delete_vehicle_makedestructivePermanently delete a custom vehicle make after explicit confirmation.
Parameters:
id(required) — numberconfirmed(required) — boolean
Hints: read-only no · destructive yes · idempotent not declared · open-world no
list_chart_channel_setsread-onlyList saved chart-channel sets.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
create_chart_channel_setSave a named set of chart channels.
Parameters:
name(required) — stringchannels(required) — array
Hints: read-only no · destructive no · idempotent not declared · open-world no
mark_chart_channel_set_usedUpdate the last-used time for a saved chart-channel set.
Parameters:
id(required) — number
Hints: read-only no · destructive no · idempotent not declared · open-world no
delete_chart_channel_setdestructivePermanently delete a saved chart-channel set after explicit confirmation.
Parameters:
id(required) — numberconfirmed(required) — boolean
Hints: read-only no · destructive yes · idempotent not declared · open-world no
list_favorite_chartsread-onlyList favorite charts for an accessible vehicle.
Parameters:
vehicleId(required) — string
Hints: read-only yes · destructive no · idempotent not declared · open-world no
create_favorite_chartSave a favorite chart for an accessible vehicle and source log.
Parameters:
vehicleId(required) — stringsourceLogId(required) — stringtitle(required) — stringchartConfig(required) — objectnotes— stringsource— stringchannelSetId— number
Hints: read-only no · destructive no · idempotent not declared · open-world no
delete_favorite_chartdestructivePermanently delete a favorite chart after explicit confirmation.
Parameters:
chartId(required) — numberconfirmed(required) — boolean
Hints: read-only no · destructive yes · idempotent not declared · open-world no
get_vehicle_map_configread-onlyRead the saved map-channel configuration for an accessible vehicle.
Parameters:
vehicleId(required) — string
Hints: read-only yes · destructive no · idempotent not declared · open-world no
save_vehicle_map_configdestructiveCreate or replace the connected user’s complete map-channel configuration.
Parameters:
vehicleId(required) — stringlapType(required) — stringselections(required) — objectchannels(required) — objectsigns— object
Hints: read-only no · destructive yes · idempotent not declared · open-world no
complete_maintenanceRecord completed maintenance in vehicle history and advance its tracker.
Parameters:
vehicleId(required) — stringtrackerId(required) — stringcompletedAt(required) — stringnotes— stringmileage— numberlogCount— numberengineHours— numbertrackEvents— number
Hints: read-only no · destructive no · idempotent not declared · open-world no
list_ecu_filesread-onlyList ECU-file metadata, optionally scoped to an accessible TuneWorks vehicle. Supplying vehicleId enables vehicle-specific recovery guidance. Binary contents are never returned.
Parameters:
vehicleId— string — Optional stable TuneWorks vehicle ID from an authorized garage response.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
inspect_ecu_fileread-onlyInspect one authorized ECU file and optionally a decoded table. Binary contents are never returned.
Parameters:
id(required) — stringtable— string
Hints: read-only yes · destructive no · idempotent not declared · open-world no
process_ecu_fileStart or retry processing for an existing ECU definition file. This does not upload, create, or read a file, and processing may consume compute and analysis resources.
Parameters:
id(required) — string
Hints: read-only no · destructive no · idempotent not declared · open-world no
retry_ecu_fileRetry an eligible failed, already stored ECU file. MCP does not upload binaries.
Parameters:
id(required) — string
Hints: read-only no · destructive no · idempotent not declared · open-world no
delete_ecu_filedestructivePermanently delete an authorized ECU file after explicit confirmation.
Parameters:
id(required) — stringconfirmed(required) — boolean
Hints: read-only no · destructive yes · idempotent not declared · open-world no
send_share_buildEmails selected TuneWorks vehicle, setup, and session details to up to three recipients. Explicit user confirmation is required.
Parameters:
vehicleId(required) — string — TuneWorks vehicle ID selected for Share Build.recipients(required) — array — Recipient email addresses. Share Build supports up to 3 recipients.confirmed(required) — boolean — True indicates that the user explicitly confirmed the recipient list and selected build details.message— string — Optional message to include in the Share Build email.setupIds— array — Optional TuneWorks setup IDs to include.sessionIds— array — Optional TuneWorks session IDs to include.
Hints: read-only no · destructive no · idempotent not declared · open-world yes
list_teamsread-onlyList teams available to the connected user, or read one team’s settings.
Parameters:
teamId— string
Hints: read-only yes · destructive no · idempotent not declared · open-world no
create_teamCreate a new team for the connected user.
Parameters:
name(required) — string
Hints: read-only no · destructive no · idempotent not declared · open-world no
rename_teamdestructiveReplace a team’s name.
Parameters:
teamId(required) — stringname(required) — string
Hints: read-only no · destructive yes · idempotent not declared · open-world no
update_team_member_roledestructiveReplace a team member’s role.
Parameters:
teamId(required) — stringuserId(required) — numberrole(required) — string
Hints: read-only no · destructive yes · idempotent not declared · open-world no
remove_team_memberdestructiveRemove a member from a team after explicit confirmation.
Parameters:
teamId(required) — stringuserId(required) — numberconfirmed(required) — boolean
Hints: read-only no · destructive yes · idempotent not declared · open-world no
revoke_team_invitedestructiveRevoke a pending team invitation after explicit confirmation.
Parameters:
teamId(required) — stringinviteId(required) — stringconfirmed(required) — boolean
Hints: read-only no · destructive yes · idempotent not declared · open-world no
leave_teamdestructiveRemove the connected user from a team after explicit confirmation.
Parameters:
teamId(required) — stringconfirmed(required) — boolean
Hints: read-only no · destructive yes · idempotent not declared · open-world no
delete_teamdestructiveDelete a team after explicit confirmation.
Parameters:
teamId(required) — stringconfirmed(required) — boolean
Hints: read-only no · destructive yes · idempotent not declared · open-world no
send_team_inviteCreate and email a team invitation only after explicit user confirmation.
Parameters:
teamId(required) — stringemail(required) — stringrole(required) — stringconfirmed(required) — boolean
Hints: read-only no · destructive no · idempotent not declared · open-world yes
list_custom_tracksread-onlyList custom tracks accessible to the connected user.
Parameters:
limit— integerquery— string
Hints: read-only yes · destructive no · idempotent not declared · open-world no
get_custom_trackread-onlyRead one accessible custom track.
Parameters:
trackId(required) — string
Hints: read-only yes · destructive no · idempotent not declared · open-world no
create_custom_trackCreate a custom track for the connected user or an editable team.
Parameters:
venue(required) — stringcity— stringregion— stringteamId— stringcountry— stringcountryCode— string
Hints: read-only no · destructive no · idempotent not declared · open-world no
update_custom_trackdestructiveReplace the editable fields and ownership scope of a custom track.
Parameters:
trackId(required) — stringvenue(required) — stringcity— stringregion— stringteamId— stringcountry— stringcountryCode— string
Hints: read-only no · destructive yes · idempotent not declared · open-world no
delete_custom_trackdestructivePermanently delete a custom track after explicit confirmation.
Parameters:
trackId(required) — stringconfirmed(required) — boolean
Hints: read-only no · destructive yes · idempotent not declared · open-world no
list_object_attachmentsread-onlyList attachment metadata for an authorized object. Binary contents are unavailable through MCP.
Parameters:
objectType(required) — stringobjectId(required) — string
Hints: read-only yes · destructive no · idempotent not declared · open-world no
delete_object_attachmentdestructiveDelete an object attachment from blob storage after explicit confirmation.
Parameters:
fileId(required) — stringconfirmed(required) — boolean
Hints: read-only no · destructive yes · idempotent not declared · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.