Local-first personal health record exposed over MCP. Labs, meds, diagnoses, wearables and food log in your own Postgres, with deterministic safety checks. Works with any MCP client.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add health-os --env DATABASE_URL='<DATABASE_URL>' --env READONLY_DATABASE_URL='<READONLY_DATABASE_URL>' -- docker run -i --rm -e DATABASE_URL -e READONLY_DATABASE_URL ghcr.io/andronaft/health-os:0.3.0~/.codex/config.toml
[mcp_servers.health-os]
command = "docker"
args = ["run", "-i", "--rm", "-e", "DATABASE_URL", "-e", "READONLY_DATABASE_URL", "ghcr.io/andronaft/health-os:0.3.0"]
env = { DATABASE_URL = "<DATABASE_URL>", READONLY_DATABASE_URL = "<READONLY_DATABASE_URL>" }
# codex mcp add health-os --env DATABASE_URL='<DATABASE_URL>' --env READONLY_DATABASE_URL='<READONLY_DATABASE_URL>' -- docker run -i --rm -e DATABASE_URL -e READONLY_DATABASE_URL ghcr.io/andronaft/health-os:0.3.0~/.cursor/mcp.json
{
"mcpServers": {
"health-os": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"DATABASE_URL",
"-e",
"READONLY_DATABASE_URL",
"ghcr.io/andronaft/health-os:0.3.0"
],
"env": {
"DATABASE_URL": "<DATABASE_URL>",
"READONLY_DATABASE_URL": "<READONLY_DATABASE_URL>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"health-os": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"DATABASE_URL",
"-e",
"READONLY_DATABASE_URL",
"ghcr.io/andronaft/health-os:0.3.0"
],
"env": {
"DATABASE_URL": "<DATABASE_URL>",
"READONLY_DATABASE_URL": "<READONLY_DATABASE_URL>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"health-os": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"DATABASE_URL",
"-e",
"READONLY_DATABASE_URL",
"ghcr.io/andronaft/health-os:0.3.0"
],
"env": {
"DATABASE_URL": "<DATABASE_URL>",
"READONLY_DATABASE_URL": "<READONLY_DATABASE_URL>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"health-os": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"DATABASE_URL",
"-e",
"READONLY_DATABASE_URL",
"ghcr.io/andronaft/health-os:0.3.0"
],
"env": {
"DATABASE_URL": "<DATABASE_URL>",
"READONLY_DATABASE_URL": "<READONLY_DATABASE_URL>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"health-os": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"DATABASE_URL",
"-e",
"READONLY_DATABASE_URL",
"ghcr.io/andronaft/health-os:0.3.0"
],
"env": {
"DATABASE_URL": "<DATABASE_URL>",
"READONLY_DATABASE_URL": "<READONLY_DATABASE_URL>"
}
}
}
}Environment variables
DATABASE_URLREADONLY_DATABASE_URL
Replace the placeholders with your own credentials and keep them out of version control.