protogrid

Search / com.sportstracklive/mcp

SportsTrackLive

R0· no sign-in

Live GPS sports tracking + per-sport analysis of GPX/IGC/FIT files: thermals, wind, phases, laps

v0.1.1 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality84good
Trust80of 100
Uptime, 30 days100%
Latency p50406 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "sportstracklive": {
      "type": "http",
      "url": "https://mcp.sportstracklive.com/mcp"
    }
  }
}
claude mcp add --transport http sportstracklive https://mcp.sportstracklive.com/mcp
[mcp_servers.sportstracklive]
url = "https://mcp.sportstracklive.com/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "sportstracklive": {
      "type": "remote",
      "url": "https://mcp.sportstracklive.com/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "sportstracklive": {
      "type": "http",
      "url": "https://mcp.sportstracklive.com/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=sportstracklive&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLnNwb3J0c3RyYWNrbGl2ZS5jb20vbWNwIn0%3D"
}
{
  "servers": {
    "sportstracklive": {
      "type": "http",
      "url": "https://mcp.sportstracklive.com/mcp"
    }
  }
}
{
  "mcpServers": {
    "sportstracklive": {
      "httpUrl": "https://mcp.sportstracklive.com/mcp"
    }
  }
}
extensions:
  "sportstracklive":
    enabled: true
    name: "sportstracklive"
    type: streamable_http
    uri: "https://mcp.sportstracklive.com/mcp"
    timeout: 300

Quality 84 / 100good

protocol88 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • warn
    protocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every use
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene86 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • warn
    tools.description_length1 tools have descriptions over 1,024 characters, which crowds the context
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations9 of 9 tools declare readOnlyHint or destructiveHint
  • warn
    tools.directory_hints6 of 9 tools declare all four hints; missing: search_athletes (idempotentHint); search_tracks (idempotentHint); get_live_activities (idempotentHint)
  • pass
    tools.token_costabout 3,332 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability75 · weight 15
  • warn
    stability.changes9 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

9 tools, about 3,332 tokens to load them all · tool set 079858396eaf · tools last changed 2026-10-07 · checked 2026-10-20 12:13 UTC

Tool changes

  • search_trackschangedannotations
  • search_athleteschangedannotations
  • import_activitychangeddescription
    before

    Import the user's trace file (GPX, TCX, IGC, SBP or FIT, max 8 MiB) into THEIR SportsTrackLive account permanently — full analysis, 3D replay, appears in their profile with their default privacy setting. REQUIRES the user to be connected via OAuth (this MCP server supports it; the client starts the flow). For a user without an account, use create_ephemeral_replay instead. Provide the file exactly like analyze_activity_file (upload_id / file_url / file_base64).

    after · 67% of words in common

    Import the user's trace file (GPX, TCX, IGC, SBP or FIT, max 8 MiB) into THEIR SportsTrackLive account permanently — full analysis, 3D replay, appears in their profile with their default privacy setting. REQUIRES the user to be connected via OAuth (this MCP server supports it; the client starts the flow). For a user without an account, use create_ephemeral_replay instead. Send the file through exactly one of `file_url` (public https link), `upload_id` or `file_base64` (small files; gzip accepted) — same routes as analyze_activity_file. If you cannot upload it yourself, call `create_upload_link`, have the user drop the file on the returned page, then pass its `upload_id` here.

  • get_track_statschangedannotations
  • get_track_replay_3dchangedannotations
  • get_live_activitieschangedannotations
  • create_upload_linkadded

    Get a one-time web link the USER opens in their browser to send their trace file (GPX, TCX, IGC, SBP or FIT, max 8 MiB) to SportsTrackLive, plus the `upload_id` that analyze_activity_file, create_ephemeral_replay and import_activity then accept. Use it whenever you cannot transmit the file yourself: no shell, a sandbox that refuses mcp.sportstracklive.com (403), no public link, or a file too large for `file_base64`. Give the user the link as a clickable URL, ask them to drop the file there and to tell you when it is done, THEN call the file tool with the `upload_id`. The link and the file both expire after 15 minutes; the file is deleted afterwards and never listed anywhere.

  • create_ephemeral_replaychangeddescription
    before

    Create an interactive 3D replay of the USER'S OWN trace file (GPX, TCX, IGC, SBP or FIT, max 8 MiB) on SportsTrackLive and return its link. The flight becomes a PRIVATE track owned by a temporary guest account — it appears in no listing or search — and the link stays valid 7 days, after which everything is purged. From the replay page the user can create an account to keep the flight permanently. Provide the file exactly like analyze_activity_file (upload_id / file_url / file_base64); pass pilot_name so the player credits the right person. Takes up to ~90 s (the full analysis pipeline runs).

    after · 70% of words in common

    Create an interactive 3D replay of the USER'S OWN trace file (GPX, TCX, IGC, SBP or FIT, max 8 MiB) on SportsTrackLive and return its link. The flight becomes a PRIVATE track owned by a temporary guest account — it appears in no listing or search — and the link stays valid 7 days, after which everything is purged. From the replay page the user can create an account to keep the flight permanently. Send the file through exactly one of `file_url` (public https link), `upload_id` or `file_base64` (small files; gzip accepted) — same routes as analyze_activity_file. If you cannot upload it yourself (no shell, or your sandbox answers 403 for mcp.sportstracklive.com), do not stop: call `create_upload_link`, have the user drop the file on the returned page, then pass its `upload_id` here. Pass pilot_name so the player credits the right person. Takes up to ~90 s (the full analysis pipeline runs).

  • analyze_activity_filechangeddescription, input schema, annotations
    before

    Analyze a GPS activity trace file (GPX, TCX, IGC, SBP or FIT, max 8 MiB) and return sport-specific metrics computed by the SportsTrackLive engine: distance, speeds, altitudes, and — depending on the sport — thermal detection with climb statistics, flight phases (glide/float/search) with glide polar and MacCready, wind estimation, lap detection around course marks, and splits. Stateless: nothing is stored, no account needed. Provide the file ONE of three ways — never reconstruct file content inside the conversation: (1) LOCAL file + shell available: run `curl -s -X POST https://mcp.sportstracklive.com/upload --data-binary @/path/to/file` in ONE command, then pass the returned `upload_id`; (2) file already online: pass its public https link as `file_url`, the server downloads it; (3) `file_base64` only for small files (< ~100 KB).

    after · 52% of words in common

    Analyze a GPS activity trace file (GPX, TCX, IGC, SBP or FIT, max 8 MiB) and return sport-specific metrics computed by the SportsTrackLive engine: distance, speeds, altitudes, and — depending on the sport — thermal detection with climb statistics, flight phases (glide/float/search) with glide polar and MacCready, wind estimation, lap detection around course marks, and splits. Stateless: nothing is stored, no account needed. HOW TO SEND THE FILE — pass exactly one of `file_url`, `upload_id` or `file_base64`. Take the first route below that works where you run and move on to the next whenever one is blocked; a blocked route is never a reason to stop or to ask the user to change settings. (1) The file already has a public https link: pass it as `file_url`. (2) You have a shell with outbound network access: `curl -s -X POST https://mcp.sportstracklive.com/upload --data-binary @/path/to/file` then pass the returned `upload_id`. A 403, a proxy error or a timeout here means your sandbox blocks the host — go to the next route. (3) The file is small: `file_base64`, keeping the base64 text under ~100 KB; gzip is inflated automatically, so `gzip -9 -c file | base64` fits traces 3–4× larger. (4) ALWAYS WORKS, including chat apps with no shell or a locked-down sandbox: call `create_upload_link`, give the user the link it returns, and once they have dropped the file there call this tool with the returned `upload_id`. Never retype or reconstruct file content by hand.

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 80 / 100

no-repository
provenance55
liveness100
freshness85
hygiene80

+dns-namespace +website +reachable +uptime-100% ~updated-72d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://mcp.sportstracklive.com/mcp streamable-httpnoneyes100%406 ms2024-11-05, 2025-03-26, 2025-06-18, 2025-11-25, 2026-07-282026-10-20

Tools (9)

analyze_activity_fileread-onlyAnalyze a GPS activity trace file (GPX, TCX, IGC, SBP or FIT, max 8 MiB) and return sport-specific metrics computed by the SportsTrackLive engine: distance, speeds, altitudes, and — depending on the sport — thermal detection with climb statistics, flight phases (glide/float/search) with glide polar and MacCready, wind estimation, lap detection around course marks, and splits. Stateless: nothing is stored, no account needed. HOW TO SEND THE FILE — pass exactly one of `file_url`, `upload_id` or `file_base64`. Take the first route below that works where you run and move on to the next whenever one is blocked; a blocked route is never a reason to stop or to ask the user to change settings. (1) The file already has a public https link: pass it as `file_url`. (2) You have a shell with outbound network access: `curl -s -X POST https://mcp.sportstracklive.com/upload --data-binary @/path/to/file` then pass the returned `upload_id`. A 403, a proxy error or a timeout here means your sandbox blocks the host — go to the next route. (3) The file is small: `file_base64`, keeping the base64 text under ~100 KB; gzip is inflated automatically, so `gzip -9 -c file | base64` fits traces 3–4× larger. (4) ALWAYS WORKS, including chat apps with no shell or a locked-down sandbox: call `create_upload_link`, give the user the link it returns, and once they have dropped the file there call this tool with the returned `upload_id`. Never retype or reconstruct file content by hand.
create_ephemeral_replayCreate an interactive 3D replay of the USER'S OWN trace file (GPX, TCX, IGC, SBP or FIT, max 8 MiB) on SportsTrackLive and return its link. The flight becomes a PRIVATE track owned by a temporary guest account — it appears in no listing or search — and the link stays valid 7 days, after which everything is purged. From the replay page the user can create an account to keep the flight permanently. Send the file through exactly one of `file_url` (public https link), `upload_id` or `file_base64` (small files; gzip accepted) — same routes as analyze_activity_file. If you cannot upload it yourself (no shell, or your sandbox answers 403 for mcp.sportstracklive.com), do not stop: call `create_upload_link`, have the user drop the file on the returned page, then pass its `upload_id` here. Pass pilot_name so the player credits the right person. Takes up to ~90 s (the full analysis pipeline runs).
create_upload_linkGet a one-time web link the USER opens in their browser to send their trace file (GPX, TCX, IGC, SBP or FIT, max 8 MiB) to SportsTrackLive, plus the `upload_id` that analyze_activity_file, create_ephemeral_replay and import_activity then accept. Use it whenever you cannot transmit the file yourself: no shell, a sandbox that refuses mcp.sportstracklive.com (403), no public link, or a file too large for `file_base64`. Give the user the link as a clickable URL, ask them to drop the file there and to tell you when it is done, THEN call the file tool with the `upload_id`. The link and the file both expire after 15 minutes; the file is deleted afterwards and never listed anywhere.
get_live_activitiesread-onlyList public SportsTrackLive activities being recorded LIVE right now (paragliding flights, sailing races, rides, runs…), optionally filtered by sport and country. Each entry carries the athlete, sport, location, start time, latest recorded position/speed and a watch_url to follow the activity live in a browser.
get_track_replay_3dread-onlyGet the interactive 3D replay URL of an EXISTING PUBLIC SportsTrackLive track (Cesium terrain viewer with camera controls and timeline) plus its summary statistics. The URL must be opened in a web browser — share it with the user. NOT for a file the user just provided: for that, use create_ephemeral_replay, which builds a private replay of THEIR trace. Never substitute another athlete's track for the user's own file.
get_track_statsread-onlyGet the public statistics of a SportsTrackLive track by its numeric id: athlete, sport, location, date, duration, distance, speeds, altitudes and the track's web page URL. Only public tracks are returned; private tracks answer not_found.
import_activityImport the user's trace file (GPX, TCX, IGC, SBP or FIT, max 8 MiB) into THEIR SportsTrackLive account permanently — full analysis, 3D replay, appears in their profile with their default privacy setting. REQUIRES the user to be connected via OAuth (this MCP server supports it; the client starts the flow). For a user without an account, use create_ephemeral_replay instead. Send the file through exactly one of `file_url` (public https link), `upload_id` or `file_base64` (small files; gzip accepted) — same routes as analyze_activity_file. If you cannot upload it yourself, call `create_upload_link`, have the user drop the file on the returned page, then pass its `upload_id` here.
search_athletesread-onlySearch SportsTrackLive athletes by name (user name, first or last name). Returns id, user name, full name, country, number of public tracks and the public profile URL.
search_tracksread-onlySearch public SportsTrackLive tracks (finished, stored activities), newest first. Filter by free text (locality / take-off name or athlete user name), sport name, and an ISO date range. Returns per track the athlete, sport, location, date and web page URL; feed a track_id to get_track_stats for full statistics.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "com.sportstracklive/mcp",
  "icons": [
    {
      "src": "https://mcp.sportstracklive.com/icon-512.png",
      "sizes": [
        "512x512"
      ],
      "mimeType": "image/png"
    }
  ],
  "title": "SportsTrackLive",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://mcp.sportstracklive.com/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.1.1",
  "websiteUrl": "https://www.sportstracklive.com",
  "description": "Live GPS sports tracking + per-sport analysis of GPX/IGC/FIT files: thermals, wind, phases, laps"
}