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.
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
- Deletes or cancels33Claude Code: deny: see these tools
- Can't be undone2Claude Code: ask: see these tools
- Changes things31Claude Code: ask: see these tools
- Only reads34Claude Code: allow: see these tools
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/mcpFindings
Matches of fixed checks, with the text they matched.
The server marks "calculate_spring_wheel_rate" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The description's first verb is "convert": a word for a change.
The server marks "convert_afr_lambda" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "convert_afr_lambda" says "convert": a word for a change.
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_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".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The description's first verb is "convert": a word for a change.
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".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "convert_afr_lambda" says "convert": a word for a change.
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_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
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/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .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.
