Skip to content

TuneWorks

by chrismore · remote · no sign-in to list tools · v0.1.0 · published by GitHub user chrismore

Motorsports workspace for vehicles, setups, sessions, logs, maintenance, and race engineering.

Deletes · 33Final · 2Changes · 31

100 tools: 33 can delete or cancel things, 2 do something that can't be undone, 31 change things and 34 only read.

Scanned Oct 21, 2026

2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http tuneworks https://tuneworks.ai/mcp

Findings

Matches of fixed checks, with the text they matched.

2 warn
  • The server marks "calculate_spring_wheel_rate" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The description's first verb is "convert": a word for a change.

    What this check looks for
  • The server marks "convert_afr_lambda" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "convert_afr_lambda" says "convert": a word for a change.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

100 tools

Deletes or cancels 33Claude Code: deny
  • archive_maintenanceArchive a connected user maintenance item.No findings

    Why it is in this group

    • The name "archive_maintenance" says "archive": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Archive a connected user maintenance item. Requires explicit user confirmation and never hard-deletes data.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • title: Archive maintenance item
  • archive_sessionArchive a connected user driving session.No findings

    Why it is in this group

    • The name "archive_session" says "archive": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Archive a connected user driving session. Requires explicit user confirmation and never hard-deletes data.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • title: Archive session
  • archive_setupArchive all active revisions of a connected user setup.No findings

    Why it is in this group

    • The name "archive_setup" says "archive": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Archive all active revisions of a connected user setup. Requires explicit user confirmation and never hard-deletes data.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • title: Archive setup
  • archive_shop_listArchive a connected user shop list so it no longer appears in active lists.No findings

    Why it is in this group

    • The name "archive_shop_list" says "archive": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Archive a connected user shop list so it no longer appears in active lists. Requires explicit user confirmation.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • title: Archive shop list
  • archive_vehicleArchive a connected user vehicle using TuneWorks soft-delete behavior.No findings

    Why it is in this group

    • The name "archive_vehicle" says "archive": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Archive a connected user vehicle using TuneWorks soft-delete behavior. Requires explicit user confirmation and never hard-deletes data.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • title: Archive vehicle
  • archive_vehicle_modificationMark a modification canceled so it remains in vehicle history.No findings

    Why it is in this group

    • The name "archive_vehicle_modification" says "archive": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Mark a modification canceled so it remains in vehicle history. Requires explicit confirmation.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • title: Archive vehicle modification
  • delete_chart_channel_setPermanently delete a saved chart-channel set after explicit confirmation.No findings

    Why it is in this group

    • The name "delete_chart_channel_set" says "delete": a word for removing or ending something.
    • The description says "Permanently delete".
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Permanently delete a saved chart-channel set after explicit confirmation.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • title: Delete chart channel set
  • delete_custom_trackPermanently delete a custom track after explicit confirmation.No findings

    Why it is in this group

    • The name "delete_custom_track" says "delete": a word for removing or ending something.
    • The description says "Permanently delete".
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Permanently delete a custom track after explicit confirmation.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • title: Delete custom track
  • delete_ecu_filePermanently delete an authorized ECU file after explicit confirmation.No findings

    Why it is in this group

    • The name "delete_ecu_file" says "delete": a word for removing or ending something.
    • The description says "Permanently delete".
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Permanently delete an authorized ECU file after explicit confirmation.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • title: Delete ECU file
  • delete_favorite_chartPermanently delete a favorite chart after explicit confirmation.No findings

    Why it is in this group

    • The name "delete_favorite_chart" says "delete": a word for removing or ending something.
    • The description says "Permanently delete".
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Permanently delete a favorite chart after explicit confirmation.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • title: Delete favorite chart
  • delete_object_attachmentDelete an object attachment from blob storage after explicit confirmation.No findings

    Why it is in this group

    • The name "delete_object_attachment" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete an object attachment from blob storage after explicit confirmation.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: true
    • title: Delete object attachment
  • delete_shop_listDelete a connected user shop list from active use by safely archiving it.No findings

    Why it is in this group

    • The name "delete_shop_list" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete a connected user shop list from active use by safely archiving it. Requires explicit user confirmation and does not hard-delete history.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • title: Delete shop list
  • delete_teamDelete a team after explicit confirmation.No findings

    Why it is in this group

    • The name "delete_team" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete a team after explicit confirmation.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • title: Delete team
  • delete_vehicle_makePermanently delete a custom vehicle make after explicit confirmation.No findings

    Why it is in this group

    • The name "delete_vehicle_make" says "delete": a word for removing or ending something.
    • The description says "Permanently delete".
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Permanently delete a custom vehicle make after explicit confirmation.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • title: Delete custom vehicle make
  • delete_vehicle_modificationPermanently delete a vehicle modification and its files.No findings

    Why it is in this group

    • The name "delete_vehicle_modification" says "delete": a word for removing or ending something.
    • The description says "Permanently delete".
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Permanently delete a vehicle modification and its files. Requires explicit confirmation.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • title: Delete vehicle modification
  • leave_teamRemove the connected user from a team after explicit confirmation.No findings

    Why it is in this group

    • The description's first verb is "remove": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Remove the connected user from a team after explicit confirmation.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • title: Leave team
  • remove_team_memberRemove a member from a team after explicit confirmation.No findings

    Why it is in this group

    • The name "remove_team_member" says "remove": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Remove a member from a team after explicit confirmation.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • title: Remove team member
  • rename_teamReplace a team’s name.No findings

    Why it is in this group

    • The name "rename_team" says "rename": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Replace a team’s name.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • title: Rename team
  • reset_shop_list_itemsReset every item in a connected user shop list to unchecked/open.No findings

    Why it is in this group

    • The name "reset_shop_list_items" says "reset": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Reset every item in a connected user shop list to unchecked/open.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • title: Reset shop list items
  • revoke_team_inviteRevoke a pending team invitation after explicit confirmation.No findings

    Why it is in this group

    • The name "revoke_team_invite" says "revoke": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Revoke a pending team invitation after explicit confirmation.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • title: Revoke team invite
  • save_vehicle_map_configCreate or replace the connected user’s complete map-channel configuration.No findings

    Why it is in this group

    • The name "save_vehicle_map_config" says "save": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Create or replace the connected user’s complete map-channel configuration.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • title: Save vehicle map config
  • update_custom_trackReplace the editable fields and ownership scope of a custom track.No findings

    Why it is in this group

    • The name "update_custom_track" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Replace the editable fields and ownership scope of a custom track.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • title: Update custom track
  • update_maintenanceEdits a TuneWorks maintenance reminder or service item.No findings

    Why it is in this group

    • The name "update_maintenance" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Edits a TuneWorks maintenance reminder or service item. Deletes are not supported.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • title: Update maintenance
  • update_sessionEdits an existing TuneWorks driving session.No findings

    Why it is in this group

    • The name "update_session" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Edits an existing TuneWorks driving session. Deletes are not supported.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • title: Update session
  • update_setupEdits an existing TuneWorks setup revision.No findings

    Why it is in this group

    • The name "update_setup" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Edits an existing TuneWorks setup revision. Deletes are not supported.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • title: Update setup
  • update_shop_listEdits shop-list metadata or replaces the full categories and items collection.No findings

    Why it is in this group

    • The name "update_shop_list" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Edits shop-list metadata or replaces the full categories and items collection.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • title: Update shop list
  • update_shop_list_itemAtomically check or uncheck one shop-list item, change its quantity, or do both.No findings

    Why it is in this group

    • The name "update_shop_list_item" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Atomically check or uncheck one shop-list item, change its quantity, or do both.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • title: Update shop list item
  • update_team_member_roleReplace a team member’s role.No findings

    Why it is in this group

    • The name "update_team_member_role" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Replace a team member’s role.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • title: Update team member role
  • update_unit_settingsUpdate unit-category choices for the connected TuneWorks user.No findings

    Why it is in this group

    • The name "update_unit_settings" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update unit-category choices for the connected TuneWorks user.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • title: Update unit settings
  • update_user_preferencesUpdate selected preferences for the connected TuneWorks user.No findings

    Why it is in this group

    • The name "update_user_preferences" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update selected preferences for the connected TuneWorks user.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • title: Update user preferences
  • update_vehicleEdits an existing vehicle in the connected user’s TuneWorks garage.No findings

    Why it is in this group

    • The name "update_vehicle" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Edits an existing vehicle in the connected user’s TuneWorks garage. Deletes are not supported.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • title: Update vehicle
  • update_vehicle_makeRename or rescope a custom vehicle make.No findings

    Why it is in this group

    • The name "update_vehicle_make" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Rename or rescope a custom vehicle make.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • title: Update custom vehicle make
  • update_vehicle_modificationUpdate a structured modification on an editable TuneWorks vehicle.No findings

    Why it is in this group

    • The name "update_vehicle_modification" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update a structured modification on an editable TuneWorks vehicle.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
    • title: Update vehicle modification
Can't be undone 2Claude Code: ask
  • send_share_buildEmails selected TuneWorks vehicle, setup, and session details to up to three recipients.No findings

    Why it is in this group

    • The name "send_share_build" says "send": a word for sending, and what is sent cannot be taken back.
    • The input addresses people (input.recipients): what it sends cannot be taken back.
    Description, as the server wrote it
    Emails selected TuneWorks vehicle, setup, and session details to up to three recipients. Explicit user confirmation is required.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
    • title: Send Share Build
  • send_team_inviteCreate and email a team invitation only after explicit user confirmation.No findings

    Why it is in this group

    • The name "send_team_invite" says "send": a word for sending, and what is sent cannot be taken back.
    Description, as the server wrote it
    Create and email a team invitation only after explicit user confirmation.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
    • title: Send team invite
Changes things 31Claude Code: ask
  • add_shop_list_categoryAtomically add one category to an existing editable shop list without replacing its existing categories or items.No findings

    Why it is in this group

    • The name "add_shop_list_category" says "add": a word for a change.
    Description, as the server wrote it
    Atomically add one category to an existing editable shop list without replacing its existing categories or items.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
    • title: Add shop list category
  • add_shop_list_itemAtomically add one item to an existing editable shop list without replacing existing items.No findings

    Why it is in this group

    • The name "add_shop_list_item" says "add": a word for a change.
    Description, as the server wrote it
    Atomically add one item to an existing editable shop list without replacing existing items. If its category does not exist yet, TuneWorks creates it.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
    • title: Add shop list item
  • calculate_brake_biasEstimate front brake bias from piston area, rotor size, and pad friction.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Estimate 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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: Brake Bias Calculator
  • calculate_corner_balanceCalculate cross weight, left/right balance, and front/rear split from four scale pads.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Calculate 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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: Corner Balance Calculator
  • calculate_ethanol_blendCalculates an ethanol blend for a fresh tank, existing fuel, correction, or ratio without authentication or account-data access.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Calculates 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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: E85 Ethanol Blend Calculator
  • calculate_fuel_injector_sizeEstimate injector size from horsepower, fuel type, injector count, and duty cycle.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Estimate 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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: Fuel Injector Duty Cycle Calculator
  • calculate_gear_ratio_speedCheck speed, RPM, and shift drop from tire size, final drive, and gear ratio.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Check 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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: Gear Ratio Speed Calculator
  • calculate_race_fuel_and_weightPlan a race fuel load, reserve, start weight, and projected minimum-weight margin.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Plan 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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: Race Fuel and Minimum Weight Calculator
  • calculate_spring_wheel_rateConvert spring rate and motion ratio into wheel rate for setup comparisons.1 finding

    Why it is in this group

    • The description's first verb is "convert": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "calculate_spring_wheel_rate" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The description's first verb is "convert": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Convert 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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: Spring Rate Wheel Rate Calculator
  • calculate_tire_pressure_adjustmentTurn cold, hot, and target hot pressures into the next cold pressure to try.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Turn 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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: Tire Pressure Adjustment Calculator
  • check_race_alignmentCheck camber and total toe against broad autocross and track baseline ranges.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Check 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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: Race Alignment Checker
  • complete_maintenanceRecord completed maintenance in vehicle history and advance its tracker.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Record completed maintenance in vehicle history and advance its tracker.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
    • title: Complete maintenance
  • convert_afr_lambdaConvert AFR and lambda across gasoline, E85, methanol, and race fuel scales.1 finding

    Why it is in this group

    • The name "convert_afr_lambda" says "convert": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "convert_afr_lambda" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "convert_afr_lambda" says "convert": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Convert 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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: AFR Lambda Converter
  • copy_sessionCreate an additive copy of an accessible TuneWorks driving session.No findings

    Why it is in this group

    • The name "copy_session" says "copy": a word for a change.
    Description, as the server wrote it
    Create an additive copy of an accessible TuneWorks driving session.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
    • title: Copy session
  • copy_shop_listCreate an editable copy of a connected user shop list with all item checks reset.No findings

    Why it is in this group

    • The name "copy_shop_list" says "copy": a word for a change.
    Description, as the server wrote it
    Create an editable copy of a connected user shop list with all item checks reset.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
    • title: Copy shop list
  • create_chart_channel_setSave a named set of chart channels.No findings

    Why it is in this group

    • The name "create_chart_channel_set" says "create": a word for a change.
    Description, as the server wrote it
    Save a named set of chart channels.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
    • title: Save chart channel set
  • create_custom_trackCreate a custom track for the connected user or an editable team.No findings

    Why it is in this group

    • The name "create_custom_track" says "create": a word for a change.
    Description, as the server wrote it
    Create a custom track for the connected user or an editable team.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
    • title: Create custom track
  • create_favorite_chartSave a favorite chart for an accessible vehicle and source log.No findings

    Why it is in this group

    • The name "create_favorite_chart" says "create": a word for a change.
    Description, as the server wrote it
    Save a favorite chart for an accessible vehicle and source log.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
    • title: Create favorite chart
  • create_maintenanceCreates a TuneWorks maintenance reminder or service item.No findings

    Why it is in this group

    • The name "create_maintenance" says "create": a word for a change.
    Description, as the server wrote it
    Creates a TuneWorks maintenance reminder or service item. Deletes are not supported.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
    • title: Create maintenance
  • create_sessionSaves a new TuneWorks driving session.No findings

    Why it is in this group

    • The name "create_session" says "create": a word for a change.
    Description, as the server wrote it
    Saves a new TuneWorks driving session. Deletes are not supported.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
    • title: Create session
  • create_setupSaves a new TuneWorks setup for a vehicle.No findings

    Why it is in this group

    • The name "create_setup" says "create": a word for a change.
    Description, as the server wrote it
    Saves a new TuneWorks setup for a vehicle. Deletes are not supported.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
    • title: Create setup
  • create_shop_listCreates a TuneWorks shop list, task list, or parts list, optionally including categories and items.No findings

    Why it is in this group

    • The name "create_shop_list" says "create": a word for a change.
    Description, as the server wrote it
    Creates a TuneWorks shop list, task list, or parts list, optionally including categories and items.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
    • title: Create shop list
  • create_teamCreate a new team for the connected user.No findings

    Why it is in this group

    • The name "create_team" says "create": a word for a change.
    Description, as the server wrote it
    Create a new team for the connected user.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
    • title: Create team
  • create_vehicleAdds a vehicle to the connected user’s TuneWorks garage.No findings

    Why it is in this group

    • The name "create_vehicle" says "create": a word for a change.
    Description, as the server wrote it
    Adds a vehicle to the connected user’s TuneWorks garage. Deletes are not supported.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
    • title: Create vehicle
  • create_vehicle_makeAdd a custom vehicle make to connected user settings.No findings

    Why it is in this group

    • The name "create_vehicle_make" says "create": a word for a change.
    Description, as the server wrote it
    Add a custom vehicle make to connected user settings.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
    • title: Create custom vehicle make
  • create_vehicle_modificationCreate a structured modification on an editable TuneWorks vehicle.No findings

    Why it is in this group

    • The name "create_vehicle_modification" says "create": a word for a change.
    Description, as the server wrote it
    Create a structured modification on an editable TuneWorks vehicle.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
    • title: Create vehicle modification
  • diagnose_handling_issueProvides understeer/oversteer setup guidance without authentication or access to TuneWorks account data.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Provides understeer/oversteer setup guidance without authentication or access to TuneWorks account data.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: Diagnose handling issue
  • mark_chart_channel_set_usedUpdate the last-used time for a saved chart-channel set.No findings

    Why it is in this group

    • The name "mark_chart_channel_set_used" says "mark": a word for a change.
    Description, as the server wrote it
    Update the last-used time for a saved chart-channel set.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
    • title: Mark chart channel set used
  • process_ecu_fileStart or retry processing for an existing ECU definition file.No findings

    Why it is in this group

    • The description's first verb is "start": a word for a change.
    Description, as the server wrote it
    Start 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.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
    • title: Process ECU file
  • recommend_autocross_damper_adjustmentProvides a bounded shock/damper adjustment recommendation without authentication or access to TuneWorks account data.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Provides a bounded shock/damper adjustment recommendation without authentication or access to TuneWorks account data.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: Recommend autocross damper adjustment
  • retry_ecu_fileRetry an eligible failed, already stored ECU file.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Retry an eligible failed, already stored ECU file. MCP does not upload binaries.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
    • title: Retry ECU file
Only reads 34Claude Code: allow
  • analyze_tire_temperaturesInterprets inside, middle, and outside tire temperature readings without authentication or access to TuneWorks account data.No findings

    Why it is in this group

    • The name "analyze_tire_temperatures" says "analyze": a word for reading.
    Description, as the server wrote it
    Interprets inside, middle, and outside tire temperature readings without authentication or access to TuneWorks account data.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: Analyze tire temperatures
  • calculate_lap_time_deltaCompare two laps or sector sets and see the best theoretical lap.No findings

    Why it is in this group

    • The description's first verb is "compare": a word for reading.
    Description, as the server wrote it
    Compare 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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: Lap Time Delta Calculator
  • compare_tire_sizesCompare tire diameter, circumference, ride height, and speedometer change.No findings

    Why it is in this group

    • The name "compare_tire_sizes" says "compare": a word for reading.
    Description, as the server wrote it
    Compare 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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: Tire Size Comparison Calculator
  • find_autocross_sitesSearch the public TuneWorks Autocross Site Finder by coordinates and minimum paved-area dimensions.No findings

    Why it is in this group

    • The name "find_autocross_sites" says "find": a word for reading.
    Description, as the server wrote it
    Search 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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
    • title: Find autocross sites
  • get_ai_log_tuner_transcriptRead the ordered messages and saved analysis summaries for one AI Log Tuner conversation owned by the connected TuneWorks user.No findings

    Why it is in this group

    • The name "get_ai_log_tuner_transcript" says "get": a word for reading.
    Description, as the server wrote it
    Read the ordered messages and saved analysis summaries for one AI Log Tuner conversation owned by the connected TuneWorks user.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: Get AI Log Tuner transcript
  • get_ai_race_engineer_transcriptRead one AI Race Engineer conversation and its ordered messages.No findings

    Why it is in this group

    • The name "get_ai_race_engineer_transcript" says "get": a word for reading.
    Description, as the server wrote it
    Read one AI Race Engineer conversation and its ordered messages. Internal execution debug traces are not returned.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: Get AI Race Engineer transcript
  • get_custom_trackRead one accessible custom track.No findings

    Why it is in this group

    • The name "get_custom_track" says "get": a word for reading.
    Description, as the server wrote it
    Read one accessible custom track.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: Get custom track
  • get_garage_summaryReturns an overview of the connected user’s TuneWorks garage, including recent activity, saved vehicles, setups, sessions, maintenance, and lists.No findings

    Why it is in this group

    • The name "get_garage_summary" says "get": a word for reading.
    Description, as the server wrote it
    Returns an overview of the connected user’s TuneWorks garage, including recent activity, saved vehicles, setups, sessions, maintenance, and lists.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: Get garage summary
  • get_log_contextRead bounded metadata, channel schema summary, and saved focus window for one accessible TuneWorks log.No findings

    Why it is in this group

    • The name "get_log_context" says "get": a word for reading.
    Description, as the server wrote it
    Read bounded metadata, channel schema summary, and saved focus window for one accessible TuneWorks log. Raw log samples are not returned.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: Get bounded log context
  • get_share_build_optionsLists existing TuneWorks vehicles, setups, and sessions available for Share Build.No findings

    Why it is in this group

    • The name "get_share_build_options" says "get": a word for reading.
    Description, as the server wrote it
    Lists existing TuneWorks vehicles, setups, and sessions available for Share Build.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: Get Share Build options
  • get_shop_listRead one connected user shop list with its categories and items.No findings

    Why it is in this group

    • The name "get_shop_list" says "get": a word for reading.
    Description, as the server wrote it
    Read one connected user shop list with its categories and items.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: Get shop list
  • get_tuneworks_app_capabilitiesDescribes TuneWorks free public capabilities and connected garage capabilities for vehicles, setups, sessions, maintenance, shop lists, Share Build, and log history.No findings

    Why it is in this group

    • The name "get_tuneworks_app_capabilities" says "get": a word for reading.
    Description, as the server wrote it
    Describes TuneWorks free public capabilities and connected garage capabilities for vehicles, setups, sessions, maintenance, shop lists, Share Build, and log history.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: Get TuneWorks app capabilities
  • get_user_settingsRead the connected user’s preferences, unit choices, and custom vehicle makes.No findings

    Why it is in this group

    • The name "get_user_settings" says "get": a word for reading.
    Description, as the server wrote it
    Read the connected user’s preferences, unit choices, and custom vehicle makes.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: Get user settings
  • get_vehicle_contextReturns one saved TuneWorks vehicle with its setup, session, maintenance, list, and log context.No findings

    Why it is in this group

    • The name "get_vehicle_context" says "get": a word for reading.
    Description, as the server wrote it
    Returns one saved TuneWorks vehicle with its setup, session, maintenance, list, and log context.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: Get vehicle context
  • get_vehicle_map_configRead the saved map-channel configuration for an accessible vehicle.No findings

    Why it is in this group

    • The name "get_vehicle_map_config" says "get": a word for reading.
    Description, as the server wrote it
    Read the saved map-channel configuration for an accessible vehicle.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: Get vehicle map config
  • get_vehicle_modificationRead one structured modification from an accessible TuneWorks vehicle.No findings

    Why it is in this group

    • The name "get_vehicle_modification" says "get": a word for reading.
    Description, as the server wrote it
    Read one structured modification from an accessible TuneWorks vehicle.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: Get vehicle modification
  • inspect_ecu_fileInspect one authorized ECU file and optionally a decoded table.No findings

    Why it is in this group

    • The name "inspect_ecu_file" says "inspect": a word for reading.
    Description, as the server wrote it
    Inspect one authorized ECU file and optionally a decoded table. Binary contents are never returned.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: Inspect ECU-file metadata
  • list_ai_log_tuner_transcriptsList recent AI Log Tuner conversations owned by the connected TuneWorks user.No findings

    Why it is in this group

    • The name "list_ai_log_tuner_transcripts" says "list": a word for reading.
    Description, as the server wrote it
    List recent AI Log Tuner conversations owned by the connected TuneWorks user. Returns conversation metadata without message contents.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: List AI Log Tuner transcripts
  • list_ai_race_engineer_transcriptsList recent AI Race Engineer conversations owned by the connected TuneWorks user.No findings

    Why it is in this group

    • The name "list_ai_race_engineer_transcripts" says "list": a word for reading.
    Description, as the server wrote it
    List recent AI Race Engineer conversations owned by the connected TuneWorks user. May be filtered to one vehicle.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: List AI Race Engineer transcripts
  • list_chart_channel_setsList saved chart-channel sets.No findings

    Why it is in this group

    • The name "list_chart_channel_sets" says "list": a word for reading.
    Description, as the server wrote it
    List saved chart-channel sets.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: List chart channel sets
  • list_custom_tracksList custom tracks accessible to the connected user.No findings

    Why it is in this group

    • The name "list_custom_tracks" says "list": a word for reading.
    Description, as the server wrote it
    List custom tracks accessible to the connected user.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: List custom tracks
  • list_ecu_filesList ECU-file metadata.No findings

    Why it is in this group

    • The name "list_ecu_files" says "list": a word for reading.
    Description, as the server wrote it
    List ECU-file metadata. Binary contents are never returned.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: List ECU-file metadata
  • list_favorite_chartsList favorite charts for an accessible vehicle.No findings

    Why it is in this group

    • The name "list_favorite_charts" says "list": a word for reading.
    Description, as the server wrote it
    List favorite charts for an accessible vehicle.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: List favorite charts
  • list_logsList bounded metadata for logs attached to one connected TuneWorks vehicle.No findings

    Why it is in this group

    • The name "list_logs" says "list": a word for reading.
    Description, as the server wrote it
    List bounded metadata for logs attached to one connected TuneWorks vehicle. Raw log samples are not returned.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: List log metadata
  • list_maintenanceLists service reminders, maintenance history, due work, and completed maintenance saved in TuneWorks.No findings

    Why it is in this group

    • The name "list_maintenance" says "list": a word for reading.
    Description, as the server wrote it
    Lists service reminders, maintenance history, due work, and completed maintenance saved in TuneWorks.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: List maintenance
  • list_object_attachmentsList attachment metadata for an authorized object.No findings

    Why it is in this group

    • The name "list_object_attachments" says "list": a word for reading.
    Description, as the server wrote it
    List attachment metadata for an authorized object. Binary contents are unavailable through MCP.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: List object attachments
  • list_sessionsLists driving sessions, events, track days, autocross runs, and session notes saved in TuneWorks.No findings

    Why it is in this group

    • The name "list_sessions" says "list": a word for reading.
    Description, as the server wrote it
    Lists driving sessions, events, track days, autocross runs, and session notes saved in TuneWorks.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: List sessions
  • list_setupsLists chassis setups and setup history saved in the connected TuneWorks account.No findings

    Why it is in this group

    • The name "list_setups" says "list": a word for reading.
    Description, as the server wrote it
    Lists chassis setups and setup history saved in the connected TuneWorks account.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: List setups
  • list_shop_list_itemsLists individual items and completion status in one connected user shop list, with optional filtering for open or completed items.No findings

    Why it is in this group

    • The name "list_shop_list_items" says "list": a word for reading.
    Description, as the server wrote it
    Lists individual items and completion status in one connected user shop list, with optional filtering for open or completed items.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: List shop list items
  • list_shop_listsLists reusable shop lists, event prep lists, task lists, and parts lists saved in TuneWorks.No findings

    Why it is in this group

    • The name "list_shop_lists" says "list": a word for reading.
    Description, as the server wrote it
    Lists reusable shop lists, event prep lists, task lists, and parts lists saved in TuneWorks.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: List shop lists
  • list_teamsList teams available to the connected user, or read one team’s settings.No findings

    Why it is in this group

    • The name "list_teams" says "list": a word for reading.
    Description, as the server wrote it
    List teams available to the connected user, or read one team’s settings.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: List teams
  • list_vehicle_modificationsList structured modifications for an accessible TuneWorks vehicle.No findings

    Why it is in this group

    • The name "list_vehicle_modifications" says "list": a word for reading.
    Description, as the server wrote it
    List structured modifications for an accessible TuneWorks vehicle.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: List vehicle modifications
  • list_vehiclesLists vehicles saved in the connected user’s TuneWorks app garage.No findings

    Why it is in this group

    • The name "list_vehicles" says "list": a word for reading.
    Description, as the server wrote it
    Lists vehicles saved in the connected user’s TuneWorks app garage.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: List vehicles
  • preview_share_buildSummarizes selected Share Build vehicle, setups, sessions, recipients, and message without sending email.No findings

    Why it is in this group

    • The name "preview_share_build" says "preview": a word for reading.
    Description, as the server wrote it
    Summarizes selected Share Build vehicle, setups, sessions, recipients, and message without sending email.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • title: Preview Share Build

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.1.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http tuneworks https://tuneworks.ai/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__tuneworks__compare_tire_sizes",
      "mcp__tuneworks__calculate_lap_time_delta",
      "mcp__tuneworks__analyze_tire_temperatures",
      "mcp__tuneworks__find_autocross_sites",
      "mcp__tuneworks__get_tuneworks_app_capabilities",
      "mcp__tuneworks__list_vehicle_modifications",
      "mcp__tuneworks__get_vehicle_modification",
      "mcp__tuneworks__get_garage_summary",
      "mcp__tuneworks__list_vehicles",
      "mcp__tuneworks__get_vehicle_context",
      "mcp__tuneworks__list_logs",
      "mcp__tuneworks__get_log_context",
      "mcp__tuneworks__list_ai_log_tuner_transcripts",
      "mcp__tuneworks__get_ai_log_tuner_transcript",
      "mcp__tuneworks__list_ai_race_engineer_transcripts",
      "mcp__tuneworks__get_ai_race_engineer_transcript",
      "mcp__tuneworks__list_setups",
      "mcp__tuneworks__list_sessions",
      "mcp__tuneworks__list_maintenance",
      "mcp__tuneworks__list_shop_lists",
      "mcp__tuneworks__get_shop_list",
      "mcp__tuneworks__list_shop_list_items",
      "mcp__tuneworks__get_share_build_options",
      "mcp__tuneworks__preview_share_build",
      "mcp__tuneworks__get_user_settings",
      "mcp__tuneworks__list_chart_channel_sets",
      "mcp__tuneworks__list_favorite_charts",
      "mcp__tuneworks__get_vehicle_map_config",
      "mcp__tuneworks__list_ecu_files",
      "mcp__tuneworks__inspect_ecu_file",
      "mcp__tuneworks__list_teams",
      "mcp__tuneworks__list_custom_tracks",
      "mcp__tuneworks__get_custom_track",
      "mcp__tuneworks__list_object_attachments"
    ],
    "ask": [
      "mcp__tuneworks__calculate_race_fuel_and_weight",
      "mcp__tuneworks__calculate_gear_ratio_speed",
      "mcp__tuneworks__calculate_tire_pressure_adjustment",
      "mcp__tuneworks__calculate_corner_balance",
      "mcp__tuneworks__calculate_spring_wheel_rate",
      "mcp__tuneworks__calculate_fuel_injector_size",
      "mcp__tuneworks__convert_afr_lambda",
      "mcp__tuneworks__calculate_brake_bias",
      "mcp__tuneworks__check_race_alignment",
      "mcp__tuneworks__calculate_ethanol_blend",
      "mcp__tuneworks__diagnose_handling_issue",
      "mcp__tuneworks__recommend_autocross_damper_adjustment",
      "mcp__tuneworks__create_vehicle",
      "mcp__tuneworks__create_vehicle_modification",
      "mcp__tuneworks__create_setup",
      "mcp__tuneworks__create_session",
      "mcp__tuneworks__copy_session",
      "mcp__tuneworks__create_maintenance",
      "mcp__tuneworks__create_shop_list",
      "mcp__tuneworks__add_shop_list_category",
      "mcp__tuneworks__add_shop_list_item",
      "mcp__tuneworks__copy_shop_list",
      "mcp__tuneworks__create_vehicle_make",
      "mcp__tuneworks__create_chart_channel_set",
      "mcp__tuneworks__mark_chart_channel_set_used",
      "mcp__tuneworks__create_favorite_chart",
      "mcp__tuneworks__complete_maintenance",
      "mcp__tuneworks__process_ecu_file",
      "mcp__tuneworks__retry_ecu_file",
      "mcp__tuneworks__send_share_build",
      "mcp__tuneworks__create_team",
      "mcp__tuneworks__send_team_invite",
      "mcp__tuneworks__create_custom_track"
    ],
    "deny": [
      "mcp__tuneworks__update_vehicle",
      "mcp__tuneworks__update_vehicle_modification",
      "mcp__tuneworks__archive_vehicle_modification",
      "mcp__tuneworks__delete_vehicle_modification",
      "mcp__tuneworks__archive_vehicle",
      "mcp__tuneworks__update_setup",
      "mcp__tuneworks__archive_setup",
      "mcp__tuneworks__update_session",
      "mcp__tuneworks__archive_session",
      "mcp__tuneworks__update_maintenance",
      "mcp__tuneworks__archive_maintenance",
      "mcp__tuneworks__update_shop_list",
      "mcp__tuneworks__reset_shop_list_items",
      "mcp__tuneworks__update_shop_list_item",
      "mcp__tuneworks__archive_shop_list",
      "mcp__tuneworks__delete_shop_list",
      "mcp__tuneworks__update_user_preferences",
      "mcp__tuneworks__update_unit_settings",
      "mcp__tuneworks__update_vehicle_make",
      "mcp__tuneworks__delete_vehicle_make",
      "mcp__tuneworks__delete_chart_channel_set",
      "mcp__tuneworks__delete_favorite_chart",
      "mcp__tuneworks__save_vehicle_map_config",
      "mcp__tuneworks__delete_ecu_file",
      "mcp__tuneworks__rename_team",
      "mcp__tuneworks__update_team_member_role",
      "mcp__tuneworks__remove_team_member",
      "mcp__tuneworks__revoke_team_invite",
      "mcp__tuneworks__leave_team",
      "mcp__tuneworks__delete_team",
      "mcp__tuneworks__update_custom_track",
      "mcp__tuneworks__delete_custom_track",
      "mcp__tuneworks__delete_object_attachment"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as tuneworks. Review it before you use it.