Install the MCP server
Connect skcal to Claude, Claude Code, or ChatGPT over a remote MCP server.
skcal exposes a remote Model Context Protocol server so AI clients can log and query your data. It uses Streamable HTTP and is guarded by OAuth 2.1: you sign in once in the browser to authorize, with no token to copy or paste.
Claude Code
claude mcp add --transport http skcal https://app.skcal.fit/mcp
Then run any skcal request in Claude Code; the first call opens a browser to authorize.
Claude (desktop & claude.ai)
Open connector settings
Open Settings → Connectors and click Add custom connector.
Paste the URL
Enter https://app.skcal.fit/mcp and save.
Authorize
Connect and sign in with your skcal account when prompted.
ChatGPT
Enable Developer mode
Open Settings → Connectors → Advanced, and turn on Developer mode. (Requires a paid plan.)
Add the server
Click Add custom connector and enter https://app.skcal.fit/mcp.
Authorize
Sign in with your skcal account to grant access.
Available tools
21 tools, all scoped to your account.
Food and body
| Tool | What it does |
|---|---|
skcal_get_status |
Calories + protein logged vs. targets for a day, plus latest weight |
skcal_get_targets |
Daily calorie/protein targets and goal/start weight |
skcal_list_weigh_ins |
Recent weigh-ins (pounds) |
skcal_log_weight |
Record a weigh-in |
skcal_log_measurement |
Record a body measurement |
skcal_log_meal |
Log a food item with calories + protein |
skcal_log_workout |
Log a workout from a plain-text description |
skcal_list_meals |
List meals logged on a day |
skcal_move_food |
Move a meal or item to another day |
Goal phases
| Tool | What it does |
|---|---|
skcal_get_phases |
Bulk, cut, and maintenance phases with planned vs. actual weekly rate, plus estimated maintenance calories |
skcal_start_phase |
Start a phase; closes the open one and updates your targets |
skcal_update_phase |
Edit a phase in place |
skcal_end_phase |
End the open phase |
See Goal phases for how rates and calories are set.
Training
| Tool | What it does |
|---|---|
skcal_create_mesocycle |
Plan a mesocycle from a split template or your own days |
skcal_get_training_session |
A session’s exercises, targets, logged sets, and last week’s numbers, or a whole-mesocycle overview |
skcal_list_exercises |
The exercise library, built-in and custom |
skcal_log_sets |
Log lifted sets for an exercise in the current session |
skcal_set_muscle_feedback |
Record soreness, pump, joint pain, or workload for a muscle |
skcal_complete_session |
Finish a session, log it as a workout, and plan next week’s same day |
skcal_swap_exercise |
Replace an exercise for the rest of the mesocycle |
skcal_end_mesocycle |
End the active mesocycle early |
See Training for how each week is planned.
How authorization works
The server advertises OAuth discovery at
/.well-known/oauth-authorization-server and
/.well-known/oauth-protected-resource. Clients register dynamically, run the
PKCE authorization-code flow against your skcal login, and receive a token
scoped to your account. It’s the same login the apps and CLI use.