Skip to main content

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

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).

Metadata

Release files for strength-training-mcp 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for strength-training-mcp 0.1.1
File Size Uploaded Provenance Actions
strength_training_mcp-0.1.1.tar.gz 138.7 kB With provenance Details for strength_training_mcp-0.1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for strength-training-mcp 0.1.1
File Interpreter ABI Platform Actions
strength_training_mcp-0.1.1-py3-none-any.whl Python 3 none any Details for strength_training_mcp-0.1.1-py3-none-any.whl

Total release size: 187.6 kB

Release files / strength_training_mcp-0.1.1.tar.gz

Download URL strength_training_mcp-0.1.1.tar.gz
Size 138.7 kB
Tags Source
SHA-256 checksum
How to use checksums
fde8db5dd95a89e8eb18be59cc434719d957babe05839c8f0a0c716d009f460d
BLAKE2b-256 checksum
How to use checksums
77b38fea20eec688ad555ddb1bfb419b72db3921fbcb9030e9eff3dc9fbf2864
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 21, 2026.

Transparency log

Release files / strength_training_mcp-0.1.1-py3-none-any.whl

Download URL strength_training_mcp-0.1.1-py3-none-any.whl
Size 48.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
952f6a319b745c5a536cfa668ae933c7771186550675dbffdc1e114572a092f2
BLAKE2b-256 checksum
How to use checksums
acd90b25cdf095938540cab5113a405fd097451a2953e1a457ef38132c22ad45
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 21, 2026.

Transparency log

Security for strength-training-mcp 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for strength_training_mcp-0.1.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 21, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page