{
  "schemaVersion": "1.0",
  "item": {
    "slug": "gevety",
    "name": "Gevety MCP",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/moclippa/gevety",
    "canonicalUrl": "https://clawhub.ai/moclippa/gevety",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/gevety",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=gevety",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/gevety"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/gevety",
    "agentPageUrl": "https://openagent3.xyz/skills/gevety/agent",
    "manifestUrl": "https://openagent3.xyz/skills/gevety/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/gevety/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Gevety Health Assistant",
        "body": "You have access to the user's health data from Gevety via the REST API. Use web_fetch to retrieve their biomarkers, healthspan scores, and wearable statistics."
      },
      {
        "title": "First-Time Setup",
        "body": "If this is the user's first time using Gevety, guide them through setup:\n\nGet a Gevety account: Sign up at https://gevety.com if they don't have one\nUpload blood tests: They need to upload lab reports to have biomarker data\nGenerate an API token:\n\nGo to https://gevety.com/settings\nClick \"Developer API\" tab\nClick \"Generate Token\"\nCopy the token (starts with gvt_)\n\n\nConfigure Clawdbot: Add the token to ~/.clawdbot/clawdbot.json:\n\n{\n  \"skills\": {\n    \"entries\": {\n      \"gevety\": {\n        \"apiKey\": \"gvt_your_token_here\"\n      }\n    }\n  }\n}\n\nAfter adding the token, they'll need to restart Clawdbot for changes to take effect."
      },
      {
        "title": "Authentication",
        "body": "All requests require Bearer authentication. Use the GEVETY_API_TOKEN environment variable:\n\nAuthorization: Bearer $GEVETY_API_TOKEN\n\nBase URL: https://api.gevety.com"
      },
      {
        "title": "Biomarker Name Handling",
        "body": "The API preserves biomarker specificity. Fasting and non-fasting variants are distinct:\n\nInput NameAPI ReturnsNotesCRP, C-Reactive ProteinCRP or C-Reactive ProteinStandard CRP (LOINC 1988-5)hsCRP, hscrp, Cardio CRPhs-CRPHigh-sensitivity CRP (LOINC 30522-7)Glucose, Blood GlucoseGlucoseGeneric/unspecified glucoseFasting Glucose, FBS, FBGGlucose FastingFasting-specific glucoseInsulin, Serum InsulinInsulinGeneric/unspecified insulinFasting InsulinInsulin FastingFasting-specific insulinIGImmature GranulocytesExpanded for clarityVitamin D, 25-OH Vitamin DVitamin DLDL, LDL CholesterolLDL Cholesterol\n\nImportant: The API no longer forces fasting assumptions. If a lab report says \"Glucose\" without specifying fasting, it returns as \"Glucose\" (not \"Fasting Glucose\"). This preserves the original context from your lab results."
      },
      {
        "title": "1. List Available Data (Start Here)",
        "body": "Always call this first to discover what health data exists.\n\nGET /api/v1/mcp/tools/list_available_data\n\nReturns:\n\nbiomarkers: List of tracked biomarkers with test counts and latest dates\nwearables: Connected devices and available metrics\ninsights: Whether healthspan score is calculated, axis scores available\ndata_coverage: Percentage of recommended biomarkers tracked (0-100)"
      },
      {
        "title": "2. Get Health Summary",
        "body": "Overview of the user's health status.\n\nGET /api/v1/mcp/tools/get_health_summary\n\nReturns:\n\noverall_score: Healthspan score (0-100)\noverall_status: OPTIMAL, GOOD, SUBOPTIMAL, or NEEDS_ATTENTION\ntrend: IMPROVING, STABLE, or DECLINING\naxis_scores: Scores for each health dimension (metabolic, cardiovascular, etc.)\ntop_concerns: Biomarkers needing attention\nscoring_note: Explanation when overall score differs from axis scores (e.g., \"Overall healthspan is high, but Inflammation axis needs attention\")\n\nNote on scores: The overall healthspan score is a weighted composite. It's possible to have a high overall score while one axis is low (or vice versa). The scoring_note field explains these situations."
      },
      {
        "title": "3. Query Biomarker",
        "body": "Get detailed history for a specific biomarker.\n\nGET /api/v1/mcp/tools/query_biomarker?biomarker={name}&days={days}\n\nParameters:\n\nbiomarker (required): Name or alias (e.g., \"vitamin d\", \"ldl\", \"hba1c\", \"crp\")\ndays (optional): History period, 1-730, default 365\n\nReturns:\n\ncanonical_name: Standardized biomarker name (see table above)\nhistory: Array of test results with dates, values, units, flags\nlatest: Most recent result\ntrend: Direction (IMPROVING, STABLE, DECLINING) and percent change\noptimal_range: Evidence-based optimal values\n\nTip: If biomarker not found, the response includes did_you_mean suggestions."
      },
      {
        "title": "4. Get Wearable Stats",
        "body": "Daily metrics from connected wearables (Garmin, Oura, Whoop, etc.).\n\nGET /api/v1/mcp/tools/get_wearable_stats?days={days}&metric={metric}\n\nParameters:\n\ndays (optional): History period, 1-90, default 30\nmetric (optional): Focus on specific metric (steps, hrv, sleep, etc.)\n\nReturns:\n\nconnected_sources: List of connected wearable platforms\ndaily_metrics: Per-day data (steps, resting HR, HRV, sleep, recovery)\nsummaries: Aggregated stats with averages, min, max, trends"
      },
      {
        "title": "5. Get Opportunities",
        "body": "Get ranked health improvement opportunities with estimated healthspan impact.\n\nGET /api/v1/mcp/tools/get_opportunities?limit={limit}&axis={axis}\n\nParameters:\n\nlimit (optional): Max opportunities to return, 1-50, default 10\naxis (optional): Filter by health axis (metabolic, cardiovascular, etc.)\n\nReturns:\n\nopportunities: Ranked list of improvement opportunities\ntotal_opportunity_score: Total healthspan points available\ntotal_years_estimate: Estimated years of healthy life if all optimized\nhealthspan_score: Current healthspan score\n\nEach opportunity includes:\n\nbiomarker: Standardized biomarker name\ncurrent_value / optimal_value: Where you are vs target\nopportunity_score: Healthspan points gained if optimized\nyears_estimate: Estimated healthy years gained\npriority: Rank (1 = highest impact)"
      },
      {
        "title": "6. Get Biological Age",
        "body": "Calculate biological age using validated algorithms (PhenoAge, Light BioAge).\n\nGET /api/v1/mcp/tools/get_biological_age\n\nReturns:\n\nresult: Biological age calculation (if available)\n\nbiological_age: Calculated biological age\nchronological_age: Calendar age\nage_acceleration: Difference (positive = aging faster)\nalgorithm: Which algorithm was used\nbiomarkers_used: Biomarkers that contributed\ninterpretation: What the result means\n\n\navailable: Whether calculation was possible\nreason: Why not available (if applicable)\nupgrade_available: Can unlock better algorithm with more data\nupgrade_message: What additional tests would help"
      },
      {
        "title": "7. List Supplements",
        "body": "Get the user's supplement stack.\n\nGET /api/v1/mcp/tools/list_supplements?active_only={true|false}\n\nParameters:\n\nactive_only (optional): Only show currently active supplements, default false\n\nReturns:\n\nsupplements: List of supplements with dosage, frequency, duration\nactive_count: Number of currently active supplements\ntotal_count: Total supplements tracked\n\nEach supplement includes:\n\nname: Supplement name\ndose_text: Formatted dosage (e.g., \"1000 mg daily\", \"200mg EPA + 100mg DHA daily\")\nis_active: Currently taking\nduration_days: How long on this supplement\n\nNote: For multi-component supplements (like fish oil), dose_text shows all components (e.g., \"200mg EPA + 100mg DHA daily\")."
      },
      {
        "title": "8. Get Activities",
        "body": "Get workout/activity history from connected wearables.\n\nGET /api/v1/mcp/tools/get_activities?days={days}&activity_type={type}\n\nParameters:\n\ndays (optional): History period, 1-90, default 30\nactivity_type (optional): Filter by type (running, cycling, strength, etc.)\n\nReturns:\n\nactivities: List of workouts with metrics\ntotal_count: Number of activities\ntotal_duration_minutes: Total workout time\ntotal_distance_km: Total distance covered\ntotal_calories: Total calories burned\n\nEach activity includes:\n\nactivity_type: Type (running, cycling, swimming, etc.)\nname: Activity name\nstart_time: When it started\nduration_minutes: How long\ndistance_km: Distance (if applicable)\ncalories: Calories burned\navg_hr / max_hr: Heart rate data\nsource: Where the data came from (garmin, strava, etc.)"
      },
      {
        "title": "9. Get Today's Actions",
        "body": "Get the user's action checklist for today.\n\nGET /api/v1/mcp/tools/get_today_actions?timezone={timezone}\n\nParameters:\n\ntimezone (optional): IANA timezone (e.g., \"America/New_York\"), default UTC\n\nReturns:\n\neffective_date: The date being queried in user's timezone\ntimezone: Timezone used for calculation\nwindow_start / window_end: Day boundaries (ISO datetime)\nactions: List of today's actions\ncompleted_count / total_count: Completion stats\ncompletion_pct: Numeric completion percentage (0-100)\nlast_updated_at: Cache staleness indicator\n\nEach action includes:\n\naction_id: Stable ID for deep-linking\ntitle: Action title\naction_type: Type (supplement, habit, diet, medication, test, procedure)\ncompleted: Whether completed today\nscheduled_window: Time window (morning, afternoon, evening, any)\ndose_text: Dosage info if applicable (e.g., \"1000 mg daily\")"
      },
      {
        "title": "10. Get Protocol",
        "body": "Get the user's 90-day health protocol with top priorities.\n\nGET /api/v1/mcp/tools/get_protocol\n\nReturns:\n\nprotocol_id: Stable protocol ID\nphase: Current phase (week1, month1, month3)\ndays_remaining: Days until protocol expires\ngenerated_at / last_updated_at: Timestamps\ntop_priorities: Top 5 health priorities with reasoning\nkey_recommendations: Diet and lifestyle action items\ntotal_actions: Total actions in protocol\n\nEach priority includes:\n\npriority_id: Stable ID (same as rank)\nrank: Priority rank (1 = highest)\nbiomarker: Standardized biomarker name\nstatus: Current status (critical, concerning, suboptimal, optimal)\ntarget: Target value with unit\ncurrent_value / unit: Current measured value\nmeasured_at: When this biomarker was last measured\nwhy_prioritized: Explanation for why this is prioritized\n\nNote: If no protocol exists, returns a helpful error with suggestion to generate one at gevety.com/protocol."
      },
      {
        "title": "11. Get Upcoming Tests",
        "body": "Get tests that are due or recommended based on biomarker history and AI recommendations.\n\nGET /api/v1/mcp/tools/get_upcoming_tests\n\nReturns:\n\ntests: List of upcoming tests sorted by urgency\noverdue_count: Number of overdue tests\ndue_soon_count: Tests due within 30 days\nrecommended_count: AI-recommended tests\ntotal_count: Total number of upcoming tests\n\nEach test includes:\n\ntest_id: Stable ID for deep-linking (format: panel_{id} or recommended_{id})\nname: Test or panel name\ntest_type: Type (panel, biomarker, recommended)\nurgency: Priority level (overdue, due_soon, recommended)\ndue_reason: Why this test is needed (e.g., \"Due 2 weeks ago\", \"AI recommendation\")\nlast_tested_at: When this was last tested (if applicable)\nbiomarkers: List of biomarkers included (for panels)"
      },
      {
        "title": "12. List Test Results",
        "body": "Get a list of uploaded lab reports with dates, source, and biomarker count.\n\nGET /api/v1/mcp/tools/list_test_results?limit={limit}&start_date={date}&end_date={date}\n\nParameters:\n\nlimit (optional): Max reports to return, 1-50, default 10\nstart_date (optional): Filter from date (YYYY-MM-DD)\nend_date (optional): Filter to date (YYYY-MM-DD)\n\nReturns:\n\nreports: List of lab reports\ntotal_reports: Total number of reports\n\nEach report includes:\n\nreport_id: Stable report ID\nreport_date: Date of the lab test\nsource: How it was uploaded (pdf, email, manual)\nlab_name: Laboratory name (if available)\nbiomarker_count: Number of biomarkers in this report\nfilename: Original filename (if uploaded as PDF)"
      },
      {
        "title": "13. List All Biomarkers",
        "body": "Get ALL tracked biomarkers with current value, status classification, and trend in one call.\n\nGET /api/v1/mcp/tools/list_all_biomarkers?category={category}&status={status}\n\nParameters:\n\ncategory (optional): Filter by category (e.g., \"metabolic\", \"cardiovascular\")\nstatus (optional): Filter by status (optimal, suboptimal, high, low, critical_high, critical_low)\n\nReturns:\n\nbiomarkers: List of all biomarkers with latest values\ntotal_count: Total number of biomarkers\ncounts_by_status: Breakdown by status (optimal, suboptimal, high, low, critical_high, critical_low, unknown)\n\nEach biomarker includes:\n\nname: Standardized biomarker name\ncategory: Health category (metabolic, cardiovascular, etc.)\nlatest_value: Most recent test value\nunit: Measurement unit\nstatus: Classification (optimal, suboptimal, high, low, critical_high, critical_low, unknown)\nlast_test_date: When this was last tested\ntrend_direction: Trend since previous test (increasing, decreasing, stable)"
      },
      {
        "title": "14. Get Content Recommendations",
        "body": "Get personalized health content recommendations based on biomarker profile.\n\nGET /api/v1/mcp/tools/get_content_recommendations?limit={limit}&category={category}\n\nParameters:\n\nlimit (optional): Max recommendations, 1-20, default 5\ncategory (optional): Filter by content category\n\nReturns:\n\nrecommendations: List of recommended articles\ntotal_available: Total recommendations available\n\nEach recommendation includes:\n\ncontent_id: Stable content ID\ntitle: Article title\nsummary: Brief summary\ncategory: Content category\nrelevance_reason: Why this is relevant to the user\nquality_score: Evidence quality score (only high-quality content is shown)\nurl: Link to the article"
      },
      {
        "title": "Healthspan Score (0-100)",
        "body": "RangeStatusMeaning80-100OPTIMALExcellent health optimization65-79GOODAbove average, minor improvements possible50-64SUBOPTIMALRoom for improvement<50NEEDS_ATTENTIONSeveral areas need focus"
      },
      {
        "title": "Axis Scores",
        "body": "Each health dimension is scored independently:\n\nMetabolic: Blood sugar, insulin, lipids\nCardiovascular: Heart health markers\nInflammatory: hs-CRP, homocysteine\nHormonal: Thyroid, testosterone, cortisol\nNutritional: Vitamins, minerals\nLiver/Kidney: Organ function markers\n\nImportant: It's possible to have a high overall score with one low axis score (or vice versa). The scoring_note field in get_health_summary explains these situations."
      },
      {
        "title": "Biomarker Status Labels",
        "body": "LabelMeaningOPTIMALWithin evidence-based ideal rangeNORMALWithin lab reference rangeSUBOPTIMALRoom for improvementHIGH/LOWOutside lab reference rangeCRITICALNeeds immediate medical attention"
      },
      {
        "title": "\"How am I doing?\"",
        "body": "Call list_available_data to see what's tracked\nCall get_health_summary for the overall picture\nHighlight top concerns and recent trends\nIf scoring_note is present, explain the score discordance"
      },
      {
        "title": "\"Tell me about my vitamin D\"",
        "body": "Call query_biomarker?biomarker=vitamin d\nPresent history, current status, and trend\nNote optimal range vs current value"
      },
      {
        "title": "\"What's my CRP?\" / \"How's my inflammation?\"",
        "body": "Call query_biomarker?biomarker=crp (returns as \"CRP\" or \"hs-CRP\" depending on lab)\nPresent the value and trend\nExplain what CRP measures (inflammation marker) - note if it's high-sensitivity"
      },
      {
        "title": "\"How's my sleep/HRV?\"",
        "body": "Call get_wearable_stats?metric=sleep or ?metric=hrv\nShow recent trends and averages\nCompare to healthy baselines"
      },
      {
        "title": "\"What should I focus on?\"",
        "body": "Call get_opportunities?limit=5\nPresent top opportunities ranked by healthspan impact\nExplain what each biomarker does and why optimizing it matters"
      },
      {
        "title": "\"How old am I biologically?\"",
        "body": "Call get_biological_age\nIf available, compare biological vs chronological age\nExplain what age acceleration means\nIf not available, explain what tests are needed"
      },
      {
        "title": "\"What supplements am I taking?\"",
        "body": "Call list_supplements?active_only=true\nList active supplements with dosages (use dose_text field)\nNote duration on each supplement"
      },
      {
        "title": "\"What workouts have I done?\"",
        "body": "Call get_activities?days=30\nSummarize total activity (duration, calories, distance)\nList recent workouts with key metrics"
      },
      {
        "title": "\"What should I do today?\"",
        "body": "Call get_today_actions?timezone=America/New_York (use user's timezone if known)\nGroup actions by scheduled window (morning, afternoon, evening)\nShow completion progress\nHighlight uncompleted actions"
      },
      {
        "title": "\"What should I focus on?\" / \"What are my health priorities?\"",
        "body": "Call get_protocol\nPresent top priorities with current values and targets\nExplain why each is prioritized\nList key recommendations\nNote protocol phase and days remaining"
      },
      {
        "title": "\"What tests should I do next?\" / \"Am I due for any blood work?\"",
        "body": "Call get_upcoming_tests\nHighlight overdue tests first (urgent)\nList tests due soon with timeframes\nMention AI-recommended tests for optimization\nNote which biomarkers each panel covers"
      },
      {
        "title": "\"Show me my lab reports\" / \"When was my last blood test?\"",
        "body": "Call list_test_results?limit=10\nShow reports with dates, lab names, and biomarker counts\nNote the source (PDF upload, email, manual entry)"
      },
      {
        "title": "\"Give me a full overview of all my biomarkers\"",
        "body": "Call list_all_biomarkers\nGroup by category (metabolic, cardiovascular, etc.)\nHighlight any critical or high/low values\nShow status counts (e.g., \"12 optimal, 3 suboptimal, 1 high\")\nNote trends (increasing/decreasing/stable)"
      },
      {
        "title": "\"What should I read about?\" / \"Any health articles for me?\"",
        "body": "Call get_content_recommendations?limit=5\nPresent articles with titles and relevance reasons\nExplain why each is relevant to the user's biomarker profile"
      },
      {
        "title": "Example API Call",
        "body": "// Using web_fetch\nweb_fetch({\n  url: \"https://api.gevety.com/api/v1/mcp/tools/get_health_summary\",\n  method: \"GET\",\n  headers: {\n    \"Authorization\": \"Bearer $GEVETY_API_TOKEN\",\n    \"Content-Type\": \"application/json\"\n  }\n})"
      },
      {
        "title": "Important Guidelines",
        "body": "Never diagnose - Present data clearly but always suggest consulting healthcare providers for medical decisions\nTrends matter more than single values - A slightly elevated reading improving over time is better than a normal reading that's declining\nNote data freshness - Lab results may be weeks/months old; wearable data is typically daily\nContext is key - Ask about supplements, medications, or lifestyle changes that might explain trends\nPrivacy first - Health data is sensitive; don't share or reference specific values outside this conversation"
      },
      {
        "title": "Error Handling",
        "body": "Error CodeMeaningAction401Invalid or expired tokenUser needs to regenerate token at gevety.com/settings404 + did_you_meanBiomarker not foundSuggest alternatives from the response404No data foundUser may not have uploaded labs yet429Rate limitedWait a moment and retry"
      },
      {
        "title": "Getting a Token",
        "body": "Users can generate their API token at:\nhttps://gevety.com/settings → Developer API → Generate Token\n\nThe token format is gvt_ followed by random characters."
      },
      {
        "title": "Checking for Updates",
        "body": "On first use each session, optionally check for updates:\n\nGET https://api.gevety.com/api/v1/mcp/tools/status\n\nNo authentication required. If the request fails or times out, skip the check and proceed normally.\n\nResponse (when successful):\n\n{\n  \"clawdbot_skill\": { \"latest\": \"1.6.0\", \"update_command\": \"clawdhub update gevety\" },\n  \"announcement\": \"New feature available!\"\n}\n\nIf clawdbot_skill.latest > 1.6.0 (this skill's version), tell the user:\n\n\"A Gevety skill update is available. Run: clawdhub update gevety\"\n\nIf announcement is present, mention it once per session.\n\nIf the status check fails, don't mention it - just proceed with the user's request.\n\nTo manually update:\n\nclawdhub update gevety"
      }
    ],
    "body": "Gevety Health Assistant\n\nYou have access to the user's health data from Gevety via the REST API. Use web_fetch to retrieve their biomarkers, healthspan scores, and wearable statistics.\n\nFirst-Time Setup\n\nIf this is the user's first time using Gevety, guide them through setup:\n\nGet a Gevety account: Sign up at https://gevety.com if they don't have one\nUpload blood tests: They need to upload lab reports to have biomarker data\nGenerate an API token:\nGo to https://gevety.com/settings\nClick \"Developer API\" tab\nClick \"Generate Token\"\nCopy the token (starts with gvt_)\nConfigure Clawdbot: Add the token to ~/.clawdbot/clawdbot.json:\n{\n  \"skills\": {\n    \"entries\": {\n      \"gevety\": {\n        \"apiKey\": \"gvt_your_token_here\"\n      }\n    }\n  }\n}\n\n\nAfter adding the token, they'll need to restart Clawdbot for changes to take effect.\n\nAuthentication\n\nAll requests require Bearer authentication. Use the GEVETY_API_TOKEN environment variable:\n\nAuthorization: Bearer $GEVETY_API_TOKEN\n\n\nBase URL: https://api.gevety.com\n\nBiomarker Name Handling\n\nThe API preserves biomarker specificity. Fasting and non-fasting variants are distinct:\n\nInput Name\tAPI Returns\tNotes\nCRP, C-Reactive Protein\tCRP or C-Reactive Protein\tStandard CRP (LOINC 1988-5)\nhsCRP, hscrp, Cardio CRP\ths-CRP\tHigh-sensitivity CRP (LOINC 30522-7)\nGlucose, Blood Glucose\tGlucose\tGeneric/unspecified glucose\nFasting Glucose, FBS, FBG\tGlucose Fasting\tFasting-specific glucose\nInsulin, Serum Insulin\tInsulin\tGeneric/unspecified insulin\nFasting Insulin\tInsulin Fasting\tFasting-specific insulin\nIG\tImmature Granulocytes\tExpanded for clarity\nVitamin D, 25-OH Vitamin D\tVitamin D\t\nLDL, LDL Cholesterol\tLDL Cholesterol\t\n\nImportant: The API no longer forces fasting assumptions. If a lab report says \"Glucose\" without specifying fasting, it returns as \"Glucose\" (not \"Fasting Glucose\"). This preserves the original context from your lab results.\n\nAvailable Endpoints\n1. List Available Data (Start Here)\n\nAlways call this first to discover what health data exists.\n\nGET /api/v1/mcp/tools/list_available_data\n\n\nReturns:\n\nbiomarkers: List of tracked biomarkers with test counts and latest dates\nwearables: Connected devices and available metrics\ninsights: Whether healthspan score is calculated, axis scores available\ndata_coverage: Percentage of recommended biomarkers tracked (0-100)\n2. Get Health Summary\n\nOverview of the user's health status.\n\nGET /api/v1/mcp/tools/get_health_summary\n\n\nReturns:\n\noverall_score: Healthspan score (0-100)\noverall_status: OPTIMAL, GOOD, SUBOPTIMAL, or NEEDS_ATTENTION\ntrend: IMPROVING, STABLE, or DECLINING\naxis_scores: Scores for each health dimension (metabolic, cardiovascular, etc.)\ntop_concerns: Biomarkers needing attention\nscoring_note: Explanation when overall score differs from axis scores (e.g., \"Overall healthspan is high, but Inflammation axis needs attention\")\n\nNote on scores: The overall healthspan score is a weighted composite. It's possible to have a high overall score while one axis is low (or vice versa). The scoring_note field explains these situations.\n\n3. Query Biomarker\n\nGet detailed history for a specific biomarker.\n\nGET /api/v1/mcp/tools/query_biomarker?biomarker={name}&days={days}\n\n\nParameters:\n\nbiomarker (required): Name or alias (e.g., \"vitamin d\", \"ldl\", \"hba1c\", \"crp\")\ndays (optional): History period, 1-730, default 365\n\nReturns:\n\ncanonical_name: Standardized biomarker name (see table above)\nhistory: Array of test results with dates, values, units, flags\nlatest: Most recent result\ntrend: Direction (IMPROVING, STABLE, DECLINING) and percent change\noptimal_range: Evidence-based optimal values\n\nTip: If biomarker not found, the response includes did_you_mean suggestions.\n\n4. Get Wearable Stats\n\nDaily metrics from connected wearables (Garmin, Oura, Whoop, etc.).\n\nGET /api/v1/mcp/tools/get_wearable_stats?days={days}&metric={metric}\n\n\nParameters:\n\ndays (optional): History period, 1-90, default 30\nmetric (optional): Focus on specific metric (steps, hrv, sleep, etc.)\n\nReturns:\n\nconnected_sources: List of connected wearable platforms\ndaily_metrics: Per-day data (steps, resting HR, HRV, sleep, recovery)\nsummaries: Aggregated stats with averages, min, max, trends\n5. Get Opportunities\n\nGet ranked health improvement opportunities with estimated healthspan impact.\n\nGET /api/v1/mcp/tools/get_opportunities?limit={limit}&axis={axis}\n\n\nParameters:\n\nlimit (optional): Max opportunities to return, 1-50, default 10\naxis (optional): Filter by health axis (metabolic, cardiovascular, etc.)\n\nReturns:\n\nopportunities: Ranked list of improvement opportunities\ntotal_opportunity_score: Total healthspan points available\ntotal_years_estimate: Estimated years of healthy life if all optimized\nhealthspan_score: Current healthspan score\n\nEach opportunity includes:\n\nbiomarker: Standardized biomarker name\ncurrent_value / optimal_value: Where you are vs target\nopportunity_score: Healthspan points gained if optimized\nyears_estimate: Estimated healthy years gained\npriority: Rank (1 = highest impact)\n6. Get Biological Age\n\nCalculate biological age using validated algorithms (PhenoAge, Light BioAge).\n\nGET /api/v1/mcp/tools/get_biological_age\n\n\nReturns:\n\nresult: Biological age calculation (if available)\nbiological_age: Calculated biological age\nchronological_age: Calendar age\nage_acceleration: Difference (positive = aging faster)\nalgorithm: Which algorithm was used\nbiomarkers_used: Biomarkers that contributed\ninterpretation: What the result means\navailable: Whether calculation was possible\nreason: Why not available (if applicable)\nupgrade_available: Can unlock better algorithm with more data\nupgrade_message: What additional tests would help\n7. List Supplements\n\nGet the user's supplement stack.\n\nGET /api/v1/mcp/tools/list_supplements?active_only={true|false}\n\n\nParameters:\n\nactive_only (optional): Only show currently active supplements, default false\n\nReturns:\n\nsupplements: List of supplements with dosage, frequency, duration\nactive_count: Number of currently active supplements\ntotal_count: Total supplements tracked\n\nEach supplement includes:\n\nname: Supplement name\ndose_text: Formatted dosage (e.g., \"1000 mg daily\", \"200mg EPA + 100mg DHA daily\")\nis_active: Currently taking\nduration_days: How long on this supplement\n\nNote: For multi-component supplements (like fish oil), dose_text shows all components (e.g., \"200mg EPA + 100mg DHA daily\").\n\n8. Get Activities\n\nGet workout/activity history from connected wearables.\n\nGET /api/v1/mcp/tools/get_activities?days={days}&activity_type={type}\n\n\nParameters:\n\ndays (optional): History period, 1-90, default 30\nactivity_type (optional): Filter by type (running, cycling, strength, etc.)\n\nReturns:\n\nactivities: List of workouts with metrics\ntotal_count: Number of activities\ntotal_duration_minutes: Total workout time\ntotal_distance_km: Total distance covered\ntotal_calories: Total calories burned\n\nEach activity includes:\n\nactivity_type: Type (running, cycling, swimming, etc.)\nname: Activity name\nstart_time: When it started\nduration_minutes: How long\ndistance_km: Distance (if applicable)\ncalories: Calories burned\navg_hr / max_hr: Heart rate data\nsource: Where the data came from (garmin, strava, etc.)\n9. Get Today's Actions\n\nGet the user's action checklist for today.\n\nGET /api/v1/mcp/tools/get_today_actions?timezone={timezone}\n\n\nParameters:\n\ntimezone (optional): IANA timezone (e.g., \"America/New_York\"), default UTC\n\nReturns:\n\neffective_date: The date being queried in user's timezone\ntimezone: Timezone used for calculation\nwindow_start / window_end: Day boundaries (ISO datetime)\nactions: List of today's actions\ncompleted_count / total_count: Completion stats\ncompletion_pct: Numeric completion percentage (0-100)\nlast_updated_at: Cache staleness indicator\n\nEach action includes:\n\naction_id: Stable ID for deep-linking\ntitle: Action title\naction_type: Type (supplement, habit, diet, medication, test, procedure)\ncompleted: Whether completed today\nscheduled_window: Time window (morning, afternoon, evening, any)\ndose_text: Dosage info if applicable (e.g., \"1000 mg daily\")\n10. Get Protocol\n\nGet the user's 90-day health protocol with top priorities.\n\nGET /api/v1/mcp/tools/get_protocol\n\n\nReturns:\n\nprotocol_id: Stable protocol ID\nphase: Current phase (week1, month1, month3)\ndays_remaining: Days until protocol expires\ngenerated_at / last_updated_at: Timestamps\ntop_priorities: Top 5 health priorities with reasoning\nkey_recommendations: Diet and lifestyle action items\ntotal_actions: Total actions in protocol\n\nEach priority includes:\n\npriority_id: Stable ID (same as rank)\nrank: Priority rank (1 = highest)\nbiomarker: Standardized biomarker name\nstatus: Current status (critical, concerning, suboptimal, optimal)\ntarget: Target value with unit\ncurrent_value / unit: Current measured value\nmeasured_at: When this biomarker was last measured\nwhy_prioritized: Explanation for why this is prioritized\n\nNote: If no protocol exists, returns a helpful error with suggestion to generate one at gevety.com/protocol.\n\n11. Get Upcoming Tests\n\nGet tests that are due or recommended based on biomarker history and AI recommendations.\n\nGET /api/v1/mcp/tools/get_upcoming_tests\n\n\nReturns:\n\ntests: List of upcoming tests sorted by urgency\noverdue_count: Number of overdue tests\ndue_soon_count: Tests due within 30 days\nrecommended_count: AI-recommended tests\ntotal_count: Total number of upcoming tests\n\nEach test includes:\n\ntest_id: Stable ID for deep-linking (format: panel_{id} or recommended_{id})\nname: Test or panel name\ntest_type: Type (panel, biomarker, recommended)\nurgency: Priority level (overdue, due_soon, recommended)\ndue_reason: Why this test is needed (e.g., \"Due 2 weeks ago\", \"AI recommendation\")\nlast_tested_at: When this was last tested (if applicable)\nbiomarkers: List of biomarkers included (for panels)\n12. List Test Results\n\nGet a list of uploaded lab reports with dates, source, and biomarker count.\n\nGET /api/v1/mcp/tools/list_test_results?limit={limit}&start_date={date}&end_date={date}\n\n\nParameters:\n\nlimit (optional): Max reports to return, 1-50, default 10\nstart_date (optional): Filter from date (YYYY-MM-DD)\nend_date (optional): Filter to date (YYYY-MM-DD)\n\nReturns:\n\nreports: List of lab reports\ntotal_reports: Total number of reports\n\nEach report includes:\n\nreport_id: Stable report ID\nreport_date: Date of the lab test\nsource: How it was uploaded (pdf, email, manual)\nlab_name: Laboratory name (if available)\nbiomarker_count: Number of biomarkers in this report\nfilename: Original filename (if uploaded as PDF)\n13. List All Biomarkers\n\nGet ALL tracked biomarkers with current value, status classification, and trend in one call.\n\nGET /api/v1/mcp/tools/list_all_biomarkers?category={category}&status={status}\n\n\nParameters:\n\ncategory (optional): Filter by category (e.g., \"metabolic\", \"cardiovascular\")\nstatus (optional): Filter by status (optimal, suboptimal, high, low, critical_high, critical_low)\n\nReturns:\n\nbiomarkers: List of all biomarkers with latest values\ntotal_count: Total number of biomarkers\ncounts_by_status: Breakdown by status (optimal, suboptimal, high, low, critical_high, critical_low, unknown)\n\nEach biomarker includes:\n\nname: Standardized biomarker name\ncategory: Health category (metabolic, cardiovascular, etc.)\nlatest_value: Most recent test value\nunit: Measurement unit\nstatus: Classification (optimal, suboptimal, high, low, critical_high, critical_low, unknown)\nlast_test_date: When this was last tested\ntrend_direction: Trend since previous test (increasing, decreasing, stable)\n14. Get Content Recommendations\n\nGet personalized health content recommendations based on biomarker profile.\n\nGET /api/v1/mcp/tools/get_content_recommendations?limit={limit}&category={category}\n\n\nParameters:\n\nlimit (optional): Max recommendations, 1-20, default 5\ncategory (optional): Filter by content category\n\nReturns:\n\nrecommendations: List of recommended articles\ntotal_available: Total recommendations available\n\nEach recommendation includes:\n\ncontent_id: Stable content ID\ntitle: Article title\nsummary: Brief summary\ncategory: Content category\nrelevance_reason: Why this is relevant to the user\nquality_score: Evidence quality score (only high-quality content is shown)\nurl: Link to the article\nInterpreting Scores\nHealthspan Score (0-100)\nRange\tStatus\tMeaning\n80-100\tOPTIMAL\tExcellent health optimization\n65-79\tGOOD\tAbove average, minor improvements possible\n50-64\tSUBOPTIMAL\tRoom for improvement\n<50\tNEEDS_ATTENTION\tSeveral areas need focus\nAxis Scores\n\nEach health dimension is scored independently:\n\nMetabolic: Blood sugar, insulin, lipids\nCardiovascular: Heart health markers\nInflammatory: hs-CRP, homocysteine\nHormonal: Thyroid, testosterone, cortisol\nNutritional: Vitamins, minerals\nLiver/Kidney: Organ function markers\n\nImportant: It's possible to have a high overall score with one low axis score (or vice versa). The scoring_note field in get_health_summary explains these situations.\n\nBiomarker Status Labels\nLabel\tMeaning\nOPTIMAL\tWithin evidence-based ideal range\nNORMAL\tWithin lab reference range\nSUBOPTIMAL\tRoom for improvement\nHIGH/LOW\tOutside lab reference range\nCRITICAL\tNeeds immediate medical attention\nCommon Workflows\n\"How am I doing?\"\nCall list_available_data to see what's tracked\nCall get_health_summary for the overall picture\nHighlight top concerns and recent trends\nIf scoring_note is present, explain the score discordance\n\"Tell me about my vitamin D\"\nCall query_biomarker?biomarker=vitamin d\nPresent history, current status, and trend\nNote optimal range vs current value\n\"What's my CRP?\" / \"How's my inflammation?\"\nCall query_biomarker?biomarker=crp (returns as \"CRP\" or \"hs-CRP\" depending on lab)\nPresent the value and trend\nExplain what CRP measures (inflammation marker) - note if it's high-sensitivity\n\"How's my sleep/HRV?\"\nCall get_wearable_stats?metric=sleep or ?metric=hrv\nShow recent trends and averages\nCompare to healthy baselines\n\"What should I focus on?\"\nCall get_opportunities?limit=5\nPresent top opportunities ranked by healthspan impact\nExplain what each biomarker does and why optimizing it matters\n\"How old am I biologically?\"\nCall get_biological_age\nIf available, compare biological vs chronological age\nExplain what age acceleration means\nIf not available, explain what tests are needed\n\"What supplements am I taking?\"\nCall list_supplements?active_only=true\nList active supplements with dosages (use dose_text field)\nNote duration on each supplement\n\"What workouts have I done?\"\nCall get_activities?days=30\nSummarize total activity (duration, calories, distance)\nList recent workouts with key metrics\n\"What should I do today?\"\nCall get_today_actions?timezone=America/New_York (use user's timezone if known)\nGroup actions by scheduled window (morning, afternoon, evening)\nShow completion progress\nHighlight uncompleted actions\n\"What should I focus on?\" / \"What are my health priorities?\"\nCall get_protocol\nPresent top priorities with current values and targets\nExplain why each is prioritized\nList key recommendations\nNote protocol phase and days remaining\n\"What tests should I do next?\" / \"Am I due for any blood work?\"\nCall get_upcoming_tests\nHighlight overdue tests first (urgent)\nList tests due soon with timeframes\nMention AI-recommended tests for optimization\nNote which biomarkers each panel covers\n\"Show me my lab reports\" / \"When was my last blood test?\"\nCall list_test_results?limit=10\nShow reports with dates, lab names, and biomarker counts\nNote the source (PDF upload, email, manual entry)\n\"Give me a full overview of all my biomarkers\"\nCall list_all_biomarkers\nGroup by category (metabolic, cardiovascular, etc.)\nHighlight any critical or high/low values\nShow status counts (e.g., \"12 optimal, 3 suboptimal, 1 high\")\nNote trends (increasing/decreasing/stable)\n\"What should I read about?\" / \"Any health articles for me?\"\nCall get_content_recommendations?limit=5\nPresent articles with titles and relevance reasons\nExplain why each is relevant to the user's biomarker profile\nExample API Call\n// Using web_fetch\nweb_fetch({\n  url: \"https://api.gevety.com/api/v1/mcp/tools/get_health_summary\",\n  method: \"GET\",\n  headers: {\n    \"Authorization\": \"Bearer $GEVETY_API_TOKEN\",\n    \"Content-Type\": \"application/json\"\n  }\n})\n\nImportant Guidelines\nNever diagnose - Present data clearly but always suggest consulting healthcare providers for medical decisions\nTrends matter more than single values - A slightly elevated reading improving over time is better than a normal reading that's declining\nNote data freshness - Lab results may be weeks/months old; wearable data is typically daily\nContext is key - Ask about supplements, medications, or lifestyle changes that might explain trends\nPrivacy first - Health data is sensitive; don't share or reference specific values outside this conversation\nError Handling\nError Code\tMeaning\tAction\n401\tInvalid or expired token\tUser needs to regenerate token at gevety.com/settings\n404 + did_you_mean\tBiomarker not found\tSuggest alternatives from the response\n404\tNo data found\tUser may not have uploaded labs yet\n429\tRate limited\tWait a moment and retry\nGetting a Token\n\nUsers can generate their API token at: https://gevety.com/settings → Developer API → Generate Token\n\nThe token format is gvt_ followed by random characters.\n\nChecking for Updates\n\nOn first use each session, optionally check for updates:\n\nGET https://api.gevety.com/api/v1/mcp/tools/status\n\n\nNo authentication required. If the request fails or times out, skip the check and proceed normally.\n\nResponse (when successful):\n\n{\n  \"clawdbot_skill\": { \"latest\": \"1.6.0\", \"update_command\": \"clawdhub update gevety\" },\n  \"announcement\": \"New feature available!\"\n}\n\n\nIf clawdbot_skill.latest > 1.6.0 (this skill's version), tell the user:\n\n\"A Gevety skill update is available. Run: clawdhub update gevety\"\n\nIf announcement is present, mention it once per session.\n\nIf the status check fails, don't mention it - just proceed with the user's request.\n\nTo manually update:\n\nclawdhub update gevety"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/moclippa/gevety",
    "publisherUrl": "https://clawhub.ai/moclippa/gevety",
    "owner": "moclippa",
    "version": "1.6.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/gevety",
    "downloadUrl": "https://openagent3.xyz/downloads/gevety",
    "agentUrl": "https://openagent3.xyz/skills/gevety/agent",
    "manifestUrl": "https://openagent3.xyz/skills/gevety/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/gevety/agent.md"
  }
}