@samiul_i/garmin-connect-mcp 1.0.0 → 1.0.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.
Files changed (2) hide show
  1. package/README.md +26 -0
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -1,9 +1,19 @@
1
1
  # garmin-connect-mcp
2
2
 
3
+ [![npm](https://img.shields.io/npm/v/@samiul_i/garmin-connect-mcp)](https://www.npmjs.com/package/@samiul_i/garmin-connect-mcp)
4
+ [![license](https://img.shields.io/npm/l/@samiul_i/garmin-connect-mcp)](LICENSE)
5
+ [![CI](https://github.com/Samiu1/garmin-connect-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/Samiu1/garmin-connect-mcp/actions/workflows/ci.yml)
6
+
3
7
  An MCP server for the [Garmin Connect Personal API](https://developer.garmin.com/gc-developer-program/personal/personal-api/). Each user brings their own Personal API key, so the server holds no shared credentials and can be installed by anyone with a Garmin account.
4
8
 
5
9
  Ten tools cover all 26 endpoints in the Personal API, plus a passthrough for anything Garmin adds later.
6
10
 
11
+ ```bash
12
+ npx -y @samiul_i/garmin-connect-mcp
13
+ ```
14
+
15
+ That needs a key first — see [Get a Personal API key](#get-a-personal-api-key), then [Install in a client](#install-in-a-client).
16
+
7
17
  ## Requirements
8
18
 
9
19
  - Node.js 20.3 or newer
@@ -266,6 +276,22 @@ Before the first publish:
266
276
 
267
277
  Only `dist/`, `README.md`, and `LICENSE` ship. Verify with `npm pack --dry-run`.
268
278
 
279
+ ### Releasing from CI (preferred)
280
+
281
+ `.github/workflows/release.yml` publishes on a `v*` tag and adds **npm provenance**: a signed attestation tying the published tarball to this repository and the exact commit that built it. Publishing from a laptop cannot produce that, however careful you are, because the point is that an independent builder attests to it.
282
+
283
+ One-time setup: create a **granular access token** at <https://www.npmjs.com/settings/samiul_i/tokens> scoped to the `@samiul_i` scope with **Read and write** package permission, and add it as the repository secret `NPM_TOKEN` under Settings → Secrets and variables → Actions. This is the one place a long-lived write token is the right choice — nobody can type a one-time code in CI.
284
+
285
+ Then each release is:
286
+
287
+ ```bash
288
+ npm version patch && git push --follow-tags
289
+ ```
290
+
291
+ `npm version` bumps `package.json`, commits, and tags. The workflow checks the tag matches the version, builds, runs the self-check, and publishes. A mismatch fails before the registry call.
292
+
293
+ Provenance cannot be added to an already-published version, so it begins with the first release made this way.
294
+
269
295
  ## Transport
270
296
 
271
297
  stdio only, by design. The client launches the server as a subprocess, and the Personal API key never leaves the user's machine.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@samiul_i/garmin-connect-mcp",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "MCP server for the Garmin Connect Personal API. Each user supplies their own Personal API key.",
5
5
  "type": "module",
6
6
  "license": "MIT",