{"slug": "chatgpx", "title": "ChatGPX", "summary": "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.", "body_md": "*This is a submission for the [Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass](https://dev.to/challenges/hacktoberfest-week1-2026-10-05)*\n\nchatGPX 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.\n\nIt 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.\n\nChat with your own Komoot hiking/running/cycling activities, and get real statistics computed from the raw GPS data — not just descriptions.\n\nYou 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.\n\n`server.py` — an MCP server exposing tools over your downloaded GPX\nactivities (`list_activities`, `read_activity`, `get_activity_stats`\n`get_stats_summary`, `summarize`, `generate_activity_video`) plus a\n`docs://traces` resource.`gpx_sync.py` — logs in to Komoot and downloads all tours as GPX files\n(`download_all_gpx(email, password, output_dir=...) -> list[Path]`)\ncompatible 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].\nStatistics are computed in code, not by the model. The LLM decides which tool to call and explains the result, which keeps the figures reproducible.", "url": "https://wpnews.pro/news/chatgpx", "canonical_source": "https://dev.to/filippo_valle_a92d85baba0/chatgpx-4akd", "published_at": "2026-10-06 07:33:30+00:00", "updated_at": "2026-10-06 07:47:55.950604+00:00", "lang": "en", "topics": ["ai-agents", "agent-protocols", "ai-tools", "large-language-models"], "entities": ["ChatGPX", "Komoot", "OpenRouter", "MCP", "Hacktoberfest"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/chatgpx", "markdown": "https://wpnews.pro/news/chatgpx.md", "text": "https://wpnews.pro/news/chatgpx.txt", "jsonld": "https://wpnews.pro/news/chatgpx.jsonld"}}