Skip to main content

Runspector — AI running coach and Garmin MCP server

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/
# without uv:                 pipx install runspector
runspector serve --demo       # look around without any account
runspector serve              # the real thing: opens http://127.0.0.1:8765, sign in to Garmin there

Coach cards run on Claude Code on your machine, with your own Claude sign-in: install it and run claude auth login once. It needs a paid Claude plan (Pro, Max, Team or Enterprise) or an Anthropic API account; no API key is needed on a plan. Without Claude Code, coach in the Claude Desktop chat instead (below). Everything except the coach works without Claude. Step by step: Connecting 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.8.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.8.0
File Size Uploaded Provenance Actions
runspector-0.8.0.tar.gz 10.0 MB With provenance Details for runspector-0.8.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for runspector 0.8.0
File Interpreter ABI Platform Actions
runspector-0.8.0-py3-none-any.whl Python 3 none any Details for runspector-0.8.0-py3-none-any.whl

Total release size: 10.3 MB

Release files / runspector-0.8.0.tar.gz

Download URL runspector-0.8.0.tar.gz
Size 10.0 MB
Tags Source
SHA-256 checksum
How to use checksums
5c0ddcc2030ee0f1ddd1bc29327a3440bdad2dd0f5c65874a893e86b3a2dcd7b
BLAKE2b-256 checksum
How to use checksums
ddadaa47d7c39316d5d5912aa55036cec4d2e63eb26858c6c5ffdb8615a477b8
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 Nov 1, 2026.

Transparency log

Release files / runspector-0.8.0-py3-none-any.whl

Download URL runspector-0.8.0-py3-none-any.whl
Size 367.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
226e95eb2d806eee42e7d99b7a69b8ad60d0dd05e5cff8bd8f21125b1f5dd455
BLAKE2b-256 checksum
How to use checksums
c19cf4de5b9e7fea21c0b31622918cd20f707ab802b062944945ab4fdd17cf1d
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 Nov 1, 2026.

Transparency log

Security for runspector 0.8.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.8.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 Nov 1, 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.

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