@trainheroic-unofficial/athlete-mcp 1.1.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -15
- package/dist/server.mjs +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# @trainheroic-unofficial/athlete-mcp
|
|
2
2
|
|
|
3
|
-
Local single-user [MCP](https://modelcontextprotocol.io) server for a TrainHeroic **athlete
|
|
3
|
+
Local single-user [MCP](https://modelcontextprotocol.io) server for a TrainHeroic **athlete**, exposing one [TrainHeroic](https://www.trainheroic.com) athlete's own training to any MCP-capable AI assistant as callable tools. It runs on your machine and speaks the MCP stdio transport, so the assistant launches it as a subprocess.
|
|
4
4
|
|
|
5
|
-
It reads two required environment variables, `TRAINHEROIC_EMAIL` and `TRAINHEROIC_PASSWORD`
|
|
5
|
+
It reads two required environment variables, `TRAINHEROIC_EMAIL` and `TRAINHEROIC_PASSWORD` (your existing TrainHeroic login). These are real credentials in plaintext; the config below puts them in a file or shell history, so treat them as secrets.
|
|
6
6
|
|
|
7
|
-
It exposes the logged-in athlete's own training
|
|
7
|
+
It exposes the logged-in athlete's own training: scheduled and completed workouts, per-exercise history, PRs (personal records), working maxes, and lifetime totals, plus one confirmation-gated write that logs a completed set. Coaching capabilities (rosters, teams, programs, messaging) are available through [`@trainheroic-unofficial/coach-mcp`](../coach-mcp). A hosted version that holds credentials server-side behind OAuth and gives a coach login both the athlete and coaching tools is described in the [root README](../../README.md).
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -23,7 +23,7 @@ claude mcp add trainheroic-athlete \
|
|
|
23
23
|
|
|
24
24
|
### Claude Desktop / `.mcp.json` / other stdio clients
|
|
25
25
|
|
|
26
|
-
Put this in your client's MCP config
|
|
26
|
+
Put this in your client's MCP config. For Claude Desktop that's `claude_desktop_config.json`
|
|
27
27
|
(macOS: `~/Library/Application Support/Claude/`; Windows: `%APPDATA%\Claude\`); for a
|
|
28
28
|
project-scoped Claude Code setup it's `.mcp.json` at the repo root.
|
|
29
29
|
|
|
@@ -51,20 +51,20 @@ A coach account works here too: a TrainHeroic coach account also has its own ath
|
|
|
51
51
|
All read-only except `athlete_log_set`. The assistant fills in each tool's parameters (dates
|
|
52
52
|
are `YYYY-MM-DD`); your MCP client shows the full schema for each.
|
|
53
53
|
|
|
54
|
-
- `athlete_whoami
|
|
55
|
-
- `athlete_profile
|
|
56
|
-
- `athlete_prefs
|
|
57
|
-
- `athlete_workouts
|
|
58
|
-
- `athlete_exercises
|
|
59
|
-
- `athlete_exercise_history
|
|
60
|
-
- `athlete_personal_records
|
|
61
|
-
- `athlete_exercise_stats
|
|
62
|
-
- `athlete_working_maxes
|
|
63
|
-
- `athlete_leaderboard
|
|
54
|
+
- `athlete_whoami`: identity (id, name, roles)
|
|
55
|
+
- `athlete_profile`: lifetime totals + profile
|
|
56
|
+
- `athlete_prefs`: notification/display preferences
|
|
57
|
+
- `athlete_workouts`: scheduled + completed workouts in a date range, flattened into one list
|
|
58
|
+
- `athlete_exercises`: search the exercises you've logged
|
|
59
|
+
- `athlete_exercise_history`: per-exercise PRs + dated session history
|
|
60
|
+
- `athlete_personal_records`: exercise personal records
|
|
61
|
+
- `athlete_exercise_stats`: last performance + PR as of a date
|
|
62
|
+
- `athlete_working_maxes`: working max per exercise
|
|
63
|
+
- `athlete_leaderboard`: benchmark/test workout leaderboard
|
|
64
64
|
|
|
65
65
|
**Write (confirmation-gated):**
|
|
66
66
|
|
|
67
|
-
- `athlete_log_set
|
|
67
|
+
- `athlete_log_set`: logs completed set results to your training log. This is a real write
|
|
68
68
|
that your coach can see. It confirms before running: the server asks the client to confirm,
|
|
69
69
|
falling back to an explicit `confirm: true` argument when the client can't prompt.
|
|
70
70
|
|
package/dist/server.mjs
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trainheroic-unofficial/athlete-mcp",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
23
23
|
"zod": "^4.4.3",
|
|
24
|
-
"@trainheroic-unofficial/core": "1.1.
|
|
25
|
-
"@trainheroic-unofficial/js": "1.1.
|
|
24
|
+
"@trainheroic-unofficial/core": "1.1.1",
|
|
25
|
+
"@trainheroic-unofficial/js": "1.1.1"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@types/node": "^26.0.0",
|