protogrid

Search / io.github.almostjacked/fitness-tools

Fitness Tools

R0· no sign-in

Deterministic fitness calculators — TDEE, adaptive TDEE, body fat, 1RM, macros — with consensus.

v0.3.4 · active · repository · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality87good
Trust90of 100
Uptime, 30 days94%
Latency p50218 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "fitness-tools": {
      "type": "http",
      "url": "https://fitness-tools-mcp.ajwallacemusic.workers.dev/mcp"
    }
  }
}
claude mcp add --transport http fitness-tools https://fitness-tools-mcp.ajwallacemusic.workers.dev/mcp
[mcp_servers.fitness-tools]
url = "https://fitness-tools-mcp.ajwallacemusic.workers.dev/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "fitness-tools": {
      "type": "remote",
      "url": "https://fitness-tools-mcp.ajwallacemusic.workers.dev/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "fitness-tools": {
      "type": "http",
      "url": "https://fitness-tools-mcp.ajwallacemusic.workers.dev/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=fitness-tools&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vZml0bmVzcy10b29scy1tY3AuYWp3YWxsYWNlbXVzaWMud29ya2Vycy5kZXYvbWNwIn0%3D"
}
{
  "servers": {
    "fitness-tools": {
      "type": "http",
      "url": "https://fitness-tools-mcp.ajwallacemusic.workers.dev/mcp"
    }
  }
}
{
  "mcpServers": {
    "fitness-tools": {
      "httpUrl": "https://fitness-tools-mcp.ajwallacemusic.workers.dev/mcp"
    }
  }
}
extensions:
  "fitness-tools":
    enabled: true
    name: "fitness-tools"
    type: streamable_http
    uri: "https://fitness-tools-mcp.ajwallacemusic.workers.dev/mcp"
    timeout: 300

Quality 87 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations10 of 10 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 3,080 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changesno tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependencies67 · weight 15
  • pass
    deps.known_vulnsno known advisory in 100 resolved packages
  • fail
    deps.mcp_sdk_version@modelcontextprotocol/sdk 1.30.1 has 1 known advisory (GHSA-6qxp-vccf-f47h); update @modelcontextprotocol/sdk to 1.31.0 or later
  • pass
    deps.resolvable@almostjacked/[email protected] resolved: 100 packages

10 tools, about 3,080 tokens to load them all · tool set 82f222a75b07 · checked 2026-10-20 10:03 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 90 / 100

provenance80
liveness97
freshness85
hygiene100

+repository +namespace-matches-repo +reachable +uptime-94% ~updated-88d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Dependencies

@almostjacked/[email protected] npm99 dependencies, resolved · MCP SDK @modelcontextprotocol/sdk 1.30.1 · advisories checked 2026-10-19

advisoryseveritypackagefixed in
GHSA-6qxp-vccf-f47hMCP TypeScript SDK: OAuth client could send credentials to an authorization server chosen by the MCP serverhigh@modelcontextprotocol/[email protected]MCP SDK, directfixed in 1.31.0

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://fitness-tools-mcp.ajwallacemusic.workers.dev/mcp streamable-httpnoneyes94%218 ms2025-11-252026-10-20
packageregistryversionruntimesecrets
@almostjacked/fitness-tools-mcpnpm0.3.4–

Tools (10)

activity-multiplierread-onlyEstimate the TDEE activity multiplier via the classic lookup table or a NEAT+EAT model (occupation/steps for non-exercise, training volume for exercise).
adaptive-tdeeread-onlyMeasure actual TDEE from a logged history of daily weight and/or calorie intake. Default method (kalman) is a joint Kalman filter over true weight and TDEE — handles missing days, gates outliers, and reports uncertainty (CI95) alongside denoised true weight; regression/endpoints are simple window-based estimates kept for comparison. Use instead of formula TDEE once real logged data exists. Each entry needs at least one of weight/kcal (not necessarily both). Entry dates must span 10 years or less (earliest to latest). Note: all methods need at least one weigh-in (kalman) or two (regression/endpoints) — a history with zero weight entries throws under the kalman default; pass methods:'all' to get a graceful empty/skipped result instead.
body-fatread-onlyEstimate body-fat % via US Navy circumference, Jackson-Pollock 3-site skinfold, and Deurenberg (BMI-based) methods.
ffmiread-onlyCompute the Fat-Free Mass Index (FFMI) and its height-adjusted form from weight and body fat (or lean mass), and flag whether it exceeds the ~25 natural ceiling.
macrosread-onlyCompute protein/fat/carb grams for a calorie target using the g-per-kg-bodyweight method, with goal-based protein defaults.
muscle-potentialread-onlyEstimate drug-free maximum bodyweight at a target body-fat % via Casey Butt (wrist+ankle), the FFMI~25 natural cap, and Berkhan's max-contest-weight model. Men only in v1.
one-rep-maxread-onlyEstimate 1RM from a submaximal set via Epley, Brzycki, Lombardi, Wathan, O'Conner, and Mayhew; returns a %1RM load chart.
powerlifting-attemptsread-onlyDeterministic opener/second/third attempts from an estimated 1RM, plus a warmup ramp and per-side plate loading. Tunable by aggressiveness and available plates.
rsmiread-onlyEstimate the appendicular skeletal muscle index (RSMI) from a DXA value (direct) and/or an anthropometric estimate (Wen 2011), and flag low muscle mass against EWGSOP2, AWGS, and Baumgartner sarcopenia cutoffs.
tdeeread-onlyEstimate BMR and TDEE via Mifflin-St Jeor, Harris-Benedict, Katch-McArdle, and Cunningham. Provide body_fat or lean_mass to unlock the LBM-based methods.

Schemas: list_tools.

Similar MCP servers

More from io.github.almostjacked

Official server.json
{
  "name": "io.github.almostjacked/fitness-tools",
  "title": "Fitness Tools",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://fitness-tools-mcp.ajwallacemusic.workers.dev/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.3.4",
  "packages": [
    {
      "version": "0.3.4",
      "transport": {
        "type": "stdio"
      },
      "identifier": "@almostjacked/fitness-tools-mcp",
      "registryType": "npm"
    }
  ],
  "repository": {
    "url": "https://github.com/almostjacked/fitness-tools",
    "source": "github"
  },
  "description": "Deterministic fitness calculators — TDEE, adaptive TDEE, body fat, 1RM, macros — with consensus."
}