Skip to main content
Glama
seselcuk
by seselcuk

Coach MCP — Experiment / Learning Project

This is not production. It is a side project created to experiment with the MCP (Model Context Protocol) version of the main Coach application. Goal: learn the MCP architecture, show what it would look like if integrated into the main project.

Architecture

mcp_servers/data/demo.db  (SQLite — uydurma seed veri)
        ↑                    ↑
   MCP server'lar        Streamlit
   (Claude Desktop)      (localhost:8501)

Key idea: One data source, two different clients — one conversational (Claude Desktop + MCP), one visual (Streamlit).

Related MCP server: fitness-mcp-server

Difference from the Main Project

Main Project (production)

This Experiment

Model access

Push model — Worker pastes context into prompt

Pull model — Claude pulls from MCP servers

Client

iOS + Streamlit

Claude Desktop + Streamlit

Deploy

Cloudflare Workers + D1

Local Python

Data source

Real Garmin API

Fake SQLite seed

Goal

Generate value for user

Learn/demonstrate architecture

MCP Servers

  1. garmin — Activity history, wellness, HR zone distribution, weekly load (from SQLite)

  2. pain — Pain history + log new pain (INSERT into SQLite)

  3. coach-rules — coach-principles.md + pain-rubric.md as prompt template

For details and API: mcp_servers/README.md

Quick Start

# 1. Bağımlılıklar
python3.11 -m venv .venv
.venv/bin/pip install -r requirements.txt

# 2. DB seed
.venv/bin/python -m mcp_servers.data.seed

# 3. Claude Desktop config kur
cp mcp_servers/claude_desktop_config.example.json \
   "$HOME/Library/Application Support/Claude/claude_desktop_config.json"

# 4. Claude Desktop'ı restart (Cmd+Q sonra yeniden aç)

# 5. Streamlit dashboard (opsiyonel, görsel demo için — port 8502, ana projenin 8501 ile çakışmaz)
.venv/bin/streamlit run streamlit_demo/app.py --server.port 8502

Demo Scenarios

For 3 scenarios and flow to be used in the presentation: DEMO.md

Folder Structure

antrenör_mcp/
├── mcp_servers/
│   ├── garmin/server.py       Aktivite + wellness + zone MCP
│   ├── pain/server.py         Ağrı geçmişi + log_pain tool
│   ├── coach_rules/server.py  Prensipler + rubric prompt template
│   ├── data/seed.py           DB seed script
│   ├── data/demo.db           SQLite (git'e girmez)
│   └── claude_desktop_config.example.json
├── streamlit_demo/app.py      3 tab dashboard
├── docs/
│   ├── coach-principles.md    Zone 2, shin, deload kuralları
│   └── pain-rubric.md         0-10 ağrı ölçeği
├── DEMO.md                    Sunum senaryosu
└── requirements.txt

Related MCP Connectors

  • tri-train is a training platform for triathletes that syncs activities from Strava and Garmin and exposes them to Claude through a remote MCP server. Ask Claude how your last block went, why your run pace dropped, or whether you are fresh enough for Sunday's race, and it answers from your real data: activities with laps and grade-adjusted pace, weekly load and the performance management chart (CTL/ATL/TSB), sleep, HRV and resting heart rate, and your race calendar with predictions. Claude can also act: create and adjust planned workouts with structured intervals, push them to your Garmin watch, add races and write notes. Every change is journaled and can be undone. Read and write access are separate OAuth scopes, and the server enforces them on every call. Built and hosted in Switzerland by a triathlete; data stays on our own servers (Swiss revDSG / GDPR).

    https://tri-train.com/api/mcp
  • Talk to your own gym log. Reps is a free workout tracker for iPhone and Android; connect it to Claude, ChatGPT or any MCP client and ask about your workout history, personal records, exercise progression, weekly summaries, routines and training plan. The assistant can also save a new routine, edit one, save a whole plan, add custom exercises and exercise notes, always after you confirm in the chat. It cannot log a workout or delete your history. Requires a free Reps account created in the app; you sign in with a one-time email code.

    https://api.repsworkout.com/mcp
  • Pace is a remote MCP server that exposes wearable and fitness data to Claude via the Model Context Protocol. It connects to Garmin, Oura, Whoop, Polar, Fitbit and 20+ devices and provides 15 tools for querying sleep, activity, recovery, and training data. Hosted on Google Cloud Run, OAuth 2.1 authentication, Streamable HTTP transport. Instructions: First you need to create an account at: https://pacetraining.co and connect your wearables. After that you can connect the remote Server via Custom Connector in Claude and OAuth 2.1 Flow startet.

  • Apple Health training load, recovery, HRV and workout detail for Claude, ChatGPT and any MCP client.

    https://somvia.app/mcp

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Enables Claude to access and query your Garmin Connect data, including sleep, activities, training load, and health metrics, through a set of read-only MCP tools.
    28
    228 PyPI
    4
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides MCP servers for Claude to access fitness data from Strava and intervals.icu, enabling natural language queries for activity analysis, advanced training metrics, and wellness tracking.
    1
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables workout tracking and coaching within Claude conversations, managing exercise configs, logs, streaks, and health metrics via an MCP server with PostgreSQL.
    -