An MCP server that exposes blood work data from getbased as tools. Works with any MCP-compatible client (Claude Code, Hermes, Claude Desktop, etc.).
getbased (browser)
├── your data, your mnemonic
├── generates a read-only token
└── pushes lab context to gateway on every save
Context Gateway (sync.getbased.health/api/context)
└── stores context text behind token auth
This MCP Server (on your machine)
├── fetches context with the token
└── exposes it as tools to any MCP client
Your mnemonic never leaves your browser. The MCP server receives the same lab context text the getbased AI chat uses — not raw data.
| Tool | Description |
|---|---|
getbased_lab_context |
Full lab summary with biomarkers, context cards, supplements, goals. Pass profile to target a specific profile. |
getbased_section |
Get a specific section (e.g. hormones, lipids) or list all available sections |
getbased_list_profiles |
List available profiles |
All tools accept an optional profile parameter to query a specific profile (see Multi-profile below).
Query-aware context: pull just the section you need instead of the full dump. Saves tokens and allows deeper analysis of specific areas.
# No args — returns section index with names, updated dates, and line counts
getbased_section()
# With section name — returns just that section's content
getbased_section(section="hormones")
# With profile — query a specific profile
getbased_section(section="hormones", profile="mne8m9hf")
Section names are matched by prefix, so hormones matches hormones updated:2026-03-13.
The gateway stores context per profile ID. To work with multiple profiles:
- Use
getbased_list_profilesto see available profiles and their IDs - Pass
profile="id"to any tool to query a specific profile - Omit the
profileparam to use the default profile - Each profile's context is pushed automatically when data is saved or the profile is switched in getbased
Go to Settings > Data > Messenger Access and toggle it on. Copy the read-only token.
Add to your MCP config (~/.claude/claude_desktop_config.json or similar):
{
"mcpServers": {
"getbased": {
"command": "python3",
"args": ["/path/to/getbased_mcp.py"],
"env": {
"GETBASED_TOKEN": "your-token-here"
}
}
}
}hermes mcp add getbased \
--command python3 \
--args /path/to/getbased_mcp.pyThen set GETBASED_TOKEN in ~/.hermes/.env or in the MCP server's env config in config.yaml:
mcp_servers:
getbased:
command: python3
args: [/path/to/getbased_mcp.py]
env:
GETBASED_TOKEN: your-token-hereAsk about your labs in any connected conversation:
"How's my vitamin D?" "What markers are out of range?" "Summarize my latest blood work"
| Variable | Required | Description |
|---|---|---|
GETBASED_TOKEN |
Yes | Read-only token from getbased Settings > Data > Messenger Access |
GETBASED_GATEWAY |
No | Context gateway URL (default: https://sync.getbased.health) |
- Read-only: the token grants access to lab context text only — no raw data, no write access
- Self-hosted: the MCP server runs on your own machine
- Revocable: regenerate the token in getbased to revoke access instantly
- No mnemonic exposure: the token is independent of your sync mnemonic
GPL-3.0