A side-by-side look at the Google Health MCP and Vaultbeat MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Google Health MCP for biology & bioinformatics work as a local process; choose Vaultbeat for biology & bioinformatics over a hosted endpoint. You can also run both side by side in one mcpServers block.
GOOGLE_HEALTH_MCP_HOST, GOOGLE_HEALTH_MCP_PORT, GOOGLE_HEALTH_MCP_TRANSPORT.google_health_connection_status, google_health_data_inventory, google_health_data_type_coverage.vaultbeat_doctor, get_strength_log, get_food_log.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Biology & Bioinformatics | Biology & Bioinformatics |
| Quality signal | 61/100 · Good | 56/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Remote HTTP/SSE |
| Auth | OAuth 2.0 | other |
| Pricing | Free | Freemium |
| Required env vars | GOOGLE_HEALTH_MCP_HOSTGOOGLE_HEALTH_MCP_PORTGOOGLE_HEALTH_MCP_TRANSPORT | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 71 | 2 |
| Directory activity | 0 views 0 installs 0 upvotes | 6 views 0 installs 0 upvotes |
| Tools | 6 | 13 |
| Full listing | View Google Health MCP | View Vaultbeat |
google_health_connection_statuslocal config, token, scope and client readinessgoogle_health_data_inventorysupported domains, scopes, data type naming and agent flowgoogle_health_data_type_coveragestatic coverage plan, or explicit live read-only validation for issue #21google_health_daily_summarydaily beta summary from rollups and reconciled streamsgoogle_health_weekly_summaryweekly beta reviewgoogle_health_privacy_auditwhat is stored locally and what is sent to Googlevaultbeat_doctorDiagnose this install end to end, report which data types have no data and the likely reasons, and show the pairing state. The tool to call before telling anyone their data is missing.get_strength_logStrength sessions: exercises, sets × reps, volume per session.get_food_logMeals and items per day, with optional kcal / protein / fat / carbs. The 14 newest days that have a log by default (not a calendar fortnight), or a `since` / `until` window.get_workoutsWorkouts: type, duration, calories, distance.get_user_profileSex, age, date of birth and height. Needs Vaultbeat for iOS 1.2.9 or later.get_intradaySamples within a day, for HRV: one row per hour that has samples (`granularity="hourly"`) or one per sample (`"raw"`). About 8–14 rows a day; `limit` counts rows.log_food_appendAdd to a day. Cannot delete anything — the safe default when a day may already have entries.log_food_entryReplace that whole day** with what is passed, and report exactly what was removed.log_weight_entryRecord a weigh-in, keeping that day's body composition.log_symptomRecord one symptom the person reports, as structured fields a later read can match against sleep, food and heart rate.update_symptomChange a reported symptom (usually its end time), or erase one logged by mistake.log_state_of_mindRecord how the person says they feel, in Apple Health's State of Mind vocabulary (valence, feeling words, life areas). Their iPhone writes it into Apple Health only if they turned on "Allow AI to update Apple Health" (iOS app 1.3.0 or later).Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"google-health-mcp": {
"command": "npx",
"args": [
"-y",
"google-health-mcp-unofficial"
],
"env": {
"GOOGLE_HEALTH_MCP_HOST": "YOUR_GOOGLE_HEALTH_MCP_HOST_HERE",
"GOOGLE_HEALTH_MCP_PORT": "YOUR_GOOGLE_HEALTH_MCP_PORT_HERE",
"GOOGLE_HEALTH_MCP_TRANSPORT": "YOUR_GOOGLE_HEALTH_MCP_TRANSPORT_HERE"
}
}
}
}
{
"mcpServers": {
"vaultbeat": {
"url": "http://127.0.0.1:8000/mcp"
}
}
}