Connect an assistant
Every app uses the same server URL. The first time you connect, you’ll see an MCP Cubby screen: tap Start instantly for a guest cubby, or sign in with email.
Claude (web, desktop, mobile)
- Open Settings → Connectors.
- Choose Add custom connector, name it “MCP Cubby” and paste the URL.
- Click Connect and finish on the MCP Cubby screen.
ChatGPT
- Open Settings → Apps & Connectors and turn on developer mode under Advanced.
- Create a connector with the URL above and OAuth authentication.
- Connect and finish on the MCP Cubby screen.
Menu names change from time to time. Look for “custom connector” or “MCP server”.
Claude Code
claude mcp add --transport http mcp-cubby https://mcpcubby.com/mcp
Then run /mcp inside Claude Code to sign in.
Cursor, VS Code, other clients
{
"mcpServers": {
"mcp-cubby": { "url": "https://mcpcubby.com/mcp" }
}
}
Headless agents (no browser)
Create a guest cubby and API key in one call, then send the key as a bearer token. Give the returned claim_url to the person the agent works for.
curl -X POST https://mcpcubby.com/api/agents/register \
-H "Content-Type: application/json" -d '{"agent_name": "Coach bot"}'
curl -X POST https://mcpcubby.com/mcp \
-H "Authorization: Bearer cub_k_…" -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"cubby_whoami","arguments":{}}}'
Signed-in users can also create agent keys under Connections. Plain-text guide: /llms.txt.
Tools
| Tool | What it does |
|---|---|
cubby_whoami | Shows the cubby this connection writes to: whether it is claimed by a person or still a guest, preferred units and timezone, installed modules, and (for guests) the claim_url the user should open to keep their data and see the dashboard. Call this first in a new conversation. |
cubby_set_preferences | Updates the user's preferences: weight units (kg or lb, used for all results), IANA timezone (e.g. "Pacific/Auckland", used to decide what "today" is), and display name. |
fitness_log_workout | Permanently saves a completed workout. Call this whenever the user tells you about training they did, then confirm what was saved. Give each set individually in "sets", or use the shorthand set_count + reps + weight for identical sets ("3x5 at 100kg"). Common exercise aliases are merged ("bench" = "Bench Press"). Returns totals per exercise and any NEW PERSONAL RECORDS. Re-sending the identical workout within 15 minutes is detected and not saved twice. To fix a mistake, call fitness_delete_workout and log it again. |
fitness_get_workouts | Returns logged workouts (newest first) with every set, optionally filtered by date range and/or exercise. Use it to answer "what did I do on…" questions exactly. |
fitness_delete_workout | Removes a logged workout (by workout_id from fitness_get_workouts or fitness_log_workout) from history, records and totals. Use it to correct mistakes. |
fitness_exercise_history | Session-by-session history for one exercise: every set, top set, volume and estimated 1RM per session, plus the trend across the period. |
fitness_personal_records | All-time bests from the log: heaviest working set, best estimated 1RM and most reps, with dates. Optionally for one exercise. |
fitness_training_summary | Totals for the last N days: sessions, working sets per muscle group, volume per exercise, training frequency and days since the last workout. |
fitness_suggest_next | Deterministic progressive-overload suggestion (double progression) for an exercise, based on the last sessions in the log: add weight when every set hits the top of the rep range, add reps when inside it, repeat or deload after misses. Explains the reason. |
fitness_list_exercises | Every exercise the user has logged, with session counts and last date. Use these names when logging so history stays together. |
fitness_log_body_metrics | Saves body weight, body-fat % and/or waist measurement for a day, and returns the recent trend. |
fitness_body_metrics_history | Body weight / body-fat / waist entries for the last N days with the weekly rate of change. |
fitness_set_profile | Stores the facts needed for energy calculations: sex, birth year, height, activity level and goal. Only the fields given are changed. |
fitness_calc_energy | BMR (Mifflin–St Jeor), maintenance calories (TDEE), a goal calorie target and protein/fat/carb grams. Uses the stored profile and latest body weight; any argument overrides them. |
fitness_calc_one_rep_max | Estimated 1RM from a set (weight × reps) using six standard formulas, plus a table of target weights for 1–12 reps. Pure calculation; nothing is saved. |
fitness_calc_plates | Which plates to load on each side of the bar to reach a target weight. Pure calculation; nothing is saved. |