protogrid

Search / io.usefulapi/vital

Vital MCP by usefulapi

R2· OAuth, once

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

v1.11.1 · active · repository · website · descriptor JSON · versions

An agent can connect after a one-time OAuth consent by a human.Remote endpoint behind OAuth 2. Tokens stay with the agent; the registry only exposes the authorization metadata.
Quality85good
Trust58of 100
Uptime, 30 days86%
Latency p50378 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "vital": {
      "type": "http",
      "url": "https://vital.usefulapi.io/mcp"
    }
  }
}
claude mcp add --transport http vital https://vital.usefulapi.io/mcp
[mcp_servers.vital]
url = "https://vital.usefulapi.io/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "vital": {
      "type": "remote",
      "url": "https://vital.usefulapi.io/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "vital": {
      "type": "http",
      "url": "https://vital.usefulapi.io/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=vital&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vdml0YWwudXNlZnVsYXBpLmlvL21jcCJ9"
}
{
  "servers": {
    "vital": {
      "type": "http",
      "url": "https://vital.usefulapi.io/mcp"
    }
  }
}
{
  "mcpServers": {
    "vital": {
      "httpUrl": "https://vital.usefulapi.io/mcp"
    }
  }
}
extensions:
  "vital":
    enabled: true
    name: "vital"
    type: streamable_http
    uri: "https://vital.usefulapi.io/mcp"
    timeout: 300

Quality 85 / 100good

protocoln/a · weight 25
  • n/a
    protocol.modern, protocol.stateless, protocol.transport, protocol.list_ttlno remote answered a protocol handshake (not probed yet, unreachable, or local-only)
authorization83 · weight 15
  • pass
    auth.prmProtected Resource Metadata (RFC 9728) published
  • pass
    auth.as_metadataauthorization server metadata reachable
  • warn
    auth.cimdonly Dynamic Client Registration, deprecated in 2026-07-28 in favour of CIMD
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene86 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations21 of 21 tools declare readOnlyHint or destructiveHint
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: vital_get_user (destructiveHint, idempotentHint, openWorldHint); vital_resolve_user (destructiveHint, idempotentHint, openWorldHint); vital_get_user_connected_providers (destructiveHint, idempotentHint, openWorldHint); …
  • pass
    tools.token_costabout 3,054 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stabilityn/a · weight 15
  • n/a
    stability.changes, stability.rug_pulltool history not recorded yet
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

21 tools, about 3,054 tokens to load them all · checked 2026-10-20 13:49 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 58 / 100

duplicate-repounreachable
provenance85
liveness0
freshness100
hygiene60

+repository +dns-namespace +website -unreachable(6 failures) +updated-11d-ago -duplicate-repo(333 names)

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://vital.usefulapi.io/mcp streamable-httpoauth2 AS: https://vital.usefulapi.iono (6 failures)86%378 ms–2026-10-09

Tools (21)

vital_create_link_tokendestructiveCreates 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_userdestructiveCreates a Vital user record (additive). Returns the Vital user_id. Vital API: POST /v2/user.
vital_get_activityread-onlyGet activity summaries for a user over a date range. Vital API: GET /v2/summary/activity/{user_id}.
vital_get_bodyread-onlyGet body summaries for a user over a date range. Vital API: GET /v2/summary/body/{user_id}.
vital_get_lab_testread-onlyGet a single lab test by id. Vital API: GET /v3/lab_tests/{lab_test_id}.
vital_get_mealread-onlyGet meal summaries for a user over a date range. Vital API: GET /v2/summary/meal/{user_id}.
vital_get_menstrual_cycleread-onlyGet menstrual cycle summaries for a user over a date range. Vital API: GET /v2/summary/menstrual_cycle/{user_id}.
vital_get_orderread-onlyGet a single lab-test order by id. Vital API: GET /v3/order/{order_id}.
vital_get_order_resultsread-onlyGet the lab-test results for an order. Vital API: GET /v3/order/{order_id}/result.
vital_get_profileread-onlyGet a user's profile summary (height, and other static attributes). Vital API: GET /v2/summary/profile/{user_id}.
vital_get_sleepread-onlyGet sleep summaries for a user over a date range. Vital API: GET /v2/summary/sleep/{user_id}.
vital_get_timeseriesread-onlyGet 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_userread-onlyGet a single Vital user by their Vital user_id. Vital API: GET /v2/user/{user_id}.
vital_get_user_connected_providersread-onlyList the wearables/data sources (providers) a user has connected. Vital API: GET /v2/user/providers/{user_id}.
vital_get_user_latest_inforead-onlyGet the latest device/app info reported for a user. Vital API: GET /v2/user/{user_id}/info/latest.
vital_get_workoutsread-onlyGet workouts summaries for a user over a date range. Vital API: GET /v2/summary/workouts/{user_id}.
vital_list_lab_testsread-onlyList the lab tests available/configured for your team. Vital API: GET /v3/lab_tests.
vital_list_ordersread-onlyList lab-test orders with filters, paginated. Vital API: GET /v3/orders.
vital_list_providersread-onlyList all providers (wearables/data sources) Vital supports. Vital API: GET /v2/providers.
vital_list_usersread-onlyList all Vital users in your team, paginated. Vital API: GET /v2/user.
vital_resolve_userread-onlyLook up a Vital user by your own client_user_id (the stable id you assigned). Vital API: GET /v2/user/resolve/{client_user_id}.

Schemas: list_tools.

Also listed as

332 other active names share this repository (showing 10): io.usefulapi/17track, io.usefulapi/ably, io.usefulapi/abstract-api, io.usefulapi/accelo, io.usefulapi/accredible, io.usefulapi/acuity-scheduling, io.usefulapi/adafruit-io, io.usefulapi/addevent, io.usefulapi/airbrake, io.usefulapi/aircall

Similar MCP servers

More from io.usefulapi

And 326 more from this publisher.

Official server.json
{
  "name": "io.usefulapi/vital",
  "icons": [
    {
      "src": "https://usefulapi.io/icon.svg",
      "sizes": [
        "any"
      ],
      "mimeType": "image/svg+xml"
    },
    {
      "src": "https://usefulapi.io/icon-256.png",
      "sizes": [
        "256x256"
      ],
      "mimeType": "image/png"
    },
    {
      "src": "https://usefulapi.io/icon-512.png",
      "sizes": [
        "512x512"
      ],
      "mimeType": "image/png"
    }
  ],
  "title": "Vital MCP by usefulapi",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://vital.usefulapi.io/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.11.1",
  "repository": {
    "url": "https://github.com/m190/usefulapi-mcp",
    "source": "github",
    "subfolder": "servers/vital"
  },
  "websiteUrl": "https://usefulapi.io/vital/",
  "description": "Read wearables and lab health data — sleep, activity, workouts, timeseries, lab tests and orders."
}