Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Access your human's personal context data (biometrics, sleep, activity, calendar, location) via the Fulcra Life API and MCP server. Requires human's Fulcra account + OAuth2 consent.
Access your human's personal context data (biometrics, sleep, activity, calendar, location) via the Fulcra Life API and MCP server. Requires human's Fulcra account + OAuth2 consent.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
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. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
Give your agent situational awareness. With your human's consent, access their biometrics, sleep, activity, location, and calendar data from the Fulcra Life API.
With Fulcra Context, you can: Know how your human slept β adjust morning briefing intensity See heart rate / HRV trends β detect stress, suggest breaks Check location β context-aware suggestions (home vs. office vs. traveling) Read calendar β proactive meeting prep, schedule awareness Track workouts β recovery-aware task scheduling
OAuth2 per-user β your human controls exactly what data you see Their data stays theirs β Fulcra stores it, you get read access only Consent is revocable β they can disconnect anytime NEVER share your human's Fulcra data publicly without explicit permission
Use Fulcra's hosted MCP server at https://mcp.fulcradynamics.com/mcp (Streamable HTTP transport, OAuth2 auth). Your human needs a Fulcra account (free via the Context iOS app or Portal). Claude Desktop config (claude_desktop_config.json): { "mcpServers": { "fulcra_context": { "command": "npx", "args": ["-y", "mcp-remote", "https://mcp.fulcradynamics.com/mcp"] } } } Or run locally via uvx: { "mcpServers": { "fulcra_context": { "command": "uvx", "args": ["fulcra-context-mcp@latest"] } } } Also tested with: Goose, Windsurf, VS Code. Open source: github.com/fulcradynamics/fulcra-context-mcp
Your human creates a Fulcra account They generate an access token via the Python client or Portal Store the token: skills.entries.fulcra-context.apiKey in openclaw.json
pip3 install fulcra-api from fulcra_api.core import FulcraAPI api = FulcraAPI() api.authorize() # Opens device flow β human visits URL and logs in # Now you have access: sleep = api.metric_samples(start, end, "SleepStage") hr = api.metric_samples(start, end, "HeartRate") events = api.calendar_events(start, end) catalog = api.metrics_catalog() Save the token for automation: import json token_data = { "access_token": api.fulcra_cached_access_token, "expiration": api.fulcra_cached_access_token_expiration.isoformat(), "user_id": api.get_fulcra_userid() } with open("~/.config/fulcra/token.json", "w") as f: json.dump(token_data, f) Token expires in ~24h. Use the built-in token manager for automatic refresh (see below).
The skill includes scripts/fulcra_auth.py which handles the full OAuth2 lifecycle β including refresh tokens so your human only authorizes once. # First-time setup (interactive β human approves via browser) python3 scripts/fulcra_auth.py authorize # Refresh token before expiry (automatic, no human needed) python3 scripts/fulcra_auth.py refresh # Check token status python3 scripts/fulcra_auth.py status # Get current access token (auto-refreshes if needed, for piping) export FULCRA_ACCESS_TOKEN=$(python3 scripts/fulcra_auth.py token) How it works: authorize runs the Auth0 device flow and saves both the access token AND refresh token refresh uses the saved refresh token to get a new access token β no human interaction token prints the access token (auto-refreshing if expired) β perfect for cron jobs and scripts Set up a cron job to keep the token fresh: For OpenClaw agents, add a cron job that refreshes the token every 12 hours: python3 /path/to/skills/fulcra-context/scripts/fulcra_auth.py refresh Token data is stored at ~/.config/fulcra/token.json (permissions restricted to owner).
# Get time series for sleep stages (last 24h) curl -s "https://api.fulcradynamics.com/data/v0/time_series_grouped?metrics=SleepStage&start=$(date -u -v-24H +%Y-%m-%dT%H:%M:%SZ)&end=$(date -u +%Y-%m-%dT%H:%M:%SZ)&samprate=300" \ -H "Authorization: Bearer $FULCRA_ACCESS_TOKEN"
curl -s "https://api.fulcradynamics.com/data/v0/time_series_grouped?metrics=HeartRate&start=$(date -u -v-2H +%Y-%m-%dT%H:%M:%SZ)&end=$(date -u +%Y-%m-%dT%H:%M:%SZ)&samprate=60" \ -H "Authorization: Bearer $FULCRA_ACCESS_TOKEN"
curl -s "https://api.fulcradynamics.com/data/v0/{fulcra_userid}/calendar_events?start=$(date -u +%Y-%m-%dT00:00:00Z)&end=$(date -u +%Y-%m-%dT23:59:59Z)" \ -H "Authorization: Bearer $FULCRA_ACCESS_TOKEN"
curl -s "https://api.fulcradynamics.com/data/v0/metrics_catalog" \ -H "Authorization: Bearer $FULCRA_ACCESS_TOKEN"
MetricWhat It Tells YouSleepStageSleep quality β REM, Deep, Light, AwakeHeartRateCurrent stress/activity levelHRVRecovery and autonomic nervous system stateStepCountActivity level throughout the dayActiveCaloriesBurnedExercise intensityRespiratoryRateBaseline health indicatorBloodOxygenWellness check
Check sleep + calendar + weather β compose a briefing calibrated to energy level.
Monitor HRV + heart rate β if elevated, keep messages brief and non-urgent.
After intense workout or poor sleep β suggest lighter schedule, remind about hydration.
Location changes β adjust timezone handling, suggest local info, modify schedule expectations.
For public demos (VC pitches, livestreams, conferences), enable demo mode to swap in synthetic calendar and location data while keeping real biometrics.
# Environment variable (recommended for persistent config) export FULCRA_DEMO_MODE=true # Or pass --demo flag to collect_briefing_data.py python3 collect_briefing_data.py --demo
Data TypeDemo ModeNormal ModeSleep, HR, HRV, Stepsβ Real dataβ Real dataCalendar eventsπ Synthetic (rotating schedules)β Real dataLocationπ Synthetic (curated NYC spots)β Real dataWeatherβ Real dataβ Real data
Output JSON includes "demo_mode": true at the top level Calendar and location objects include "demo_mode": true When presenting to humans, include a subtle "π Demo mode" indicator
β Biometric trends, sleep quality, step counts, HRV β cleared for public β Synthetic calendar and location (demo mode) β designed for public display β NEVER share real location, real calendar events, or identifying data
Fulcra Platform Developer Docs Life API Reference Python Client MCP Server Demo Notebooks Discord
Workflow acceleration for inboxes, docs, calendars, planning, and execution loops.
Largest current source with strong distribution and engagement signals.