vital

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

我該用這個嗎

品質與安全性

A
說明品質
100%
結構描述完整度
95%
命名品質
79%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

發現項目(1)

  • LOWTool 'vital_get_user_connected_providers' name length outside 3-30 range在 vital_get_user_connected_providers 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~3,472Token(工具定義)
~1.2 KB典型回應大小
顯著的注意力影響(128k 上下文的 2.71%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "vital": {
      "url": "https://vital.usefulapi.io/mcp"
    }
  }
}

遠端端點

https://vital.usefulapi.io/mcpstreamable-http

它能做什麼

工具清單

工具(21)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢vital_list_users(offset, limit)

List all Vital users in your team, paginated. Vital API: GET /v2/user.

輸入結構描述

{
  "type": "object",
  "properties": {
    "offset": {
      "description": "Pagination offset.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "limit": {
      "description": "Max users to return.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢vital_get_user(user_id)

Get a single Vital user by their Vital user_id. Vital API: GET /v2/user/{user_id}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "user_id": {
      "type": "string",
      "description": "The Vital user id (UUID)."
    }
  },
  "required": [
    "user_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢vital_resolve_user(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",
  "properties": {
    "client_user_id": {
      "type": "string",
      "description": "Your own stable id for the user."
    }
  },
  "required": [
    "client_user_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢vital_get_user_connected_providers(user_id)

List the wearables/data sources (providers) a user has connected. Vital API: GET /v2/user/providers/{user_id}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "user_id": {
      "type": "string",
      "description": "The Vital user id (UUID)."
    }
  },
  "required": [
    "user_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢vital_get_user_latest_info(user_id)

Get the latest device/app info reported for a user. Vital API: GET /v2/user/{user_id}/info/latest.

輸入結構描述

{
  "type": "object",
  "properties": {
    "user_id": {
      "type": "string",
      "description": "The Vital user id (UUID)."
    }
  },
  "required": [
    "user_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢vital_list_providers

List all providers (wearables/data sources) Vital supports. Vital API: GET /v2/providers.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢vital_get_sleep(user_id, start_date, end_date, provider)

Get sleep summaries for a user over a date range. Vital API: GET /v2/summary/sleep/{user_id}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "user_id": {
      "type": "string",
      "description": "The Vital user id (UUID)."
    },
    "start_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Start date yyyy-mm-dd (inclusive, required)."
    },
    "end_date": {
      "description": "End date yyyy-mm-dd (inclusive). Defaults to today upstream.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "provider": {
      "description": "Filter to a single provider slug (e.g. oura, fitbit).",
      "type": "string"
    }
  },
  "required": [
    "user_id",
    "start_date"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢vital_get_activity(user_id, start_date, end_date, provider)

Get activity summaries for a user over a date range. Vital API: GET /v2/summary/activity/{user_id}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "user_id": {
      "type": "string",
      "description": "The Vital user id (UUID)."
    },
    "start_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Start date yyyy-mm-dd (inclusive, required)."
    },
    "end_date": {
      "description": "End date yyyy-mm-dd (inclusive). Defaults to today upstream.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "provider": {
      "description": "Filter to a single provider slug (e.g. oura, fitbit).",
      "type": "string"
    }
  },
  "required": [
    "user_id",
    "start_date"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢vital_get_workouts(user_id, start_date, end_date, provider)

Get workouts summaries for a user over a date range. Vital API: GET /v2/summary/workouts/{user_id}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "user_id": {
      "type": "string",
      "description": "The Vital user id (UUID)."
    },
    "start_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Start date yyyy-mm-dd (inclusive, required)."
    },
    "end_date": {
      "description": "End date yyyy-mm-dd (inclusive). Defaults to today upstream.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "provider": {
      "description": "Filter to a single provider slug (e.g. oura, fitbit).",
      "type": "string"
    }
  },
  "required": [
    "user_id",
    "start_date"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢vital_get_body(user_id, start_date, end_date, provider)

Get body summaries for a user over a date range. Vital API: GET /v2/summary/body/{user_id}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "user_id": {
      "type": "string",
      "description": "The Vital user id (UUID)."
    },
    "start_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Start date yyyy-mm-dd (inclusive, required)."
    },
    "end_date": {
      "description": "End date yyyy-mm-dd (inclusive). Defaults to today upstream.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "provider": {
      "description": "Filter to a single provider slug (e.g. oura, fitbit).",
      "type": "string"
    }
  },
  "required": [
    "user_id",
    "start_date"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢vital_get_meal(user_id, start_date, end_date, provider)

Get meal summaries for a user over a date range. Vital API: GET /v2/summary/meal/{user_id}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "user_id": {
      "type": "string",
      "description": "The Vital user id (UUID)."
    },
    "start_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Start date yyyy-mm-dd (inclusive, required)."
    },
    "end_date": {
      "description": "End date yyyy-mm-dd (inclusive). Defaults to today upstream.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "provider": {
      "description": "Filter to a single provider slug (e.g. oura, fitbit).",
      "type": "string"
    }
  },
  "required": [
    "user_id",
    "start_date"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢vital_get_menstrual_cycle(user_id, start_date, end_date, provider)

Get menstrual cycle summaries for a user over a date range. Vital API: GET /v2/summary/menstrual_cycle/{user_id}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "user_id": {
      "type": "string",
      "description": "The Vital user id (UUID)."
    },
    "start_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Start date yyyy-mm-dd (inclusive, required)."
    },
    "end_date": {
      "description": "End date yyyy-mm-dd (inclusive). Defaults to today upstream.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "provider": {
      "description": "Filter to a single provider slug (e.g. oura, fitbit).",
      "type": "string"
    }
  },
  "required": [
    "user_id",
    "start_date"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢vital_get_profile(user_id, provider)

Get a user's profile summary (height, and other static attributes). Vital API: GET /v2/summary/profile/{user_id}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "user_id": {
      "type": "string",
      "description": "The Vital user id (UUID)."
    },
    "provider": {
      "description": "Filter to a single provider slug (e.g. oura, fitbit).",
      "type": "string"
    }
  },
  "required": [
    "user_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢vital_get_timeseries(user_id, resource, start_date, end_date, provider)

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",
  "properties": {
    "user_id": {
      "type": "string",
      "description": "The Vital user id (UUID)."
    },
    "resource": {
      "type": "string",
      "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"
      ],
      "description": "Timeseries resource to fetch."
    },
    "start_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Start date yyyy-mm-dd (inclusive, required)."
    },
    "end_date": {
      "description": "End date yyyy-mm-dd (inclusive). Defaults to today upstream.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "provider": {
      "description": "Filter to a single provider slug (e.g. oura, fitbit).",
      "type": "string"
    }
  },
  "required": [
    "user_id",
    "resource",
    "start_date"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢vital_list_lab_tests(name, status, lab_slug, order_key, order_direction)

List the lab tests available/configured for your team. Vital API: GET /v3/lab_tests.

輸入結構描述

{
  "type": "object",
  "properties": {
    "name": {
      "description": "Filter by lab test name.",
      "type": "string"
    },
    "status": {
      "description": "Filter by lab test status (e.g. active).",
      "type": "string"
    },
    "lab_slug": {
      "description": "Filter by lab slug.",
      "type": "string"
    },
    "order_key": {
      "description": "Sort key.",
      "type": "string",
      "enum": [
        "price",
        "created_at",
        "updated_at"
      ]
    },
    "order_direction": {
      "description": "Sort direction.",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢vital_get_lab_test(lab_test_id)

Get a single lab test by id. Vital API: GET /v3/lab_tests/{lab_test_id}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "lab_test_id": {
      "type": "string",
      "description": "The lab test id (UUID)."
    }
  },
  "required": [
    "lab_test_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢vital_list_orders(page, size, user_id, status, start_date, ...)

List lab-test orders with filters, paginated. Vital API: GET /v3/orders.

輸入結構描述

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number (1-based).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "size": {
      "description": "Page size.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "user_id": {
      "description": "Filter to a single Vital user id (UUID).",
      "type": "string"
    },
    "status": {
      "description": "Filter by order status.",
      "type": "string"
    },
    "start_date": {
      "description": "Filter by created-at start (ISO datetime).",
      "type": "string"
    },
    "end_date": {
      "description": "Filter by created-at end (ISO datetime).",
      "type": "string"
    },
    "search_input": {
      "description": "Free-text search.",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢vital_get_order(order_id)

Get a single lab-test order by id. Vital API: GET /v3/order/{order_id}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "string",
      "description": "The order id (UUID)."
    }
  },
  "required": [
    "order_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢vital_get_order_results(order_id)

Get the lab-test results for an order. Vital API: GET /v3/order/{order_id}/result.

輸入結構描述

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "string",
      "description": "The order id (UUID)."
    }
  },
  "required": [
    "order_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴vital_create_user(client_user_id, fallback_time_zone, fallback_birth_date, ingestion_start, ingestion_end)

Creates a Vital user record (additive). Returns the Vital user_id. Vital API: POST /v2/user.

輸入結構描述

{
  "type": "object",
  "properties": {
    "client_user_id": {
      "type": "string",
      "description": "Your own stable id for the user (required)."
    },
    "fallback_time_zone": {
      "description": "IANA time zone used if the provider doesn't report one.",
      "type": "string"
    },
    "fallback_birth_date": {
      "description": "Fallback birth date yyyy-mm-dd.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "ingestion_start": {
      "description": "Earliest date to ingest data from (yyyy-mm-dd).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "ingestion_end": {
      "description": "Latest date to ingest data to (yyyy-mm-dd).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    }
  },
  "required": [
    "client_user_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴vital_create_link_token(user_id, provider, redirect_url, filter_on_providers)

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",
  "properties": {
    "user_id": {
      "type": "string",
      "description": "The Vital user id to create the link token for (required)."
    },
    "provider": {
      "description": "Pre-select a single provider slug to connect.",
      "type": "string"
    },
    "redirect_url": {
      "description": "URL to redirect to after the connection flow.",
      "type": "string"
    },
    "filter_on_providers": {
      "description": "Restrict the connectable providers to this list of slugs.",
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "user_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

建議的提示詞

retrieve_data
Get details about [item] from vital
預期的工具: vital_get_user
fetch_info
Fetch [information type] using vital
預期的工具: vital_get_user
list_items
List all [items] available in vital
預期的工具: vital_list_users
browse_collection
Show me the [collection] from vital
預期的工具: vital_list_users
explore_workflow
List available [items], then get details for each one using vital
預期的工具: vital_list_usersvital_get_user

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本21 個工具
已驗證未記錄版本21 個工具