MCP Cubby

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)

  1. Open Settings → Connectors.
  2. Choose Add custom connector, name it “MCP Cubby” and paste the URL.
  3. Click Connect and finish on the MCP Cubby screen.

ChatGPT

  1. Open Settings → Apps & Connectors and turn on developer mode under Advanced.
  2. Create a connector with the URL above and OAuth authentication.
  3. 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

ToolWhat it does
cubby_whoamiShows 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_preferencesUpdates 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_workoutPermanently 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_workoutsReturns 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_workoutRemoves 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_historySession-by-session history for one exercise: every set, top set, volume and estimated 1RM per session, plus the trend across the period.
fitness_personal_recordsAll-time bests from the log: heaviest working set, best estimated 1RM and most reps, with dates. Optionally for one exercise.
fitness_training_summaryTotals for the last N days: sessions, working sets per muscle group, volume per exercise, training frequency and days since the last workout.
fitness_suggest_nextDeterministic 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_exercisesEvery exercise the user has logged, with session counts and last date. Use these names when logging so history stays together.
fitness_log_body_metricsSaves body weight, body-fat % and/or waist measurement for a day, and returns the recent trend.
fitness_body_metrics_historyBody weight / body-fat / waist entries for the last N days with the weekly rate of change.
fitness_set_profileStores the facts needed for energy calculations: sex, birth year, height, activity level and goal. Only the fields given are changed.
fitness_calc_energyBMR (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_maxEstimated 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_platesWhich plates to load on each side of the bar to reach a target weight. Pure calculation; nothing is saved.