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-rulescoach-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

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
    1
    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
    B
    maintenance
    Enables workout tracking and coaching within Claude conversations, managing exercise configs, logs, streaks, and health metrics via an MCP server with PostgreSQL.
    -