vital

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

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
95%
Qualität der Benennung
79%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (1)

  • LOWTool 'vital_get_user_connected_providers' name length outside 3-30 rangein vital_get_user_connected_providers

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~3,472Tokens (Tool-Definitionen)
~1.2 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (2.71% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

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

Remote-Endpunkte

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

Was es kann

Tool-Inventar

Tools (21)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢vital_list_users(offset, limit)

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

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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#"
}

Empfohlene Prompts

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

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet21 Tools
verifiziertVersion nicht aufgezeichnet21 Tools