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
| Tool | Arguments | Scope |
|---|---|---|
physique_discover | none | any |
physique_days | from, to, limit, cursor | fitness:read |
physique_foods | none | nutrition:read |
physique_photos | from, to, limit, cursor, search | photos:metadata |
physique_photo_content | id, thumbnail | photos: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
PHYSIQUE_TOKENin the environment, if set.- Otherwise the profile's
credential_commandis 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.