Fitness Tools
📖 Documentation · npm
Use it with your AI right now: add the hosted MCP connector
https://fitness-tools-mcp.ajwallacemusic.workers.dev/mcp in claude.ai / ChatGPT settings,
install one-click in Cursor
or VS Code,
or grab the Claude Desktop .mcpb.
Composable, deterministic fitness calculators — BMR/TDEE, body fat, 1RM, macros, activity multiplier, powerlifting attempts, and natural muscular potential. Each calculator runs several published formulas and reports a consensus across them.
This repo ships three separate, independently-usable artifacts:
@almostjacked/fitness-tools— the npm library. Validated, self-describing calculators that run natively in the browser and on the server. This is the product.@almostjacked/fitness-tools-api— a reference HTTP server built on the library. It re-exposes the same calculators over HTTP (identical math, identical results) and is inert until you run or host it.@almostjacked/fitness-tools-mcp— an MCP stdio server built on the library. It exposes the same calculators as MCP tools for agents/LLM clients (identical math), runnable withnpx @almostjacked/fitness-tools-mcp.
Which one do you want?
| You're… | Use | Why |
|---|---|---|
| Writing JS/TS (browser, Node, edge) | @almostjacked/fitness-tools (npm) | Runs in-process. Install, import, call. No server, no network. |
Calling from another language / curl / a no-code tool | @almostjacked/fitness-tools-api (HTTP) | Same calculators over HTTP. You run/host it. |
| Building a remote frontend | @almostjacked/fitness-tools-api | Self-describing catalog + OpenAPI over the wire. |
| Wiring the calculators into an MCP client / agent | @almostjacked/fitness-tools-mcp | npx an MCP stdio server; one tool per calculator. |
The API adds a network boundary, not capability. The package works the moment you install it; the server does nothing until it's running.
Documentation
- New to it? Getting started
- What each calculator does: Tools
- Calling from an agent: Consumer guide
- Working on this repo: AGENTS.md
Layout
packages/core @almostjacked/fitness-tools — the library (the product)
apps/api @almostjacked/fitness-tools-api — a reference HTTP server over the library
apps/mcp @almostjacked/fitness-tools-mcp — an MCP stdio server over the library
Develop
corepack enable # pnpm version is pinned in package.json
pnpm install
pnpm -r test # core + api + mcp test suites
pnpm -C packages/core build # build the library
pnpm -C apps/api dev # run the reference server on :8080
See each package's README — library · reference server.
License
MIT — free, open-source, and usable in commercial products. See LICENSE. Built on published formulas (Mifflin-St Jeor, US Navy, Jackson-Pollock, Epley, Casey Butt, etc.); contributions welcome.