Runspector
A local-first AI running coach for your Garmin data. Runspector syncs your Garmin Connect data into a SQLite file on your own machine, decides today's training (GO / EASY / REST) with a deterministic readiness engine, and lets Claude explain that decision and plan the week with you: in a small web app, or as an MCP server for Claude Code and Claude Desktop. Nothing reaches your watch without your yes.
Formerly runcoach-ai. Source, full documentation and the design decisions:
github.com/edxleon/runspector.
Quick start
uv tool install runspector # needs uv: https://docs.astral.sh/uv/
runspector serve --demo # look around without any account
runspector serve # the real thing: Garmin sign-in, then http://127.0.0.1:8765
Coach cards run on Claude Code on your machine, with your own
Claude sign-in: install it and run claude auth login once. A Claude plan is enough; no API key
is needed. Everything except the coach cards works without Claude.
In Claude Code or Claude Desktop
claude mcp add runspector -- runspector mcp
# then ask: "should I train today?"
Or, without installing it first, in an MCP client's JSON configuration:
{ "mcpServers": { "runspector": { "command": "uvx", "args": ["runspector", "mcp"] } } }
Sign in to Garmin once before that: runspector login (or uvx runspector login).
Good to know
- Your Garmin password goes to Garmin once, to sign in; only the session token is kept, in a folder only your user account can read.
- Not affiliated with Garmin. It uses the unofficial python-garminconnect library against your own account.
- A training tool, not medical advice.
MIT licensed. Issues: github.com/edxleon/runspector/issues.
Metadata
Release files for runspector 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| runspector-0.5.0.tar.gz | 9.4 MB | With provenance | Details for runspector-0.5.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| runspector-0.5.0-py3-none-any.whl | Python 3 | none | any | Details for runspector-0.5.0-py3-none-any.whl |
Total release size: 9.7 MB
Release files / runspector-0.5.0.tar.gz
| Download URL | runspector-0.5.0.tar.gz |
|---|---|
| Size | 9.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c66d6d83401dfa75ee0ef8e4425150b450fc126936f90743d2a687fcc16d63aa
|
|
BLAKE2b-256 checksum How to use checksums |
3ead13d8dd51d6dc42c15c53d172261f16bfb428ac0c6e9047cb6092f6b4f07d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.
Transparency logRelease files / runspector-0.5.0-py3-none-any.whl
| Download URL | runspector-0.5.0-py3-none-any.whl |
|---|---|
| Size | 301.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8a25bb2fd7251ad8336228c0d35288e4d06e457cd4f08f09094c667ae10d2c57
|
|
BLAKE2b-256 checksum How to use checksums |
14b1587e69f8fd3d8573bb9488d0d8a506f943dc780524a83ac921d509241357
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.
Transparency logSecurity for runspector 0.5.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for runspector-0.5.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.