Self-hosted MCP server on your own Garmin data: mirrors Garmin Connect into PostgreSQL, computes training load and muscle freshness, and serves it to Claude, ChatGPT and other clients over stdio or HTTP.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add hybridlog --env DATABASE_URL='<DATABASE_URL>' --env APP_KEY='<APP_KEY>' -- docker run -i --rm -e DATABASE_URL -e APP_KEY ghcr.io/imgrund/hybridlog:0.1.13~/.codex/config.toml
[mcp_servers.hybridlog]
command = "docker"
args = ["run", "-i", "--rm", "-e", "DATABASE_URL", "-e", "APP_KEY", "ghcr.io/imgrund/hybridlog:0.1.13"]
env = { DATABASE_URL = "<DATABASE_URL>", APP_KEY = "<APP_KEY>" }
# codex mcp add hybridlog --env DATABASE_URL='<DATABASE_URL>' --env APP_KEY='<APP_KEY>' -- docker run -i --rm -e DATABASE_URL -e APP_KEY ghcr.io/imgrund/hybridlog:0.1.13~/.cursor/mcp.json
{
"mcpServers": {
"hybridlog": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"DATABASE_URL",
"-e",
"APP_KEY",
"ghcr.io/imgrund/hybridlog:0.1.13"
],
"env": {
"DATABASE_URL": "<DATABASE_URL>",
"APP_KEY": "<APP_KEY>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"hybridlog": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"DATABASE_URL",
"-e",
"APP_KEY",
"ghcr.io/imgrund/hybridlog:0.1.13"
],
"env": {
"DATABASE_URL": "<DATABASE_URL>",
"APP_KEY": "<APP_KEY>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"hybridlog": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"DATABASE_URL",
"-e",
"APP_KEY",
"ghcr.io/imgrund/hybridlog:0.1.13"
],
"env": {
"DATABASE_URL": "<DATABASE_URL>",
"APP_KEY": "<APP_KEY>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"hybridlog": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"DATABASE_URL",
"-e",
"APP_KEY",
"ghcr.io/imgrund/hybridlog:0.1.13"
],
"env": {
"DATABASE_URL": "<DATABASE_URL>",
"APP_KEY": "<APP_KEY>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"hybridlog": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"DATABASE_URL",
"-e",
"APP_KEY",
"ghcr.io/imgrund/hybridlog:0.1.13"
],
"env": {
"DATABASE_URL": "<DATABASE_URL>",
"APP_KEY": "<APP_KEY>"
}
}
}
}Environment variables
DATABASE_URLAPP_KEY
Replace the placeholders with your own credentials and keep them out of version control.