Skip to main content
Glama

aiTrainer

Personal workout coach as a Python MCP server for OpenClaw. Chat over Telegram, log exercises in natural language, and let the agent read structured progress from SQLite.

Features

  • Log exercises, sets, reps, weights, optional RPE, and notes

  • Automatic workout session grouping (same day + within idle timeout)

  • Exercise aliases (bench, bench press, etc.)

  • Progress signals: estimated 1RM, personal bests, volume trend, sessions since last increase

  • MCP stdio transport for OpenClaw

Related MCP server: MCP Logger

Requirements

  • Python 3.11+

  • Linux target machine (also works on macOS for development)

Install

python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"

Run locally

aicoach-mcp

Or:

python -m aicoach.server

Configuration

Environment variables:

Variable

Default

Description

AICOACH_DB_PATH

~/.local/share/aicoach/aicoach.db

SQLite database path

AICOACH_DEFAULT_UNIT

kg

Default weight unit

AICOACH_IDLE_TIMEOUT_SECONDS

10800 (3h)

Auto-close idle workout sessions

OpenClaw setup

Add aiCoach to your OpenClaw MCP config. On a standard install this lives in ~/.openclaw/openclaw.json.

Option A: CLI helper

openclaw mcp set aicoach '{
  "command": "/path/to/aicoach/.venv/bin/aicoach-mcp",
  "env": {
    "AICOACH_DB_PATH": "/home/you/.local/share/aicoach/aicoach.db"
  }
}'

Option B: direct JSON config

{
  "mcpServers": {
    "aicoach": {
      "command": "/path/to/aicoach/.venv/bin/aicoach-mcp",
      "args": [],
      "env": {
        "AICOACH_DB_PATH": "/home/you/.local/share/aicoach/aicoach.db"
      }
    }
  }
}

Notes:

  • A command field means OpenClaw launches the server over stdio automatically.

  • Use the absolute path to your virtualenv binary on the Linux host.

  • Restart or reload OpenClaw after changing MCP config.

Agent prompt

Copy prompts/coach_instructions.md into your OpenClaw agent instructions so the model knows when to call aiCoach tools.

MCP tools

Tool

Purpose

log_workout

Log one exercise and attach it to the current session

get_current_workout

Show the open session and exercises logged so far

get_session

Fetch one session with set ids for editing

get_exercise_history

Recent sessions for one exercise

get_recent_workouts

Recent sessions across exercises

get_progress

Coaching signals for one exercise

list_exercises

Known exercises and aliases

update_session

Change a session date or note

update_workout_set

Update one set by id

delete_session

Delete an entire workout session

delete_exercise_from_session

Delete one exercise from a session

merge_sessions

Merge source sessions into one target session

Example tool input

{
  "exercise": "squat",
  "sets": [
    {"reps": 5, "weight": 100},
    {"reps": 5, "weight": 100},
    {"reps": 5, "weight": 100}
  ],
  "note": "moved well"
}

Tests

pytest

MCP stdio smoke test:

python scripts/mcp_smoke_test.py

OpenClaw example config

See examples/openclaw-mcp-snippet.json for a copy-paste MCP server entry.

Project layout

aicoach/
  config.py      # settings and env vars
  db.py          # sqlite schema
  repository.py  # storage and session logic
  progress.py    # coaching signals
  server.py      # MCP server
prompts/
  coach_instructions.md
tests/
Install Server
F
license - not found
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    A personal fitness tracking server that enables logging and querying workouts, nutrition, and body metrics through a local SQLite database. Integrates with OpenNutrition MCP for food logging and supports exercise history tracking for workout progression.
    Last updated
    17
  • F
    license
    B
    quality
    C
    maintenance
    A personal remote MCP server for fitness data that provides read-only tools to query Garmin Connect activities and Hevy workouts, enabling users to list, retrieve, and analyze exercise records through natural language.
    Last updated
    13
  • A
    license
    -
    quality
    C
    maintenance
    A Model Context Protocol (MCP) server that provides AI assistants with access to the Hevy fitness tracking API. This allows you to log workouts, manage routines, browse exercises, and track your fitness progress directly through AI chat interfaces.
    Last updated
    21
    MIT

View all related MCP servers

Related MCP Connectors

  • GibsonAI MCP server: manage your databases with natural language

  • MCP server for Withings health data — sleep, activity, heart, and body metrics.

  • MCP server for generating rough-draft project plans from natural-language prompts.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dns-szrvs/aiTrainer'

If you have feedback or need assistance with the MCP directory API, please join our Discord server