usefulapi

Vital MCP server. Read wearables and lab health data — sleep, activity, workouts, timeseries, lab tests and orders.

Claude

  1. Open Settings → Connectors → Add custom connector
  2. Paste this URL:
    https://vital.usefulapi.io/mcp
  3. Authenticate with Vital when prompted

Cursor · VS Code · Windsurf · Cline

Add to your MCP config, then reload & authorize:

{
  "mcpServers": {
    "vital": {
      "url": "https://vital.usefulapi.io/mcp"
    }
  }
}
live23 toolsFree 100 tool calls / monthPro $9/mo · $90/yr

Tools 23

ToolTypeWhat it does
vital_list_usersread
List users
List every Vital user in your team with pagination, so you can browse or reconcile the people whose wearable and lab data you manage.
vital_get_userread
Get user
Fetch a single Vital user by their Vital user_id, returning that user's profile and connection metadata.
vital_resolve_userread
Resolve user
Look up a Vital user by the stable client_user_id you assigned, mapping your own identifier back to Vital's user_id.
vital_get_user_connected_providersread
Get user connected providers
List the wearables and data sources a user has connected (Oura, Fitbit, Apple Health and more), so you know which data streams are available.
vital_get_user_latest_inforead
Get user latest info
Get the most recent device and app info reported for a user, useful for confirming a connection is live and actively syncing.
vital_list_providersread
List providers
List every provider (wearable or data source) Vital supports, to see the full set a user could connect.
vital_get_sleepread
Get sleep
Retrieve sleep summaries for a user over a date range, including stages, duration and efficiency across their connected providers.
vital_get_activityread
Get activity
Retrieve daily activity summaries for a user over a date range, covering steps, active and basal calories, and overall movement.
vital_get_workoutsread
Get workouts
Retrieve workout summaries for a user over a date range, with per-session sport, duration, distance and intensity.
vital_get_bodyread
Get body
Retrieve body summaries for a user over a date range, such as body weight and body-fat percentage measurements.
vital_get_mealread
Get meal
Retrieve logged meal summaries for a user over a date range, including nutrition and macronutrient breakdowns.
vital_get_menstrual_cycleread
Get menstrual cycle
Retrieve menstrual-cycle summaries for a user over a date range, including cycle phases and related metrics.
vital_get_profileread
Get profile
Get a user's profile summary of static attributes such as height, optionally filtered to a single provider.
vital_get_timeseriesread
Get timeseries
Fetch fine-grained timeseries data points for a user and resource — heart rate, HRV, glucose, blood pressure, steps and 15+ more — over a date range.
vital_list_lab_testsread
List lab tests
List the lab tests configured for your team, filtering by name, status or lab and sorting by price or date.
vital_get_lab_testread
Get lab test
Get the full definition of a single lab test by its id, including its markers and metadata.
vital_list_ordersread
List orders
List lab-test orders with filters for user, status, date range and free-text search, returned paginated.
vital_get_orderread
Get order
Get a single lab-test order by its id, including its current status and fulfillment details.
vital_get_order_resultsread
Get order results
Get the finalized lab-test results for an order, including biomarker values and their reference ranges.
vital_create_userwrite
Create user
Create a new Vital user record from your own client_user_id (additive), returning the Vital user_id to key future data against.
vital_create_link_tokenwrite
Create link token
Create a short-lived Link token so a user can connect a wearable or provider, optionally pre-selecting or restricting which providers appear.
vital_usage_statusmeta
Usage status (free-tier meter)
Report the caller's current free-tier usage this month: calls used, monthly limit, remaining, and whether the cap is reached. Read-only; does not count against the meter.
vital_upgrademeta
Upgrade to Pro (unlimited)
Subscribe to the Pro plan for UNLIMITED Vital tool calls (the free tier caps monthly usage). Choose monthly ($9/month) or yearly ($90/year — 2 months free) billing. Returns a Stripe Checkout link to open in your browser; after payment your account upgrades automatically. Read-only; does not count against the meter.

Pricing

PlanPriceLimit
Free$0100 tool calls / month
Pro$9/mo · $90/yrUnlimited

This is a Model Context Protocol endpoint — meant to be connected from an AI client, not opened in a browser. An invalid_token response at the URL is the auth gate working as designed; clients authenticate automatically.