mcpbeat

Vital MCP Server

io.usefulapi/vital
answering

Vital is answering right now. Last checked 8 min ago. It exposes 21 tools. Last commit 1 Aug 2026.

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

Uptime history 40 hours of history · worst hour 0%
40 hours agonow
39.6%
Uptime 24h
36 of 91 checks
21
Tools
read from the server
162 ms
Response time
average over 24h
0
Stars
last commit 1 Aug 2026

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 8 min ago.

run in your terminal
claude mcp add vital --transport http https://vital.usefulapi.io/mcp
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "vital": {
      "url": "https://vital.usefulapi.io/mcp"
    }
  }
}
~/.codex/config.toml
[mcp_servers.vital]
url = "https://vital.usefulapi.io/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "vital": {
      "url": "https://vital.usefulapi.io/mcp"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "vital": {
      "url": "https://vital.usefulapi.io/mcp"
    }
  }
}

Available tools 21

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

vital
vital_create_link_token
Creates a short-lived Link token to connect a user's wearable/provider (no health data is modified). Vital API: POST /v2/link/token.
vital_create_user
Creates a Vital user record (additive). Returns the Vital user_id. Vital API: POST /v2/user.
vital_get_activity
Get activity summaries for a user over a date range. Vital API: GET /v2/summary/activity/{user_id}.
vital_get_body
Get body summaries for a user over a date range. Vital API: GET /v2/summary/body/{user_id}.
vital_get_lab_test
Get a single lab test by id. Vital API: GET /v3/lab_tests/{lab_test_id}.
vital_get_meal
Get meal summaries for a user over a date range. Vital API: GET /v2/summary/meal/{user_id}.
vital_get_menstrual_cycle
Get menstrual cycle summaries for a user over a date range. Vital API: GET /v2/summary/menstrual_cycle/{user_id}.
vital_get_order
Get a single lab-test order by id. Vital API: GET /v3/order/{order_id}.
vital_get_order_results
Get the lab-test results for an order. Vital API: GET /v3/order/{order_id}/result.
vital_get_profile
Get a user's profile summary (height, and other static attributes). Vital API: GET /v2/summary/profile/{user_id}.
vital_get_sleep
Get sleep summaries for a user over a date range. Vital API: GET /v2/summary/sleep/{user_id}.
vital_get_timeseries
Get timeseries data points for a user and resource over a date range. Supported resources: heartrate, hrv, glucose, blood_pressure, blood_oxygen, steps, respiratory_rate, body_weight, body_fat, distance, water, vo2_max, stress_level, mindfulness_minutes, calories_active, calories_basal, floors_climbed, caffeine, cholesterol. Vital API: GET /v2/timeseries/{user_id}/{resource}.
vital_get_user
Get a single Vital user by their Vital user_id. Vital API: GET /v2/user/{user_id}.
vital_get_user_connected_providers
List the wearables/data sources (providers) a user has connected. Vital API: GET /v2/user/providers/{user_id}.
vital_get_user_latest_info
Get the latest device/app info reported for a user. Vital API: GET /v2/user/{user_id}/info/latest.
vital_get_workouts
Get workouts summaries for a user over a date range. Vital API: GET /v2/summary/workouts/{user_id}.
vital_list_lab_tests
List the lab tests available/configured for your team. Vital API: GET /v3/lab_tests.
vital_list_orders
List lab-test orders with filters, paginated. Vital API: GET /v3/orders.
vital_list_providers
List all providers (wearables/data sources) Vital supports. Vital API: GET /v2/providers.
vital_list_users
List all Vital users in your team, paginated. Vital API: GET /v2/user.
vital_resolve_user
Look up a Vital user by your own client_user_id (the stable id you assigned). Vital API: GET /v2/user/resolve/{client_user_id}.

Endpoints

URLTransportStateLatencyChecked
https://vital.usefulapi.io/mcp streamable-http answering 218 ms 8 min ago

Vital — questions

Answers built from our own checks of this server.

What can Vital do?
It exposes 21 tools, read directly from the server on our last check. Among them: vital_create_link_token, vital_create_user, vital_get_activity, vital_get_body, vital_get_lab_test, vital_get_meal and 15 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is Vital working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 36 of 91 checks got a reply (39.6%), average response time 162 ms. The bar chart above shows every period we have measured.
How do I connect Vital?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Vital need an API key?
No. Vital completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 21 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Vital?
It answers our handshake in 162 ms on average, which is faster than 71% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is Vital open source?
Yes — it is published under the MIT licence, written in JavaScript and 0 stars on GitHub. The source link is on this page, so you can read exactly what it does with your data before you connect it.