ChatGPX A developer built ChatGPX, an open-source app that lets users log in with their Komoot account, download their hiking, running, and cycling tours as GPX files, and chat with an LLM that has tool access to that data via an MCP server. Statistics such as distance (haversine), elevation gain and loss, elapsed time, and pace are computed in code from the raw GPS tracks rather than by the model, with Komoot's own figures shown alongside as a cross-check. The project also serves as a reusable example of exposing personal outdoor data to any MCP client. This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass https://dev.to/challenges/hacktoberfest-week1-2026-10-05 chatGPX lets you chat with your own Komoot hiking, running, and cycling history. You log in with your Komoot account, the app downloads your tours as GPX files, and an LLM with tool access answers questions about them. The numbers come from the raw GPS tracks rather than from description text: distance haversine , elevation gain and loss, elapsed time, and pace, with a monthly breakdown across your whole history. Where Komoot reports its own figures, they are shown alongside as a cross-check. It is meant to send people outdoors. Questions like "which month did I climb the most?" or "what was my longest hike this year?" turn past outings into a record you can learn from and plan the next one against. It is aimed at hikers, runners, and cyclists who already log activities and want more than a dashboard. It is also a small, reusable example of exposing personal outdoor data to any MCP client. Chat with your own Komoot hiking/running/cycling activities, and get real statistics computed from the raw GPS data — not just descriptions. You log in with your Komoot email and password, the app pulls your tours as GPX files, and you can then chat with an LLM over OpenRouter that has tool access to that data via an MCP server — including tools that compute real distance, elevation and pace figures from the GPS track itself, not just whatever a description string happens to say. server.py — an MCP server exposing tools over your downloaded GPX activities list activities , read activity , get activity stats get stats summary , summarize , generate activity video plus a docs://traces resource. gpx sync.py — logs in to Komoot and downloads all tours as GPX files download all gpx email, password, output dir=... - list Path compatible with what chat backend.py — connects to OPENAI BASE URL and OPENAI MODEL . app.py : /api/login and /api/chat endpoints. .claude and .serena are in the repo . Statistics are computed in code, not by the model. The LLM decides which tool to call and explains the result, which keeps the figures reproducible.