MCP-Server

vital

io.usefulapi/vital
Daten & Analytik Gesundheitswesen Öffentlich und erreichbar MCP 2026-07-28

Was dieses MCP kann

Reads connected wearable and health-provider data including activity, sleep, workouts, body metrics, timeseries measurements, menstrual cycles, lab tests, and orders.

vital_create_link_token
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.
Destruktiv
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['user_id'], 'properties': {'user_id': {'type': 'string', 'description': 'The Vital user id to create the link token for (required).'}, 'provider': {'type': 'string', 'description': 'Pre-select a single provider slug to connect.'}, 'redirect_url': {'type': 'string', 'description': 'URL to redirect to after the connection flow.'}, 'filter_on_providers': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Restrict the connectable providers to this list of slugs.'}}}
vital_create_user
Create user
Creates a Vital user record (additive). Returns the Vital user_id. Vital API: POST /v2/user.
Destruktiv
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['client_user_id'], 'properties': {'ingestion_end': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Latest date to ingest data to (yyyy-mm-dd).'}, 'client_user_id': {'type': 'string', 'description': 'Your own stable id for the user (required).'}, 'ingestion_start': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Earliest date to ingest data from (yyyy-mm-dd).'}, 'fallback_time_zone': {'type': 'string', 'description': "IANA time zone used if the provider doesn't report one."}, 'fallback_birth_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Fallback birth date yyyy-mm-dd.'}}}
vital_get_activity
Activity
Get activity summaries for a user over a date range. Vital API: GET /v2/summary/activity/{user_id}.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['user_id', 'start_date'], 'properties': {'user_id': {'type': 'string', 'description': 'The Vital user id (UUID).'}, 'end_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'End date yyyy-mm-dd (inclusive). Defaults to today upstream.'}, 'provider': {'type': 'string', 'description': 'Filter to a single provider slug (e.g. oura, fitbit).'}, 'start_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Start date yyyy-mm-dd (inclusive, required).'}}}
vital_get_body
Body
Get body summaries for a user over a date range. Vital API: GET /v2/summary/body/{user_id}.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['user_id', 'start_date'], 'properties': {'user_id': {'type': 'string', 'description': 'The Vital user id (UUID).'}, 'end_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'End date yyyy-mm-dd (inclusive). Defaults to today upstream.'}, 'provider': {'type': 'string', 'description': 'Filter to a single provider slug (e.g. oura, fitbit).'}, 'start_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Start date yyyy-mm-dd (inclusive, required).'}}}
vital_get_lab_test
Get lab test
Get a single lab test by id. Vital API: GET /v3/lab_tests/{lab_test_id}.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['lab_test_id'], 'properties': {'lab_test_id': {'type': 'string', 'description': 'The lab test id (UUID).'}}}
vital_get_meal
Meal
Get meal summaries for a user over a date range. Vital API: GET /v2/summary/meal/{user_id}.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['user_id', 'start_date'], 'properties': {'user_id': {'type': 'string', 'description': 'The Vital user id (UUID).'}, 'end_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'End date yyyy-mm-dd (inclusive). Defaults to today upstream.'}, 'provider': {'type': 'string', 'description': 'Filter to a single provider slug (e.g. oura, fitbit).'}, 'start_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Start date yyyy-mm-dd (inclusive, required).'}}}
vital_get_menstrual_cycle
Menstrual cycle
Get menstrual cycle summaries for a user over a date range. Vital API: GET /v2/summary/menstrual_cycle/{user_id}.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['user_id', 'start_date'], 'properties': {'user_id': {'type': 'string', 'description': 'The Vital user id (UUID).'}, 'end_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'End date yyyy-mm-dd (inclusive). Defaults to today upstream.'}, 'provider': {'type': 'string', 'description': 'Filter to a single provider slug (e.g. oura, fitbit).'}, 'start_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Start date yyyy-mm-dd (inclusive, required).'}}}
vital_get_order
Get order
Get a single lab-test order by id. Vital API: GET /v3/order/{order_id}.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['order_id'], 'properties': {'order_id': {'type': 'string', 'description': 'The order id (UUID).'}}}
vital_get_order_results
Get order results
Get the lab-test results for an order. Vital API: GET /v3/order/{order_id}/result.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['order_id'], 'properties': {'order_id': {'type': 'string', 'description': 'The order id (UUID).'}}}
vital_get_profile
Profile
Get a user's profile summary (height, and other static attributes). Vital API: GET /v2/summary/profile/{user_id}.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['user_id'], 'properties': {'user_id': {'type': 'string', 'description': 'The Vital user id (UUID).'}, 'provider': {'type': 'string', 'description': 'Filter to a single provider slug (e.g. oura, fitbit).'}}}
vital_get_sleep
Sleep
Get sleep summaries for a user over a date range. Vital API: GET /v2/summary/sleep/{user_id}.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['user_id', 'start_date'], 'properties': {'user_id': {'type': 'string', 'description': 'The Vital user id (UUID).'}, 'end_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'End date yyyy-mm-dd (inclusive). Defaults to today upstream.'}, 'provider': {'type': 'string', 'description': 'Filter to a single provider slug (e.g. oura, fitbit).'}, 'start_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Start date yyyy-mm-dd (inclusive, required).'}}}
vital_get_timeseries
Get timeseries data
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}.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['user_id', 'resource', 'start_date'], 'properties': {'user_id': {'type': 'string', 'description': 'The Vital user id (UUID).'}, 'end_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'End date yyyy-mm-dd (inclusive). Defaults to today upstream.'}, 'provider': {'type': 'string', 'description': 'Filter to a single provider slug (e.g. oura, fitbit).'}, 'resource': {'enum': ['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'], 'type': 'string', 'description': 'Timeseries resource to fetch.'}, 'start_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Start date yyyy-mm-dd (inclusive, required).'}}}
vital_get_user
Get user
Get a single Vital user by their Vital user_id. Vital API: GET /v2/user/{user_id}.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['user_id'], 'properties': {'user_id': {'type': 'string', 'description': 'The Vital user id (UUID).'}}}
vital_get_user_connected_providers
Get user's connected providers
List the wearables/data sources (providers) a user has connected. Vital API: GET /v2/user/providers/{user_id}.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['user_id'], 'properties': {'user_id': {'type': 'string', 'description': 'The Vital user id (UUID).'}}}
vital_get_user_latest_info
Get user's latest info
Get the latest device/app info reported for a user. Vital API: GET /v2/user/{user_id}/info/latest.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['user_id'], 'properties': {'user_id': {'type': 'string', 'description': 'The Vital user id (UUID).'}}}
vital_get_workouts
Workouts
Get workouts summaries for a user over a date range. Vital API: GET /v2/summary/workouts/{user_id}.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['user_id', 'start_date'], 'properties': {'user_id': {'type': 'string', 'description': 'The Vital user id (UUID).'}, 'end_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'End date yyyy-mm-dd (inclusive). Defaults to today upstream.'}, 'provider': {'type': 'string', 'description': 'Filter to a single provider slug (e.g. oura, fitbit).'}, 'start_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Start date yyyy-mm-dd (inclusive, required).'}}}
vital_list_lab_tests
List lab tests
List the lab tests available/configured for your team. Vital API: GET /v3/lab_tests.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'name': {'type': 'string', 'description': 'Filter by lab test name.'}, 'status': {'type': 'string', 'description': 'Filter by lab test status (e.g. active).'}, 'lab_slug': {'type': 'string', 'description': 'Filter by lab slug.'}, 'order_key': {'enum': ['price', 'created_at', 'updated_at'], 'type': 'string', 'description': 'Sort key.'}, 'order_direction': {'enum': ['asc', 'desc'], 'type': 'string', 'description': 'Sort direction.'}}}
vital_list_orders
List orders
List lab-test orders with filters, paginated. Vital API: GET /v3/orders.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Page number (1-based).', 'exclusiveMinimum': 0}, 'size': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Page size.', 'exclusiveMinimum': 0}, 'status': {'type': 'string', 'description': 'Filter by order status.'}, 'user_id': {'type': 'string', 'description': 'Filter to a single Vital user id (UUID).'}, 'end_date': {'type': 'string', 'description': 'Filter by created-at end (ISO datetime).'}, 'start_date': {'type': 'string', 'description': 'Filter by created-at start (ISO datetime).'}, 'search_input': {'type': 'string', 'description': 'Free-text search.'}}}
vital_list_providers
List supported providers
List all providers (wearables/data sources) Vital supports. Vital API: GET /v2/providers.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
vital_list_users
List users
List all Vital users in your team, paginated. Vital API: GET /v2/user.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'limit': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Max users to return.', 'exclusiveMinimum': 0}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Pagination offset.'}}}
vital_resolve_user
Resolve user by client_user_id
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}.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['client_user_id'], 'properties': {'client_user_id': {'type': 'string', 'description': 'Your own stable id for the user.'}}}
Geändert
vital_create_link_token
1. October 2026 02:42
Geändert
vital_create_user
1. October 2026 02:42
Geändert
vital_get_order_results
1. October 2026 02:42
Geändert
vital_get_order
1. October 2026 02:42
Geändert
vital_list_orders
1. October 2026 02:42
Geändert
vital_get_lab_test
1. October 2026 02:42
Geändert
vital_list_lab_tests
1. October 2026 02:42
Geändert
vital_get_timeseries
1. October 2026 02:42
Geändert
vital_get_profile
1. October 2026 02:42
Geändert
vital_get_menstrual_cycle
1. October 2026 02:42
Geändert
vital_get_meal
1. October 2026 02:42
Geändert
vital_get_body
1. October 2026 02:42
Geändert
vital_get_workouts
1. October 2026 02:42
Geändert
vital_get_activity
1. October 2026 02:42
Geändert
vital_get_sleep
1. October 2026 02:42
Geändert
vital_list_providers
1. October 2026 02:42
Geändert
vital_get_user_latest_info
1. October 2026 02:42
Geändert
vital_get_user_connected_providers
1. October 2026 02:42
Geändert
vital_resolve_user
1. October 2026 02:42
Geändert
vital_get_user
1. October 2026 02:42
Geändert
vital_list_users
1. October 2026 02:42
Hinzugefügt
vital_create_link_token
21. September 2026 02:44
Hinzugefügt
vital_create_user
21. September 2026 02:44
Hinzugefügt
vital_get_order_results
21. September 2026 02:44
Hinzugefügt
vital_get_order
21. September 2026 02:44
Hinzugefügt
vital_list_orders
21. September 2026 02:44
Hinzugefügt
vital_get_lab_test
21. September 2026 02:44
Hinzugefügt
vital_list_lab_tests
21. September 2026 02:44
Hinzugefügt
vital_get_timeseries
21. September 2026 02:44
Hinzugefügt
vital_get_profile
21. September 2026 02:44