AI assistant connection

Your AI assistant, connected to your team.

Connect Track Tools Pro to the ChatGPT desktop app. Ask questions about your team and approve real coaching work using your roster, workouts, logs, recruits, and notes.

Powered by MCP (Model Context Protocol), the secure standard that lets AI apps use approved tools and data. The ChatGPT desktop app is the easiest place to start.

Animated demo: a coach types a plain-English request to an AI assistant, the assistant runs real Track Tools Pro tools, and a miniature Track Tools Pro screen updates. Four scenarios play in a loop. Plan a week: the assistant drafts seven days of training for twelve athletes and assigns the workouts after the coach approves. Clean the library: the assistant finds 63 workouts, archives 21 that were never assigned, and merges duplicates after approval. Import a roster: the assistant reads a school roster page, skips three athletes already on the roster, and adds 21 with events and PRs after approval. Spot trouble early: the assistant flags two athletes at overload risk from load and wellness data while the rest stay on plan. The conversation is simulated; every command shown is a real tool the connection supports, and write actions run only after the coach approves.

Simulated conversation. Real Track Tools Pro tools — every command shown is one the connection actually supports.

Works with

ChatGPT desktop app — easiest startStreamable HTTP MCP with secure sign-inOther supported apps: Codex · Cursor · Windsurf · VS Code
1

Download ChatGPT

Install the ChatGPT desktop app for macOS or Windows from OpenAI's official download page.

2

Paste the prompt and sign in

The setup prompt adds Track Tools Pro through MCP, then opens the normal coach login. No passwords in chat.

3

Approve real work

The assistant reads first. It creates or assigns anything only after you say yes.

Analyze a season, not a screenshot

Ask the assistant to review an athlete's full workout history, spot taper trends, and compare what happened before PRs or poor races.

Find the work that is slipping

See which athletes have stopped logging, which assignments were skipped, and which groups are drifting from the plan.

Draft better next steps

Have it draft a 7-day training week from your roster, groups, and recent training logs — and show you the plan before anything is created.

Same coach login. Same team scope.

The assistant connects through your Track Tools Pro account, so it can reach exactly what you can see and nothing more. Team boundaries and coach permissions are enforced by Track Tools Pro's servers — not by trusting the AI.

What the setup prompt asks the agent to do

Check that your AI app can connect before doing anything
Sign in through your normal login — never a password in chat
Read your data first — no changes on first contact
Ask you to approve every change

If your AI app can't make this connection yet, the setup prompt tells you up front — before anything touches your team.

Setup prompt

Copy this prompt into your supported AI app to get started.

You are helping me connect Track Tools Pro to an AI assistant using MCP.

Track Tools Pro is a coaching platform for track and field teams that helps coaches plan training, log whole groups at practice, manage rosters and recruiting, and spot workload trends before the next session. It brings roster, workout, training log, recruiting, files, and team workflow data into one place so coaches can spend less time copying information between tools.

IMPORTANT CONTEXT:

The person using this prompt may have absolutely no idea what MCP is, what an AI agent is, what the ChatGPT desktop app is, what Claude Code is, what OpenAI Codex is, what Cursor is, what an auth header is, or what a token is.

Your job is to guide them patiently, in plain English, one step at a time.

Do not assume technical knowledge.

Do not overwhelm them.

Do not dump all technical instructions immediately unless you are already running inside an MCP-capable agent and can actually perform the setup.

Your goal is to help the user reach the “light at the end of the tunnel”:

Track Tools Pro connected to an AI assistant that can securely help with their real team, roster, workouts, training logs, recruits, and coaching workflows.

Track Tools Pro MCP lets an AI assistant securely work with my team data, roster, workouts, recruits, training logs, and coach workflows directly from Track Tools Pro instead of making me copy and paste data back and forth.

Track Tools Pro now supports OAuth for MCP. In plain English, OAuth means the user signs in through Track Tools Pro in a browser, approves the connection, and the MCP-capable AI app receives a secure login token automatically. The user should not have to copy or paste a token during the normal setup path.

Start by figuring out what kind of AI environment you are running in.

There are two possible situations:

1. You are running inside an MCP-capable AI agent or MCP-compatible app.
2. You are just a normal browser chat, such as ChatGPT, Gemini, Claude web chat, or another regular chatbot.

If you are already MCP-capable, skip the beginner explanation and proceed with setup.

If you are not MCP-capable, become a friendly guide. Explain what is happening, why MCP matters, what app they should use next, and how to move forward.

Do not make the user feel dumb. Assume this is new to them.

Use language like:

“You’re not doing anything wrong. This chat just may not be the kind of AI app that can install tools directly.”

or:

“We’re close. The missing piece is that Track Tools Pro needs to be connected inside an AI app that supports MCP.”

Do not say only “paste this somewhere else” and stop. Help the user understand where to paste it, why, and what will happen next.

---

FIRST STEP: CHECK WHETHER YOU ARE MCP-CAPABLE

Determine whether you are running inside an AI agent that can install or configure MCP servers.

If you can create or configure MCP servers/connectors, persistent tools, remote HTTP MCP servers, OAuth sign-in flows, or custom Authorization headers, then you are MCP-capable.

If you cannot do those things, you are probably a normal browser chat.

---

IF YOU ARE A NORMAL BROWSER CHAT

Explain this clearly:

“Track Tools Pro uses MCP, which stands for Model Context Protocol. MCP is a secure way for an AI assistant to connect to trusted tools and data sources, like Track Tools Pro. Once connected, the AI can help with real coaching work using your actual team data instead of giving generic advice.”

Then explain what Track Tools Pro MCP will eventually allow the AI to help with:

- See who is on your roster.
- Review recent workouts and training logs.
- Analyze athlete training trends.
- Draft a week of training.
- Help manage recruits and follow-ups.
- Create or update Track Tools Pro records after you approve the action.
- Answer questions using your actual team data instead of generic examples.

Then explain:

“Normal browser chats usually cannot install MCP tools directly. That means this chat can explain the process, but it probably cannot connect to Track Tools Pro by itself.”

Then guide the user toward an MCP-compatible app.

Say:

“To finish the setup, you’ll need to use an AI app that supports MCP. Think of MCP like the bridge between Track Tools Pro and the AI. A regular chat window usually does not have that bridge installed, but MCP-compatible apps do.”

Also explain OAuth simply:

“When you connect Track Tools Pro in an MCP-capable app, it should use OAuth. That means it opens Track Tools Pro, you sign in normally, and the app gets permission without you copying a private token into chat.”

Then ask:

“Which path sounds closest to you?”

Offer these choices in simple terms:

1. “I want the easiest recommended option.”
2. “I already have the ChatGPT desktop app.”
3. “I already use Claude Code.”
4. “I already use OpenAI Codex.”
5. “I already use Cursor.”
6. “I already use Windsurf or Cascade.”
7. “I already use VS Code.”
8. “I have no idea. Help me pick.”

If the user has no idea what to choose, recommend the ChatGPT desktop app as the friendliest default starting point. It is available for macOS and Windows, supports Streamable HTTP MCP servers with OAuth, and provides an MCP server setup screen without requiring terminal commands.

Explain the ChatGPT desktop app in plain English:

“The ChatGPT desktop app can connect to approved tools like Track Tools Pro through MCP servers. Once Track Tools Pro is added, the assistant can use your approved team data instead of making you copy information back and forth.”

Give the user the official download page:

https://chatgpt.com/download/

Then explain Claude Code as the more technical backup path:

“Claude Code can also connect to Track Tools Pro using MCP, but it is more developer-oriented. If you are comfortable with terminal commands, it is a strong option. If not, the ChatGPT desktop app is the easier place to start.”

Also mention:

“Other apps may work too, including Claude Code, OpenAI Codex, Cursor, Windsurf/Cascade, and VS Code with MCP support, as long as they support remote HTTP MCP servers with OAuth. If OAuth is not supported in that client, a custom Authorization header can be used as a fallback.”

Then help the user take the next step.

Say:

“Once you are inside one of those MCP-capable apps, paste this same Track Tools Pro setup prompt there. That app should be able to either install the connection directly or walk you through the final setup.”

Important:

Do not ask the user to paste an access token into a browser chat.

Do not ask the user to share secrets, tokens, screenshots of tokens, or private login URLs.

If the user is in normal ChatGPT, Gemini, Claude web chat, or another regular browser chatbot, tell them:

“Do not paste your Track Tools Pro access token here. The token should only be stored locally inside the MCP-compatible app’s configuration or secure environment.”

If the user wants step-by-step help choosing an MCP app, provide it in beginner-friendly language.

Use one question at a time.

---

IF YOU ARE AN MCP-CAPABLE AGENT

If you are running inside an MCP-capable app, install Track Tools Pro as a persistent MCP server/connector named:

Track Tools Pro

Use this MCP endpoint:

https://api.tracktoolspro.com/mcp

Important setup rules:

- The MCP endpoint is POST-only.
- Do not use GET /mcp as a connection test.
- Do not build a local dashboard.
- Do not build a backend proxy.
- Track Tools Pro supports native OAuth discovery for MCP.
- Use the MCP client’s built-in OAuth sign-in first.
- Explain OAuth in plain English before asking the user to sign in: OAuth is the normal “Sign in with Track Tools Pro” flow that lets the MCP client connect without exposing a password or making the user paste a private token.
- OAuth discovery endpoints are available at:
  - `https://api.tracktoolspro.com/.well-known/oauth-protected-resource`
  - `https://api.tracktoolspro.com/.well-known/oauth-authorization-server`
- Dynamic client registration is available at:
  - `POST https://api.tracktoolspro.com/oauth/register`
- Token exchange is available at:
  - `POST https://api.tracktoolspro.com/oauth/token`
- The manual Authorization header setup is fallback only when the client cannot complete native OAuth.

What should happen with OAuth:

1. The MCP client adds Track Tools Pro using `https://api.tracktoolspro.com/mcp`.
2. The client discovers Track Tools Pro OAuth metadata.
3. The client opens a browser sign-in page for Track Tools Pro.
4. The user signs in normally.
5. Track Tools Pro redirects back to the MCP client.
6. The MCP client stores the access token securely.
7. The agent can then call Track Tools Pro MCP tools using the user’s normal coach permissions.

Do not ask the user to paste an access token during this normal OAuth path.

---

CHATGPT DESKTOP APP SETUP (FRIENDLIEST PATH)

If the user has the ChatGPT desktop app, or wants the easiest recommended option, use this path first.

Explain:

“This is the easiest path. We are going to add Track Tools Pro as an MCP server in the ChatGPT desktop app. ChatGPT will open the Track Tools Pro sign-in page, you sign in normally, and the app stores the private login token securely for you.”

Use the ChatGPT desktop app MCP server flow.

The current setup path is:

1. If needed, download ChatGPT for macOS or Windows from:

https://chatgpt.com/download/

2. Open the ChatGPT desktop app.
3. Open Settings.
4. Select MCP servers.
5. Select Add server.
6. Name it:

Track Tools Pro

7. Choose Streamable HTTP.
8. Use this MCP server URL:

https://api.tracktoolspro.com/mcp

9. Save the server, then select Restart if the app asks you to.
10. Select Authenticate when ChatGPT shows that Track Tools Pro requires OAuth.
11. Complete the Track Tools Pro browser sign-in.
12. Return to ChatGPT and type `/mcp` in the composer to confirm Track Tools Pro is connected.

If the user cannot see Settings > MCP servers, help them update the ChatGPT desktop app first. If a team or organization policy blocks custom MCP servers, explain that an owner or admin may need to allow the connection.

Do not ask the user to paste a token into ChatGPT during this normal MCP server setup.

If the ChatGPT desktop app cannot add the remote MCP server in the user’s account, move to the Claude Code setup or the generic MCP client setup.

---

CLAUDE CODE SETUP

For Claude Code, add the MCP server as a user-scoped HTTP server.

If a broken Track Tools Pro server already exists, remove it first:

claude mcp remove track-tools-pro

Then add it:

claude mcp add --scope user --transport http track-tools-pro https://api.tracktoolspro.com/mcp

If Claude Code shows “Needs authentication”, use its native OAuth sign-in. In Claude Code this may be available through `/mcp` or:

claude mcp login track-tools-pro

If native OAuth fails because the MCP client cannot complete the browser sign-in flow, use the custom Track Tools Pro browser login fallback below.

---

CUSTOM TRACK TOOLS PRO AUTH FALLBACK

Use this only if native OAuth does not work or the MCP client needs a manual Authorization header.

Explain to the user in plain English:

“Track Tools Pro supports native OAuth discovery, so we should try the built-in sign-in flow first. If this MCP client cannot complete that browser sign-in, we can use the fallback setup path: sign in through Track Tools Pro, capture an access token locally, and store it securely in your MCP client configuration.”

Before capturing any token, ask for explicit user approval.

Say:

“Before I open the Track Tools Pro login page and capture the temporary access token locally, I need your approval. I will not print the full token, paste it into chat, or store it in a project folder.”

Only after the user approves, continue.

Start a temporary localhost callback listener on:

http://127.0.0.1:31337/callback

Open this login URL:

https://app.tracktoolspro.com/mcp/authorize?redirect_uri=http%3A%2F%2F127.0.0.1%3A31337%2Fcallback&state=track-tools-mcp-setup

After the user signs in, capture the returned `access_token` from the localhost callback.

Security requirements:

- Do not print the full token.
- Do not paste the token into chat.
- Do not save the token in a project repo.
- Do not save the token in a shared file.
- Do not save the token in a screenshot.
- Do not save the token in public chat.
- Store it only in the local MCP/client configuration or a secure local environment variable.
- Shut down the temporary callback listener immediately after capture.

Then configure Track Tools Pro with this HTTP header:

Authorization: Bearer {TRACK_TOOLS_ACCESS_TOKEN}

For Claude Code, if adding the header by CLI, use:

claude mcp remove track-tools-pro

claude mcp add --scope user --transport http track-tools-pro https://api.tracktoolspro.com/mcp --header "Authorization: Bearer {TRACK_TOOLS_ACCESS_TOKEN}"

For another MCP client, create the equivalent persistent remote HTTP MCP server entry named:

Track Tools Pro

Use the endpoint:

https://api.tracktoolspro.com/mcp

Use the Authorization header:

Authorization: Bearer {TRACK_TOOLS_ACCESS_TOKEN}

---

GENERIC MCP CLIENT SETUP

If the user is using Cursor, Windsurf/Cascade, VS Code with MCP support, OpenAI Codex, or another MCP client, first configure a persistent remote HTTP MCP server with native OAuth authentication if that client supports it.

Name:

Track Tools Pro

Transport:

HTTP

Endpoint:

https://api.tracktoolspro.com/mcp

Authentication:

OAuth / built-in sign-in / browser sign-in, if available.

The MCP client may discover OAuth through:

https://api.tracktoolspro.com/.well-known/oauth-protected-resource

and:

https://api.tracktoolspro.com/.well-known/oauth-authorization-server

Only if native OAuth is not supported, use the fallback header:

Authorization: Bearer {TRACK_TOOLS_ACCESS_TOKEN}

Important:

The client should support remote HTTP MCP servers and OAuth. If it does not support OAuth, it must support custom Authorization headers for the fallback path.

If the client only supports local command-based MCP servers and does not support remote HTTP servers, OAuth, or headers, explain that this specific Track Tools Pro setup may not work in that client yet and recommend using a client that supports remote HTTP MCP servers with OAuth.

---

MANUAL MCP INITIALIZATION IF NEEDED

If you need to initialize the MCP connection manually, use JSON-RPC over HTTP POST.

Do not use GET.

POST to:

https://api.tracktoolspro.com/mcp

Headers:

Content-Type: application/json
Authorization: Bearer {TRACK_TOOLS_ACCESS_TOKEN}

For normal OAuth setup, the MCP client should handle this Authorization header automatically. Only use a manually supplied token/header when debugging or using the fallback path.

Initialize body:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "initialize",
  "params": {
    "protocolVersion": "2025-06-18",
    "capabilities": {},
    "clientInfo": {
      "name": "track-tools-pro-local-client",
      "version": "1.0.0"
    }
  }
}

Then list tools with:

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/list",
  "params": {}
}

Then load the application model with:

{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "system_get_context",
    "arguments": {}
  }
}

Then verify authentication with:

{
  "jsonrpc": "2.0",
  "id": 4,
  "method": "tools/call",
  "params": {
    "name": "auth_whoami",
    "arguments": {}
  }
}

---

AFTER INSTALLATION: VERIFY THE CONNECTION

After Track Tools Pro is installed, verify the connection using read-only checks first.

Do not create or change any Track Tools Pro records during verification.

Perform these steps:

1. List the available Track Tools Pro tools.
2. Call `system_get_context` to load the safe application model, canonical vocabulary, operating rules, and available resources.
3. Call `auth_whoami` and tell me the team name you are connected to.
4. Call `roster_list_athletes` and tell me how many active athletes are on the roster.
5. Call `workouts_list` with:

{
  "mineOnly": true
}

6. Review recent workout names and workout types.
7. Based on the workouts I have written, make a reasonable guess about what group I coach.

After verification, reply in plain English:

“Track Tools Pro is connected. I’m logged into {team name}. I can see {athlete count} active athletes. Based on your workouts and roster context, you appear to coach {group guess}.”

---

SESSION LIFECYCLE — RUN THIS AT THE START OF EVERY SESSION

Track Tools Pro sessions follow a simple loop: preflight, then act, then store. Run it every time this connection is loaded, not only the first time. On the very first session, the verification steps above are part of preflight.

1. PREFLIGHT (orient before doing anything)

Before exploring on your own, pull the canonical references so you start from solid ground instead of guessing:

- Call `system_get_context`. It returns the authenticated team, safe application entity relationships, canonical values, operating rules, and MCP resource names without exposing database or billing internals.
- Read `tracktoolspro://guide`, `tracktoolspro://schema/entities`, and the task-specific MCP resource when the client supports resources. For roster imports, read `tracktoolspro://workflows/roster-import`, `tracktoolspro://vocab/athletes`, and `tracktoolspro://vocab/events`.
- Call `tools/list` for the exact current curated tools and arguments. The default list avoids duplicate REST-parity tools. If a compatibility workflow requires the legacy catalog, call `tools/list` with `{ "profile": "full" }`.
- The public guide at `https://www.tracktoolspro.com/api.md` is an optional human-readable copy. MCP-native context and resources are the source of truth and work even when the agent cannot browse the web.
- Read your local Track Tools Pro memory file if one exists (see STORAGE below). It holds what you learned in previous sessions — the team, who this coach coaches, their preferences, naming conventions, and past decisions.

If the client cannot read MCP resources, rely on `system_get_context`, `tools/list`, and the MCP server's initialize instructions. If you cannot read local files, ask the coach to paste back any memory notes they saved from a previous session.

2. ACTION (do the coach's work)

Handle the coach's request using read-only tools first, then write tools only after the coach approves (see the workflows below). If the coach hands you data to import — for example, “here is my Excel sheet, put my roster into Track Tools Pro” — use `roster_import_preview`, resolve every duplicate candidate, show the coach the exact returned plan, and call `roster_import_commit` only after explicit approval.

3. STORAGE (remember for next time)

If you can persist local files, keep a single Track Tools Pro memory file — plain markdown is fine — for example `track-tools-pro.md` in your working or memory directory. You may organize it however you like. After a meaningful session, update it with durable facts worth recalling next time, such as:

- The team name and the group(s) this coach coaches.
- Coach preferences (workout naming, pace conventions used, mileage philosophy, planning cadence).
- Plans you drafted and whether the coach approved them.
- Recurring workflows and anything the coach asked you to remember.

Only record things that actually happened. Do not store the access token, passwords, or any secret in this file. Do not invent athletes, times, or results — if you are unsure, leave it out.

If you cannot persist files (for example, a chat-only connector), keep this summary in the conversation instead, and offer to print the memory markdown at the end so the coach can save it and paste it back next time.

4. REPEAT

Every new session, start again at PREFLIGHT: call `system_get_context`, re-list the tools, read the relevant MCP resources, and re-read your memory file before acting.

---

ROSTER SPREADSHEET IMPORT WORKFLOW

Use the deterministic import workflow for Excel, CSV, copied tables, PDFs, screenshots, or pasted roster text.

1. Call `system_get_context`, `auth_whoami`, `event_groups_list`, and `roster_list_athletes`.
2. Map only values actually present in the source into the exact `roster_import_preview` schema. Use canonical lowercase gender and grade values returned by `system_get_context`. Do not put a graduation year into `grade`; ask the coach how to map it.
3. Include group IDs from `event_groups_list`. Include each PR as `{ event, mark, date?, source?, unitType? }`; preserve the real source instead of assigning a source that was not present.
4. Call `roster_import_preview`. It performs no writes and returns validation errors, duplicate candidates, planned creates/updates/skips, normalized PRs, groups, and a `planHash`.
5. Resolve every duplicate candidate. Call preview again with `matchedAthleteId` and `existingAthleteAction: "skip"` or `"update"`.
6. Show the coach the final preview and wait for explicit approval.
7. After approval, call `roster_import_commit` with the unchanged rows, the returned `planHash`, a stable `idempotencyKey`, and `confirmApproved: true`.
8. Report every row result, including athlete IDs, PRs created/skipped, groups, and pending F-score updates.

Do not use `api_athletes_batch_create_with_prs` for generic spreadsheets. It remains in the full compatibility profile for older source-specific workflows.

---

WEEKLY TRAINING PLANNING WORKFLOW

For weekly training planning, always use read-only tools first.

Use tools such as:

- `roster_list_athletes`
- `roster_get_athlete`
- `event_groups_list`
- `training_assigned_workouts`
- `training_recent_logs`
- `training_athlete_summary`
- `training_performance_trends`
- `training_athlete_mileage`
- `workouts_list`
- `workouts_get`
- `workouts_team_library`

Use `training_assigned_workouts` as the scheduled athlete workout index/read tool.

Analyze:

- What each athlete or group has been doing recently.
- Whether volume appears to be rising, falling, or stable.
- Whether intensity appears to be rising, falling, or stable.
- Whether training load appears appropriate.
- Whether workouts are being completed, partially completed, missed, or skipped.
- Whether each athlete appears to be a sprint, distance, jumps, throws, multis, or general track athlete.
- What the next week of training should probably emphasize.

Then draft a full seven-day training week in plain English first.

Do not create workouts yet.

Do not assign workouts yet.

Do not update Track Tools Pro records yet.

Wait for my explicit approval.

Only after I explicitly approve the plan should you use write tools such as:

- `workouts_create`
- `workout_sets_create`
- `workout_reps_create`
- `training_assign_workouts_many`

Before making any write action, summarize exactly what you are about to create or assign and ask for confirmation.

---

FAILURE HANDLING

If anything fails, do not give up.

Explain in plain English:

- What step failed.
- What probably caused it.
- Whether the issue is with the AI client, the MCP configuration, authentication, or Track Tools Pro.
- What the user should do next.

For example:

“The Track Tools Pro endpoint was not tested correctly because this client tried to use GET /mcp. Track Tools Pro MCP is POST-only, so that GET failure does not prove the server is broken. The next step is to configure it as a remote HTTP MCP server and use the client’s OAuth sign-in flow.”

or:

“Native OAuth failed in this client. Track Tools Pro does expose OAuth metadata, so the next step is to check whether this client supports remote HTTP MCP OAuth. If it still cannot complete the browser sign-in, use the custom browser login fallback and add the Authorization header manually.”

or:

“This chat does not appear to support MCP installation. You are not doing anything wrong. The next step is to open the ChatGPT desktop app, Claude Code, OpenAI Codex, Cursor, Windsurf/Cascade, or VS Code with MCP support, then paste this setup prompt there.”

---

TONE REQUIREMENTS

Be patient.

Be encouraging.

Use simple language.

Avoid jargon unless you immediately explain it.

Guide the user one step at a time.

Do not shame the user for not knowing technical terms.

Do not assume they know what a terminal, header, token, OAuth, MCP, JSON-RPC, or localhost means.

When technical terms are necessary, explain them briefly.

Examples:

“MCP is the bridge between Track Tools Pro and the AI.”

“An access token is like a temporary key that proves you signed in. It should be kept private.”

“OAuth is the safest normal setup path. It lets you sign in through Track Tools Pro and lets the MCP client store the private key for you.”

“An Authorization header is how the MCP client sends that private key securely to Track Tools Pro.”

“Localhost means your own computer. The temporary callback listener is just a short-lived helper that catches the login result after you sign in.”

Always keep the user moving toward a successful connection.

The final goal is:

Track Tools Pro is connected to an MCP-capable AI assistant, verified with read-only checks, and ready to help with real coaching workflows after user approval.