ultrahuman-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ultrahuman-mcpHow was my sleep last night and what's my recovery today?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Ultrahuman MCP
A compact, read-only Model Context Protocol server for Ultrahuman Partner API health data. It is designed to minimize provider calls and model-context usage while preserving the distinction between measured, derived, and unavailable values.
Health data is sensitive. This project is not medical advice and is not affiliated with Ultrahuman.
Features
Compact daily, sleep, recovery, activity, CGM, and time-series tools
Correct handling for the provider's capitalized
SleepmetricExplicit
available/missingstatus; absent data is never reported as zeroUnits, source fields, sample counts, and derived-value markers
Per-date cache: 24 hours for completed days; 5 minutes for today
Concurrent-request de-duplication
Three-attempt transient-failure retry with backoff
Trend range limit of 31 days and bounded concurrency of four requests
Downsampled series by default; maximum 500 returned points
Read-only: no profile writes, device changes, or credential MCP tools
Related MCP server: mcp-server-whoop
Partner API and authentication
Ultrahuman's documented Partner API uses OAuth 2.0 authorization-code and refresh-token flows, with profile, ring_data, and cgm_data scopes. A production deployment should use OAuth and store the client secret, access token, and rotated refresh token in a protected server-side secret store.
This server's default transport retains compatibility with an existing legacy Partner metrics deployment (/api/v1/metrics with a configured API key and email) because OAuth client credentials are not universally available. Set ULTRAHUMAN_API_BASE_URL when deploying a documented OAuth-compatible adapter. Do not assume legacy and OAuth endpoints have identical schemas.
Credentials
Store credentials outside the repository, with directory mode 700 and file mode 600:
ULTRAHUMAN_API_KEY=provider-issued-secret
ULTRAHUMAN_EMAIL=consented-user-emailDefault file:
~/.config/ultrahuman-mcp/credentials.envOverride via ULTRAHUMAN_CREDENTIAL_FILE. Never put credentials in source, MCP arguments, logs, or chat.
Tools
Tool | Output |
| compact daily overview |
| duration, stages, efficiency, SpO2, temperature deviation |
| recovery, HRV, resting HR, movement, VO₂ max |
| steps and activity metrics |
| glucose series and metabolic metrics when consent/scope permits |
| bounded/downsampled series for HR, HRV, temperature, steps, or glucose |
| daily normalized summaries for up to 31 days |
All dates are YYYY-MM-DD. Time filters for series are UTC HH:mm until a provider user-time-zone field is available.
Install and test
npm install
npm test
node src/main.jsData-quality rules
A missing source field becomes
{ "value": null, "status": "missing" }.Calculated values identify
derived: trueand include sample counts.A zero is emitted only when the provider actually supplies zero.
Series responses include original and returned point counts plus a
downsampledflag.Completed-day results can be cached; current-day data is intentionally short-lived.
Current API coverage
The implementation supports metrics observed from the Partner metrics payload: sleep, HR, HRV, temperature, steps, resting HR, recovery, movement, active time, VO₂ max, glucose, average glucose, glucose variability, HbA1c, time-in-target, and metabolic score. Availability depends on the user's product, consent, and granted scopes.
Security
Use least-privilege scopes. Keep health data out of logs. On OAuth migration, refresh on 401 once, trust the returned expires_in, atomically persist rotated refresh tokens, and revoke tokens when retiring an integration.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Multi-tenant hosted MCP server for Oura Ring — 21 read-only tools, OAuth per user.
MCP server for Withings health data — sleep, activity, heart, and body metrics.
Remote MCP server for training, nutrition, wellness, and performance data with OAuth 2.0.
Read-only MCP server for AIStatusDashboard status, incidents, metrics, and fallback recommendations.
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server providing read access to WHOOP biometric data including recovery, sleep, strain, and workouts.161MIT
- AlicenseAqualityAmaintenanceA local-first, read-only MCP server that provides compact recovery, sleep, strain, HRV, heart-rate, workout, and body-measurement data from WHOOP without sending credentials to a third party.534 npm1MIT
- AlicenseNot gradedqualityAmaintenanceRead-only MCP server that exposes Apple Health data (steps, workouts, sleep, etc.) from a local SQLite store, allowing AI agents to query health metrics without sending data to hosted services.7Apache 2.0
- AlicenseNot gradedqualityBmaintenanceMCP server for Garmin Connect that enables users to access and manage their personal health and fitness data, including daily summaries, heart rate, sleep, HRV, stress, body composition, activities, and training readiness, with secure per-user authentication.Apache 2.0