physıque

Docs

MCP server

physique_mcp.py is a local stdio MCP server, zero dependencies, that exposes the read routes as tools. It does not bypass authorization: it resolves the same credential and calls the same paginated API.

Tools

ToolArgumentsScope
physique_discovernoneany
physique_daysfrom, to, limit, cursorfitness:read
physique_foodsnonenutrition:read
physique_photosfrom, to, limit, cursor, searchphotos:metadata
physique_photo_contentid, thumbnailphotos:content

Generic JSON config

Claude Desktop, Cursor, Windsurf and most others take this shape:

{
  "mcpServers": {
    "physique": {
      "command": "python3",
      "args": ["/home/you/.config/physique/physique_mcp.py"],
      "env": { "PHYSIQUE_PROFILE": "/home/you/.config/physique/profile.json" }
    }
  }
}

Claude Code: claude mcp add physique -- python3 ~/.config/physique/physique_mcp.py. Codex: see the Codex page.

Credential resolution

  1. PHYSIQUE_TOKEN in the environment, if set.
  2. Otherwise the profile's credential_command is run and its stdout is the token.

PHYSIQUE_ENDPOINT overrides the API host; you will not need it.

Why there is no hosted MCP endpoint

The HTTP API is the remote surface; it is plain bearer auth and works from any network-capable agent. MCP authorization differs across hosted clients, so a remote Streamable HTTP MCP server would either duplicate the API or weaken it. A hosted agent with neither HTTP tools nor a configurable MCP command cannot reach your log, and that is on purpose.