Skip to main content

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

See modelscope-deploy.md for deploying to ModelScope Inference.

Quick deploy via uvx (ModelScope 自定义MCPuvx):

# After publishing to PyPI (or use git+https://...)
uvx --from strength-training-mcp strength-training-mcp

To publish a release:

git tag v0.1.0
git push origin v0.1.0

The .github/workflows/publish.yml action will publish to PyPI automatically (once trusted publishing is configured on PyPI).

A Docker image is also supported as a fallback — see deploy.sh.

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

strength_training_mcp-0.1.0.tar.gz (137.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

strength_training_mcp-0.1.0-py3-none-any.whl (48.8 kB view details)

Uploaded Python 3

File details

Details for the file strength_training_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: strength_training_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 137.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for strength_training_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7ae646e46ac9adbfd73b97f72322c002d161f15d78b2a63e6235d65c925e33ed
MD5 b941383c5adee4bf3675df7bbe2ab8a8
BLAKE2b-256 547a488705ee85076e3e70243b169df0721c0fa587802855db0c939086de763f

See more details on using hashes here.

Provenance

The following attestation bundles were made for strength_training_mcp-0.1.0.tar.gz:

Publisher: publish.yml on daiduo2/strength-training-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file strength_training_mcp-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for strength_training_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 288b7ee2c226e8b0b41587d3faf601937cd5c5e40b6282d4e44319bbb498b0f1
MD5 064ce677835d5137ce692f513caa2033
BLAKE2b-256 7f24466ecbd744ddd65231bfe35149a1e3a5ccded7ddc8b97e7d8fe09b6b5552

See more details on using hashes here.

Provenance

The following attestation bundles were made for strength_training_mcp-0.1.0-py3-none-any.whl:

Publisher: publish.yml on daiduo2/strength-training-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page