Skip to content

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:

  1. Your assistant stages the write — usually in one call (stage_writes) for a whole batch, or incrementally with propose_category / propose_metric / propose_measurement for something built up over a conversation.
  2. 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).
  3. 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.
  4. Only then does commit_proposal actually 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.

Pulling from a source that has its own MCP server

If the app you're pulling from exposes its own MCP server — a growing number do — you don't need an API key, a fetch script, or any custom integration code. Connect both servers to the same client (Claude Desktop, Cursor, Claude Code) in one conversation, and ask your assistant to read from one and write to the other:

"Pull my rides from the last two weeks from Strava and log them in Cohearence."

Your assistant calls the source's MCP tools to read, then Cohearence's write tools to log — going through the same propose → review → commit handshake described above. Nothing about this is Cohearence-specific: it's two MCP servers in one conversation, which is exactly the kind of composition MCP was built for. It beats a raw API integration for the same reason: the source already told your agent what it can do, instead of you writing that integration logic yourself.

This works as a one-off, any time you want it. Want the same shape running on a schedule, unattended? See MCP-to-MCP in By Automation.

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.

Want this to happen automatically, on a schedule, instead of one conversation at a time? See By Automation.