@indaco/garmin-personal-mcp 0.1.0 → 0.2.0
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 +146 -115
- package/dist/dashboard.html +1 -1
- package/dist/index.js +2346 -488
- package/package.json +1 -1
- package/prompts/dashboard-setup.md +6 -6
- package/prompts/training-dashboard-freeform.md +4 -0
- package/prompts/training-dashboard.md +8 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@indaco/garmin-personal-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "MCP server for the official Garmin Connect Personal API",
|
|
5
5
|
"homepage": "https://github.com/indaco/garmin-personal-mcp#readme",
|
|
6
6
|
"bugs": "https://github.com/indaco/garmin-personal-mcp/issues",
|
|
@@ -21,9 +21,9 @@ such a tool, ask the questions in chat as numbered lists, with the default first
|
|
|
21
21
|
HR zones, activity names. For me, all are selected by default; for a shared page, ask about each
|
|
22
22
|
one. The server leaves out of the file what I do not select.
|
|
23
23
|
- **Coach notes**: include (default) or leave out.
|
|
24
|
-
- **Languages**: options "
|
|
25
|
-
only" and "Italian only". Say that I can
|
|
26
|
-
opens in Italian".
|
|
24
|
+
- **Languages**: options "English and the language of my Garmin profile, opens in the profile
|
|
25
|
+
language" (default), "All: {{languageNames}}", "English only" and "Italian only". Say that I can
|
|
26
|
+
type another choice, for example "English and Italian, opens in Italian".
|
|
27
27
|
- **Themes**: options "All 11 themes, opens in midnight" (default), "Midnight only" and "Paper
|
|
28
28
|
only". Say that I can type other themes and the one it opens in: {{themes}}.
|
|
29
29
|
3. Call `writeDashboard` with `preview` = true, `weeks` = {{weeks}} and the `path`. It writes nothing.
|
|
@@ -43,9 +43,9 @@ such a tool, ask the questions in chat as numbered lists, with the default first
|
|
|
43
43
|
Use only numbers of the digest. **Never invent, interpolate or estimate missing values.** If a value
|
|
44
44
|
is missing, write "n/a". If a call fails, say which one and why in one line.
|
|
45
45
|
|
|
46
|
-
Do not write or change the page yourself. Settings need a page from the template: a page
|
|
47
|
-
|
|
46
|
+
Do not write or change the page yourself. Settings need a page from the template: a page designed with
|
|
47
|
+
layout freeform cannot keep them.
|
|
48
48
|
|
|
49
49
|
Finish with two lines in chat: the path of the page with the command to open it (`open` on macOS,
|
|
50
50
|
`xdg-open` on Linux, `start` on Windows), and the settings that the page keeps. Later updates keep
|
|
51
|
-
the settings: for a page with another file name, ask
|
|
51
|
+
the settings: for a page with another file name, ask your assistant to update that file.
|
|
@@ -27,6 +27,10 @@ of `getDashboardData` with `weeks` = {{weeks}}, which has:
|
|
|
27
27
|
`failedSections` is not empty, name those sections in chat: `zones` and `fitnessAge` are then null
|
|
28
28
|
and `hrv` can have no rows. Their widgets show "n/a".
|
|
29
29
|
- `notes`: the coach notes, a list of strings. The server escapes them as HTML.
|
|
30
|
+
- `units`: the measurement system of my Garmin profile. The data is always metric (km, m, kg,
|
|
31
|
+
pace per km). Show every distance, pace, speed, elevation and weight in my units: `metric` km,
|
|
32
|
+
/km, km/h, m, kg; `statute_us` mi, /mi, mph, ft, lb; `statute_uk` mi, /mi, mph, m, lb. Without
|
|
33
|
+
`units`, use metric. Race names (5 km, 10 km, half marathon) stay as they are.
|
|
30
34
|
|
|
31
35
|
You do not need to call `getDashboardData`: the field names above are all the page needs.
|
|
32
36
|
|
|
@@ -10,6 +10,14 @@ Answer in my language.
|
|
|
10
10
|
Training suggestions only, no medical advice. Plain text, in my language.
|
|
11
11
|
3. Call `writeDashboard` again with the same `weeks` and the `notes`, without `layout`. The page keeps
|
|
12
12
|
its layout.
|
|
13
|
+
4. Tell me the languages of the page (`pageLanguages` of the result) and ask whether to add one.
|
|
14
|
+
If your client has a tool for questions with choices, use it, with "No" as the default and the
|
|
15
|
+
built-in languages that the page does not have: {{builtIn}}. Say that I can type any other
|
|
16
|
+
language.
|
|
17
|
+
- A built-in language: call `writeDashboard` with the same `weeks` and `notes`, and `settings` =
|
|
18
|
+
the `settings` of the last result, with `languages` = the codes of `pageLanguages` that are `en`
|
|
19
|
+
or built in, and the new code.
|
|
20
|
+
- Any other language: tell me to run the `dashboard-language` prompt with it.
|
|
13
21
|
|
|
14
22
|
Use only numbers of the digest. **Never invent, interpolate or estimate missing values.** If a value
|
|
15
23
|
is missing, write "n/a". If `sync.failedDays` is more than 0, name the dates in `sync.failedDates`.
|