Skip to main content

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.

Today: readiness verdict, decision, week plan, signals Coach: a card written by Claude from the tools' data Runs: intensity bands and detected interval structure

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)

Source distribution for runspector 0.5.0
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)

Table of built distributions (wheels) for runspector 0.5.0
File Interpreter ABI Platform Actions
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 log

Release 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 log

Security 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.

Select from 2 files

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 log

A 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.

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page