MCP server for evidence-based strength training
Project description
Strength Training MCP Server
A stateless MCP server exposing 8 tools for evidence-based strength training. Encodes classical powerlifting programs (5/3/1, Texas Method, Madcow, GZCLP, nSuns CAP3, Coan-Philippi, Smolov Jr), the Banister fitness-fatigue model, RPE-based autoregulation, and an adjustment policy engine.
No user data is stored on the server. All state lives in the calling agent. The server is a pure function: same inputs → same outputs.
Installation
# Install uv (one-time)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install deps + create venv
uv sync --all-extras
Running
# HTTP server
uv run python -m strength_training_mcp.server
# stdio server (Claude Desktop / Claude Code)
uv run strength-training-mcp
HTTP server starts on http://0.0.0.0:8080
- MCP JSON-RPC endpoint at
POST /mcp - Health check at
GET /health
Deployment
- ModelScope: see modelscope-deploy.md — deploy via
uvx. - Your own cloud server / VPS: see docs/selfhost.md for systemd + Caddy setup.
Quick start on any machine:
# HTTP server (for self-host / remote clients)
uvx --from strength-training-mcp strength-training-mcp-http --port 8080
# stdio server (for Claude Desktop / Claude Code local)
uvx --from strength-training-mcp strength-training-mcp
Agent Integration
See docs/agent-integration/ for setup guides:
Tools
| Tool | Purpose |
|---|---|
list_training_templates |
Browse the built-in program library |
get_template_plan |
Get a specific week's prescribed sessions |
lookup_exercise_form |
Get form cues + alternatives for an exercise |
explain_principle |
Explain a training science principle with citation |
calculate_fatigue_score |
Compute Banister CTL/ATL/TSB from training history |
suggest_session_modification |
Get adjustment recommendations based on fatigue + actual |
apply_plan_adjustment |
Apply aggregate adjustments to a week (deload, etc.) |
recommend_session_for_today |
Compose today's session with rationale |
See docs/api.md for full tool reference.
Development
uv sync --all-extras
uv run pytest tests/unit # unit tests
uv run pytest tests/integration # E2E tests
uv run pytest --cov=src/strength_training_mcp
Knowledge Sources
All templates and principles cite their original public sources. See docs/rts-principles.md for citations.
License
MIT (subject to ModelScope deployment terms).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file strength_training_mcp-0.1.1.tar.gz.
File metadata
- Download URL: strength_training_mcp-0.1.1.tar.gz
- Upload date:
- Size: 138.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fde8db5dd95a89e8eb18be59cc434719d957babe05839c8f0a0c716d009f460d
|
|
| MD5 |
b3823761ba091247c5b99736b7b7c7ee
|
|
| BLAKE2b-256 |
77b38fea20eec688ad555ddb1bfb419b72db3921fbcb9030e9eff3dc9fbf2864
|
Provenance
The following attestation bundles were made for strength_training_mcp-0.1.1.tar.gz:
Publisher:
publish.yml on daiduo2/strength-training-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
strength_training_mcp-0.1.1.tar.gz -
Subject digest:
fde8db5dd95a89e8eb18be59cc434719d957babe05839c8f0a0c716d009f460d - Sigstore transparency entry: 1896981573
- Sigstore integration time:
-
Permalink:
daiduo2/strength-training-mcp@86964d9000ce2694ee74cbaf9ef6881dd8271587 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/daiduo2
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@86964d9000ce2694ee74cbaf9ef6881dd8271587 -
Trigger Event:
push
-
Statement type:
File details
Details for the file strength_training_mcp-0.1.1-py3-none-any.whl.
File metadata
- Download URL: strength_training_mcp-0.1.1-py3-none-any.whl
- Upload date:
- Size: 48.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
952f6a319b745c5a536cfa668ae933c7771186550675dbffdc1e114572a092f2
|
|
| MD5 |
12b887f084f6fb282ebdcf0448cffc17
|
|
| BLAKE2b-256 |
acd90b25cdf095938540cab5113a405fd097451a2953e1a457ef38132c22ad45
|
Provenance
The following attestation bundles were made for strength_training_mcp-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on daiduo2/strength-training-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
strength_training_mcp-0.1.1-py3-none-any.whl -
Subject digest:
952f6a319b745c5a536cfa668ae933c7771186550675dbffdc1e114572a092f2 - Sigstore transparency entry: 1896981710
- Sigstore integration time:
-
Permalink:
daiduo2/strength-training-mcp@86964d9000ce2694ee74cbaf9ef6881dd8271587 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/daiduo2
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@86964d9000ce2694ee74cbaf9ef6881dd8271587 -
Trigger Event:
push
-
Statement type: