Skip to main content
Glama
durability-mcp
by ata412
README.md
# durability-mcp

A local, read-only MCP tool that summarises running durability from your own FIT files.

Your files stay on your computer: the tool runs on your machine, reads one folder, and returns no GPS coordinates. It makes no prediction. This is a research measure, not a diagnosis.

Requires [uv](https://docs.astral.sh/uv/).

## Try it on generated files

```bash
uvx --from git+https://github.com/ata412/durability-mcp durability-mcp-demo
```

The demo uses SYNTHETIC files whose answers were set in advance. It shows that the tool works as designed, not that it is accurate.

## Use it with your own files

Add this to your MCP client's configuration, such as Claude Desktop:

```json
{
  "mcpServers": {
    "durability": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/ata412/durability-mcp", "durability-mcp"],
      "env": {"DURABILITY_FIT_DIR": "/path/to/your/fit/folder"}
    }
  }
}
```

Your MCP client may send tool results to its own AI service, so read its privacy terms. Results can include dates, durations and index values.

| Tool | Returns |
|---|---|
| `list_durability_runs` | Outdoor runs with status and reason |
| `get_durability_indices` | Drift, magnitude, onset and status for one run |
| `get_durability_trend` | Status counts and latest runs against your own earlier runs |

Statuses: `signal` (both gate conditions met), `no_signal` (QC passed, gate not met), `not_evaluable` (first failing QC rule given).

## Limits

- Tested on one runner's COROS export only, where most runs were not evaluable (MEASURED: 73 of 76). Other brands may behave differently.
- Needs an outdoor run with GPS and heart rate, 45 to 240 minutes long, at a steady pace.
- One run is weak evidence. Prefer the trend over several runs.

TDQS

A3.8/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a distinct scope: listing runs, evaluating one run's indices, and summarizing/trending over time. The descriptions explicitly delimit one-run vs aggregate analysis, so boundaries are clear.

Naming Consistency5/5

All three names follow the same snake_case verb_durability_noun pattern: list_durability_runs, get_durability_indices, get_durability_trend. No mixed conventions or vague verbs.

Tool Count5/5

Three tools are well-scoped for a focused read-only durability analytics server: list, detail, and trend. Each earns its place without redundancy.

Completeness5/5

The surface covers the natural read-only workflow: discover runs, inspect per-run durability indices with non-evaluable explanations, and compare trends over time. No create/update/delete is needed for this analysis-only domain.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues