MCPサーバー

vital

io.usefulapi/vital
データ・分析 ヘルスケア 公開・接続可能 MCP 2026-07-28

このMCPでできること

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.
破壊的操作あり
入力スキーマ
{'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.
破壊的操作あり
入力スキーマ
{'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}.
読み取り専用
入力スキーマ
{'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}.
読み取り専用
入力スキーマ
{'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}.
読み取り専用
入力スキーマ
{'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}.
読み取り専用
入力スキーマ
{'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}.
読み取り専用
入力スキーマ
{'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}.
読み取り専用
入力スキーマ
{'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.
読み取り専用
入力スキーマ
{'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}.
読み取り専用
入力スキーマ
{'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}.
読み取り専用
入力スキーマ
{'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}.
読み取り専用
入力スキーマ
{'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}.
読み取り専用
入力スキーマ
{'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}.
読み取り専用
入力スキーマ
{'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.
読み取り専用
入力スキーマ
{'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}.
読み取り専用
入力スキーマ
{'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.
読み取り専用
入力スキーマ
{'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.
読み取り専用
入力スキーマ
{'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.
読み取り専用
入力スキーマ
{'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.
読み取り専用
入力スキーマ
{'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}.
読み取り専用
入力スキーマ
{'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.'}}}
変更
vital_create_link_token
2026年10月1日2:42
変更
vital_create_user
2026年10月1日2:42
変更
vital_get_order_results
2026年10月1日2:42
変更
vital_get_order
2026年10月1日2:42
変更
vital_list_orders
2026年10月1日2:42
変更
vital_get_lab_test
2026年10月1日2:42
変更
vital_list_lab_tests
2026年10月1日2:42
変更
vital_get_timeseries
2026年10月1日2:42
変更
vital_get_profile
2026年10月1日2:42
変更
vital_get_menstrual_cycle
2026年10月1日2:42
変更
vital_get_meal
2026年10月1日2:42
変更
vital_get_body
2026年10月1日2:42
変更
vital_get_workouts
2026年10月1日2:42
変更
vital_get_activity
2026年10月1日2:42
変更
vital_get_sleep
2026年10月1日2:42
変更
vital_list_providers
2026年10月1日2:42
変更
vital_get_user_latest_info
2026年10月1日2:42
変更
vital_get_user_connected_providers
2026年10月1日2:42
変更
vital_resolve_user
2026年10月1日2:42
変更
vital_get_user
2026年10月1日2:42
変更
vital_list_users
2026年10月1日2:42
追加
vital_create_link_token
2026年9月21日2:44
追加
vital_create_user
2026年9月21日2:44
追加
vital_get_order_results
2026年9月21日2:44
追加
vital_get_order
2026年9月21日2:44
追加
vital_list_orders
2026年9月21日2:44
追加
vital_get_lab_test
2026年9月21日2:44
追加
vital_list_lab_tests
2026年9月21日2:44
追加
vital_get_timeseries
2026年9月21日2:44
追加
vital_get_profile
2026年9月21日2:44