A side-by-side look at the Fulcra Context MCP and Health4ai MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Fulcra Context MCP for biology, medicine and bioinformatics work as a local process; choose Health4ai for biology, medicine and bioinformatics. You can also run both side by side in one mcpServers block.
FULCRA_ENVIRONMENT.get_workouts, annotations_catalog, create_data_type.get_health_summary, get_sleep, get_hrv_trend.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Biology, Medicine and Bioinformatics | Biology, Medicine and Bioinformatics |
| Quality signal | 63/100 · Good | 45/100 · Fair |
| Install command | Confirmed | Not confirmed yet |
| Transport | Local subprocess (stdio) | — |
| Auth | OAuth 2.0 | Not declared |
| Pricing | BYOK (pay the provider) | Not declared |
| Required env vars | FULCRA_ENVIRONMENT | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 9 | 1 |
| Directory activity | 5 views 0 installs 0 upvotes | 0 views 0 installs 0 upvotes |
| Tools | 25 | 11 |
| Full listing | View Fulcra Context MCP | View Health4ai |
get_workoutsGet details about the workouts that the user has done during a period of time.
Result timestamps will include time zones. Always translate timestamps to the user's local
time zone when this is known.annotations_catalogGet the list of all annotation data types the user has defined.
This does not get the actual values the user has recorded; for that, use the `get_records` tool.
Use this tool to get the IDs and types to pass to `get_records`.create_data_typeCreate a user-defined data type so the user can track something new.
Choose base_type by what gets recorded: "moment" (a point in time),
"duration" (a time range), "boolean" (yes/no), "numeric" (a number,
optionally with a unit), or "scale" (a 1-5 rating with labels).
The new type appears in get_data_catalog, and recorded values are readable
with get_records. Creation is reversible with archive_data_type.archive_data_typeArchive (soft-delete) a user-defined data type.
The type and its recorded data are recoverable with restore_data_type.
Only user-defined types (created via create_data_type or the Context app)
can be archived.restore_data_typeRestore an archived user-defined data type.record_dataRecord a single record for a recordable data type.
Use get_data_catalog to find data types; user-defined ones use the
"<BaseType>/<uuid>" ID form (create new ones with create_data_type).
Recorded data can be read back with get_records.get_data_catalogGet all data types available for this user, grouped by relevant MCP tool.
Includes health and sensor measurements,
location, events, and user-defined annotation types.
Call this before requesting time-series data or raw records, and only use a
data type with the tools named in its group.get_time_seriesGet calculated per-interval time-series values for a single data type.
Only data types that `get_data_catalog` lists as usable with this tool are
supported; other types can be read with `get_records`. Result timestamps
include time zones; translate them to the user's local time zone when known.get_recordsRetrieve the raw records of any data type during a time period.
Works with every type listed by `get_data_catalog`, including user-defined
ones ("<BaseType>/<uuid>" IDs); the correct API endpoint is chosen
automatically. Records that cover a time range are included when any part
of it intersects the requested window. Results are raw samples — they may
come from multiple sources and can overlap; for calculated per-interval
values of numeric data types, prefer `get_time_series`. Result
timestamps include time zones; translate them to the user's local time
zone when known.get_data_updatesSummarize the data that arrived in the user's account during a period of time.
The time range filters on when records were processed/synced into Fulcra,
NOT on the records' own timestamps — e.g. last night's sleep records
typically arrive this morning. Use this to find out what new data exists
since a previous check, then query the changed types with the appropriate
tools.get_sleepReturn the user's sleep data at a chosen level of detail.
Pick the coarsest level that answers the question — results grow with detail:
- "aggregate": stage totals per period (default 1 day), one row per period
per stage. Best for multi-day questions ("how did I sleep this month").
- "cycles": one row per sleep session.
- "stages": every stage interval (the full hypnogram); single-night detail.
Sleep spans midnight (starts day N, ends day N+1) — extend the time range
accordingly. Stage integers: 0=In Bed, 1=Asleep/Unknown, 2=Awake, 3=Light,
4=Deep, 5=REM. Result timestamps include time zones; translate them to the
user's local time zone when known.get_location_at_timeGets the user's location at the given time.
If no sample is available for the exact time, searches for the closest one up to
window_size seconds away.
Result timestamps will include time zones. Always translate timestamps to the user's local
time zone when this is known.get_health_summaryOverview of key metrics for the past N daysget_sleepPer-night sleep breakdown with REM, Deep, Core stages. One source per night: Oura > Apple Watch > Whoop > Garmin > Withings > whichever other source (iPhone included) has the most stage recordsget_hrv_trendDaily HRV (SDNN) with rolling comparison and trendget_daily_snapshotEverything recorded for a specific dateget_workoutsRecent workouts with type, duration, distance, caloriesquery_metricRaw time-series for any HealthKit metric typeget_long_term_trendMonthly aggregates over years (raw + summary tiers)get_coaching_briefRecovery status, sleep quality (same one-source-per-night rule as `get_sleep`), training load, fitness markerssearch_recordsFind days where a metric crossed a thresholdget_metric_statsPersonal baseline: min/max/mean/percentilescompare_periodsCompare a metric between two date rangesPaste 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": {
"fulcradynamics-fulcra-context-mcp": {
"command": "uvx",
"args": [
"fulcra-context-mcp@latest"
],
"env": {
"FULCRA_ENVIRONMENT": "YOUR_FULCRA_ENVIRONMENT_HERE"
}
}
}
}
No confirmed install command for Health4ai yet — follow the setup steps linked from its listing page rather than a guessed package name.