By MCP¶
Voice is the fastest way to log something in the moment, but it isn't the only way in. Cohearence's MCP server also exposes a set of write tools — so any AI agent you're connected to (see Setting up MCP) can add data to your Cohearence record on your behalf.
This is the right path for two very different situations:
- Bulk ingestion. Hand your assistant a whole file — a lab panel PDF, a spreadsheet export from another tracker, a CSV of old workout data — and ask it to pull out what matters and file it away. One conversation can stage hundreds of measurements at once.
- Daily logging, hands-free from your AI tool. If you're already chatting with your assistant about your day, there's no reason not to let it log a workout or a symptom for you in the same conversation, the same way voice logging does.
Nothing writes until you approve it¶
Every write goes through a propose → review → commit handshake, so your assistant never silently changes your health data:
- Your assistant stages the write — usually in one call (
stage_writes) for a whole batch, or incrementally withpropose_category/propose_metric/propose_measurementfor something built up over a conversation. - It gets back a human-readable preview — what categories and metrics will be created, how many measurements will be written, and how many are duplicates that'll be skipped automatically (Cohearence de-dupes by metric + timestamp).
- You approve. On clients that support it, this shows up as a native confirmation dialog with the preview inside. Otherwise, your assistant shows you the preview in chat and only commits after you say yes.
- Only then does
commit_proposalactually write anything, atomically.
You can discard a staged proposal at any point before committing, and nothing about it ever touches your data.
Keeping your metric library tidy¶
Before creating new metrics, a well-behaved assistant will check your existing catalog and reuse exact names where they match — Cohearence also flags likely near-duplicates (e.g. staging Resting HR when you already track resting_hr) so you can catch metric sprawl before it happens.
Guardrails¶
To keep a runaway agent (or a prompt-injected document) from doing something drastic, staged proposals are capped in size, expire after 30 minutes if not committed, and are rate-limited per hour. If you hit a cap, just split your import into a couple of smaller batches.
Want your assistant to analyze your data this way too, not just write to it? See Exposing Analysis Over MCP.