u/Fantastic_Fix_1808

▲ 3 r/sideprojects+1 crossposts

Sharing a side project. Wanted to check how the idea lands before pushing it further.

It's tp-mcp. An MCP server that exposes a TrainingPeaks account to any MCP-aware assistant. 58 tools across workouts, structure, fitness curves, athlete settings, equipment, library. Started from an open-source MCP and extended with the daily-brief layer plus the design decisions below.

Two ways to use it:

  1. Connect to Claude Desktop or Claude Code as an MCP server, then have a conversation about your data: "build me a 4×8min threshold session for Tuesday," "compare my FTP this year vs last," "schedule mobility on Saturday." Claude reads and writes through the tools.
  2. The output I actually use day-to-day is a Telegram brief at 09:00. Verdict (green/yellow/red), 2-3 actions, one line of "why." Real example attached.

Two design decisions worth discussing:

  1. The brief never shows raw metrics. No HRV number, no recovery score, no body battery percentage. Watches like Garmin and Whoop hand you data and expect you to translate it yourself ("HRV-baseline at -2.5 SD, what does that mean for today?"). tp-mcp does the translation and hands you a sentence: "your heart's working a bit harder than usual, take it easy." The numbers exist underneath in the rules. They just don't reach the screen.
  2. The brief is NOT LLM-generated end-to-end. The verdict and action list come from hand-coded rules in Python. The LLM only renders prose around the verdict. It can paraphrase but can't invent a recommendation.

That decision was load-bearing. I didn't trust an LLM to decide what I should train, but I'll let one phrase the result in plain language.

Mostly looking for impressions:

  • Does the MCP-server-as-personal-data-tool angle feel useful, or like a solution looking for a problem?
  • Plain-language output vs raw-metrics dashboards. Does that feel like a real gap, or am I solving for myself only?
  • Anyone built something similar and hit pitfalls I should know about?
reddit.com
u/Fantastic_Fix_1808 — 10 days ago