CLI + headless MCP

Build agents on
real health data.

freddy is a personal multi-wearable MCP server. Sign a user up, connect their wearables, and query sleep, HRV, recovery, and workouts. All over the MCP standard, with an OAuth device flow built for headless clients and a one-command CLI.

npx @freddy-coach/cli login
OAuth device flow5 scopesread + write tools
Why freddy for agents

One server. Any agent.

Real wearable data over an open standard, with the auth and write tools a headless client needs.

Real data, 19+ sources

Polar, Oura, Garmin, WHOOP, Withings and more. The user's own accounts, never simulated.

The MCP standard

No proprietary API to learn. Any client that speaks MCP can read a user's data with one bearer token.

Device flow for headless

RFC 8628 device authorization plus dynamic client registration. No redirect_uri, no browser callback to wrangle.

Scoped, auditable write tools

Connect, disconnect, and sync wearables conversationally. Every call is scoped and lands in the user's audit log.

Quickstart

Three commands.

The CLI wraps device-flow auth, token storage and refresh, the wearable connect handoff, and MCP calls.

npx @freddy-coach/cli login
npx @freddy-coach/cli connect oura
npx @freddy-coach/cli query --metrics hrv,sleep_duration --days 7

No terminal? Any MCP client can drive freddy over raw HTTP: register a client, start the device flow, poll for a token, then call /mcp. See the headless setup guide.

Scopes

Ask for exactly what you need.

The user approves scopes at sign-in. Omit scope and you get mcp only.

ScopeGrants
mcpMCP tool access: the read tools plus the three write tools.
account:readProfile, plan and subscription, connections, OAuth grants, email prefs, sync status.
account:writeRotate MCP token, email prefs, billing checkout/cancel, integration requests, chat.
connections:writeConnect, disconnect, and sync wearables.
audit:readAudit log plus bulk health-data export.
MCP tools

Read and write, conversationally.

All under the mcp scope. Queries plus three write tools for managing wearables.

ToolPurpose
get_profileUser metadata, connected wearables, plan.
list_metricsAvailable metrics with counts, date ranges, units, and sources.
query_metricsFetch metrics by name and date range.
connect_wearableReturns a verification URL for OAuth providers, or stores an API key.
disconnect_wearableDisconnects and wipes synced data. Destructive.
sync_providerTriggers an incremental sync. Fire-and-forget.
accept_termsRecords the user's acceptance of the current Terms and Privacy version.
Go deeper

Everything you need to ship.