@gehlich/calicomp-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 +30 -0
  2. package/package.json +2 -2
package/README.md CHANGED
@@ -41,6 +41,36 @@ CalisthenicsCompanion-MCP/
41
41
  | `CALICOMP_KEY` | AES-256 encryption key in raw base64 (no prefix). Exported from the app alongside the PAT. |
42
42
  | `CALICOMP_SERVER_URL` | *(Optional)* Override the API base URL. Defaults to `https://api.calicompanion.de`. |
43
43
 
44
+ ## Credential Storage
45
+
46
+ The "Copy MCP config" button in the app's PAT settings screen produces the JSON block shown
47
+ under [Usage](#usage) below, with `CALICOMP_PAT` and `CALICOMP_KEY` filled in. That block is not
48
+ an ordinary configuration snippet — **both values are plaintext secrets**. `CALICOMP_KEY` in
49
+ particular is what turns the encrypted payload the server stores back into readable training
50
+ data; the server itself only ever sees ciphertext. Treat the whole block the same way you would
51
+ treat a password.
52
+
53
+ **Where it must NOT go:** any file your project's version control tracks. Pasting the block into
54
+ a repo-committed config file — even a "local" one that ends up staged by accident — puts a live
55
+ token and decryption key into git history, which is not something a later `git rm` undoes.
56
+
57
+ **Where it should go instead:** a file outside any repository that only your own user account
58
+ can read (`chmod 600`), or your MCP client's user-scope server registration instead of a
59
+ project-scope one. Concretely, the same approach this project uses for its own recurring MCP
60
+ calls: an env file under your user config directory (e.g. `~/.config/calicomp/mcp.env`, mode
61
+ `600`) that a wrapper script or your client's env-var substitution reads at invocation time — or,
62
+ if your client supports it directly, register the server in its *user* config rather than a
63
+ project's `.mcp.json` (Claude Code, for example, distinguishes `claude mcp add --scope user` from
64
+ a project-scoped registration). Either way, the secret lives in exactly one place your user
65
+ account controls, never in a directory a `git add .` could reach.
66
+
67
+ **What the snippet leaves out:** `CALICOMP_SERVER_URL`. For the hosted default
68
+ (`https://api.calicompanion.de`, see the table above) this is harmless — the server falls back to
69
+ that same default when the variable is absent, so registration works without it. If you run your
70
+ own server, however, the snippet gives you no hint that this variable exists or that you need to
71
+ add it by hand; without it you will silently talk to the wrong server with no error message
72
+ pointing at the cause. Add `CALICOMP_SERVER_URL` to the `env` block yourself in that case.
73
+
44
74
  ## Transport
45
75
 
46
76
  Runs as a local stdio MCP server. The LLM client communicates via JSON-RPC 2.0
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@gehlich/calicomp-mcp",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Local stdio MCP for CalisthenicsCompanion",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "repository": {
8
8
  "type": "git",
9
- "url": "https://github.com/Packi1992/calicomp-mcp"
9
+ "url": "git+https://github.com/Packi1992/calicomp-mcp.git"
10
10
  },
11
11
  "bin": {
12
12
  "calicomp-mcp": "dist/index.js"