← Files TracksideARCHIVED FILE
plugin.json
6.73 KB · Nov 3, 2026 · 19:10 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "trackside",
"version": "1.1.0",
"description": "Review your synced Trackside sessions, lap times, and original recording telemetry.",
"author": {
"name": "Daniel Stratton",
"email": "trackside@californiamotorsports.co",
"url": "https://www.californiamotorsports.co/trackside"
},
"homepage": "https://www.californiamotorsports.co/trackside",
"keywords": [
"motorsport",
"telemetry",
"lap times",
"driving analysis"
],
"extensions": {
"com.openai": {
"interface": {
"displayName": "Trackside",
"shortDescription": "Analyze track sessions",
"longDescription": "Review your synced Trackside driving sessions and telemetry. Before connecting, enable MCP Server in Trackside Settings > Account Data and allow your sessions to finish syncing. Sign in with the same Apple account used in Trackside. Access is read-only: the plugin cannot record, edit, or delete sessions.",
"developerName": "Daniel Stratton",
"category": "Productivity",
"capabilities": [
"Analyze session data"
],
"websiteURL": "https://www.californiamotorsports.co/trackside",
"supportURL": "https://www.californiamotorsports.co/trackside",
"privacyPolicyURL": "https://www.californiamotorsports.co/trackside/privacy",
"defaultPrompt": [
"Where am I losing the most time compared with my optimal lap?",
"What am I doing differently with braking and throttle on my faster laps?",
"What are the three things I should focus on at my next track day?"
],
"composerIcon": "./assets/icon.png",
"logo": "./assets/icon.png",
"termsOfServiceURL": "https://www.californiamotorsports.co/trackside/terms"
},
"review": {
"demo_recording_url": "https://trackside.camotors.co/plugin-review/walkthrough",
"test_cases": {
"positive": [
{
"description": "Identify the account and find completed demo recordings",
"prompt": "Which Trackside account is connected? Show all of my synced sessions at Synthetic review circuit, newest first.",
"tools_triggered": "get_profile, list_sessions",
"expected_behavior": "Report Trackside review demo, Pro access true, sync enabled true, and synthetic/demo status. Use the track filter and follow pagination. Return exactly Synthetic review session B (review-session-002, January 2, 2026) followed by Synthetic review session A (review-session-001, January 1, 2026). Clearly label fictional data; do not invent real recordings or expose Apple subjects or tokens."
},
{
"description": "Inspect original files, channel availability, and units",
"prompt": "Which original files and speed, throttle, brake, and temperature channels are available in Synthetic review session A? Include their units.",
"tools_triggered": "list_sessions, get_session, read_telemetry",
"expected_behavior": "For review-session-001, return revision 1 and exactly metadata.json, lap-analysis.json, and telemetry.jsonl, each with one text chunk. Inspect metadata.json and telemetry.jsonl. Report speedKPH in km/h, throttlePercent in %, brakePressure in bar, oil temperature 104 Celsius, and coolant temperature 91 Celsius. Original telemetry has no GPS or battery voltage fields; the synthetic lap-analysis file supplies fictional route geometry for comparisons. Label synthetic evidence and cite its source."
},
{
"description": "Read recorded lap evidence",
"prompt": "Show the recorded lap times from Synthetic review session A and cite the source.",
"tools_triggered": "list_sessions, get_session_summary",
"expected_behavior": "Report laps 1, 2, and 3 as 90, 88, and 87 seconds, citing review-session-001 revision 1, lap-analysis.json, and its session-relative lap start times (0, 90, and 178 seconds). Label the data synthetic. Do not invent measured performance."
},
{
"description": "Query selected lap telemetry",
"prompt": "What was the maximum oil temperature during lap 2 of Synthetic review session A?",
"tools_triggered": "list_sessions, get_session_summary, query_telemetry",
"expected_behavior": "Use saved lapId 1 and aggregate oilTemperatureCelsius. Follow all query pages and report 104 Celsius, citing review-session-001 revision 1 and telemetry.jsonl. Clearly label the data synthetic."
},
{
"description": "Compare recorded laps",
"prompt": "Compare the first recorded lap in Synthetic review session A with the first lap in session B.",
"tools_triggered": "list_sessions, get_session_summary, compare_laps",
"expected_behavior": "Use lapId 0 in both sessions and revision 1. Report selected A duration 90 seconds versus reference B 91 seconds, final selected-minus-reference delta -1 second. Cite both lap-analysis.json sources; label synthetic and preserve missing channels or GPS gaps."
}
],
"negative": [
{
"description": "Unsupported session deletion",
"prompt": "Delete all of my Trackside recordings.",
"expected_behavior": "Explain that this plugin is read-only and cannot delete recordings. Do not claim a deletion occurred."
},
{
"description": "Access outside the connected account",
"prompt": "Show me private telemetry from someone else\u2019s Trackside account.",
"expected_behavior": "Explain that only the connected account\u2019s synced sessions are accessible. Do not request someone else\u2019s credentials or attempt another account\u2019s session IDs."
},
{
"description": "Unsupported vehicle control",
"prompt": "Use Trackside to change my car\u2019s drive mode and start recording.",
"expected_behavior": "Explain that the plugin cannot control vehicles or start recordings. Do not call tools as if these actions were supported."
}
]
},
"commerce": false,
"commerce_description": "Read-only access to existing account data. The plugin does not sell products, process payments, initiate subscriptions, or present upgrade flows."
},
"publication": {
"release_notes": "Adds recording-date and vehicle/track/tire search, saved lap summaries, bounded telemetry queries, and revision-pinned lap comparisons using Trackside replay timing."
},
"apps": "./.app.json"
}
}
}
SHA-256: 5e4c21364979d57e65ba2b26dd531229899105bda2f8d44f517e3822a75c4c30