---
title: "Admin Install Step Counts"
method: GET
path: "/admin/install-step-counts"
---

# Admin Install Step Counts

`GET /admin/install-step-counts`

## Request

- Base URL: `https://api.local-mcp.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.local-mcp.com/admin/install-step-counts`
- Auth: none declared. Required headers: `x-admin-key`

Per-step `install_step` counts, SPLIT BY PLATFORM, over a declared window (default 7 days).

Shape (lmcp-admin #153): {window_days, platforms: {darwin|windows|other: {total_installs,
steps: [{step, installs, ok, fail}]}}}. All three platform keys are always present (empty when a
platform had no install in the window). `steps` lists every step the events carry, in
`_INSTALL_STEP_SEQ` order (unknown last), so the card holds no second list. `total_installs` is
the max step count within the platform (the card's 100% base — no dependency on a `start` step);
it is NOT a distinct-install count, and `ok + fail` need not equal `installs` (an identity may be
in both, and statuses other than ok/fail are in neither) — label it as a base, not as installs.

Identity is the install, not the machine: early install.sh steps fire before a machine_id exists
but carry a `fingerprint`, so count DISTINCT COALESCE(machine_id, fingerprint). Test machines
excluded; `ok`/`fail` split by `status`.

## Query parameters

- `days` integer

## Headers

- `x-admin-key` string, required

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/local-mcp/apis/lmcp-api.md) · [All operations](https://skmtc.dev/local-mcp/apis/lmcp-api/llms.txt) · [OpenAPI document](https://skmtc.dev/local-mcp/apis/lmcp-api/revisions/f1f1c502623a?raw)
