gymtracker
by benzalglez
README.md
# gymtracker-plugin
Universal MCP server + Claude Code plugin for [Gymtracker](https://gitlab.com/ia-apps/codin/gymtracker).
Lets AI coding agents (Claude Code, Codex, Cursor, …) read and write your training data.
## What you need
- Your Gymtracker instance URL (`GYMTRACKER_URL`)
- An API token from your Gymtracker **/api/tokens** page (`GYMTRACKER_TOKEN`)
## Modes
| Env | Read | Write | Delete |
| --- | --- | --- | --- |
| (default) | ✅ | ✅ | ❌ |
| `GYMTRACKER_ALLOW_DELETE=1` | ✅ | ✅ | ✅ |
| `GYMTRACKER_READONLY=1` | ✅ | ❌ | ❌ |
`READONLY` overrides `ALLOW_DELETE`.
## Install
### Claude Code (plugin)
```
/plugin marketplace add https://gitlab.com/codin-public/gymtracker-plugin.git
/plugin install gym@gymtracker
```
You'll be prompted for your URL and token. Adds `/gym:log`, `/gym:summary`, `/gym:coach`.
### Codex CLI
See [`examples/codex.md`](examples/codex.md).
### Cursor / Claude Desktop / other MCP clients
See [`examples/cursor.md`](examples/cursor.md) and [`examples/generic-mcp.json`](examples/generic-mcp.json).
## Gotchas
- **Env is not inherited.** stdio MCP servers don't see your shell env — put the vars in the
client's `env` block (or Cursor's `${env:...}`).
- **`npx` on PATH.** GUI clients launched from the Dock may not find `npx` (nvm/Homebrew).
Use an absolute path to `npx`/`node` in `command` if startup fails.
- **First run downloads.** `npx -y` fetches the package once; bump Codex's
`startup_timeout_sec` if it times out.
## Development
```
npm install
npm test
npm run build
```
## License
MIT
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues