Fitsly API and MCP server Let your AI agent get every client ready for Monday.

Fitsly publishes no public API and no MCP server (checked 14 Nov 2026). Cotlet runs a hosted Fitsly MCP server with 10 tools that ChatGPT and Claude use in your own coach account. Invites, plans and messages wait for your OK.

  • Free 7-day trial, no card
  • Unofficial, not affiliated with Fitsly
Fitsly logo Fitsly Cloud Browser

10 tools Read and write

Personal training

What can your AI agent do in Fitsly? The admin between your coaching calls.

  • Rank clients by program progress

  • Invite a client and set them up

  • Lay out a phased program week by week

  • Assign a meal plan and set macros

  • Give a group a habit with a reminder

  • Broadcast to a client group

No public API, no MCP

Does Fitsly have an MCP server or an API? The official Fitsly routes, checked 14 November 2026.

Fitsly publishes no public API, developer documentation or API key on fitsly.com or in its Help Center. No Fitsly MCP server and no official ChatGPT or Claude connector was verified. Inside the app, Fitsly has its own automations and onboarding flows.

  • Every Fitsly tier has every feature; the price depends on active clients, from $39 a month for up to 20.
  • Coaches work on the web dashboard and the coach app for iOS and Android, which serves the same dashboard.
  • Packages sell through Stripe on a public storefront, one-off or recurring, in nine currencies.
Fitsly on its own, by hand and with Cotlet compared
What you need Fitsly APIBy handCotlet
Ask ChatGPT or Claude to do the work No API or MCP server Copy and paste Hosted MCP server
Progress of every client before check-ins No public API One profile at a time All clients in one request
Programs, meal plans and habits No public API In the dashboard 10 tools, writes after your OK
Run from n8n or a script Nothing to call Manual only REST, same key

Checked 14 Nov 2026. Sources: Fitsly · Fitsly pricing · Fitsly Help Center · Help: Add a new client · Help: The client profile · Help: The workout builder · Help: Build a phased program · Help: How Nutrition works · Fitsly habits · Fitsly messaging · Fitsly payments

Set up once

How does the Fitsly MCP server work? The Fitsly MCP server by Cotlet: your agent works in your own Fitsly coach account.

  1. 1Sign in to Fitsly

    Once, in a browser we host for you.

  2. 2Connect your AI agent

    One address in its settings.

  3. 3Ask before check-ins

    See who fell behind, then approve the follow-up.

Your agent works in your own signed-in Cloud Browser. Anything a client will see or pay waits for your OK. Who can see your session

Any MCP client

How to connect Fitsly to your AI agent

  1. 1

    Sign in to Fitsly in a Cloud Browser. Open app.fitsly.com/login in your Cotlet Cloud Browser and log in with your own coach account.

  2. 2

    Add the Cotlet address. Enter https://cotlet.dev/mcp/v1 as the MCP server or connector URL in your agent.

  3. 3

    Let the agent in. Chat apps open a Cotlet sign-in page. Editors, n8n and scripts send an API key made in the console.

Fitsly shares the address https://cotlet.dev/mcp/v1 with the other apps you enable, so a single connector reaches all of them. Enabled Fitsly after connecting? Refresh the connector to load its 10 tools.

ChatGPT
Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth
Claude
Settings > Connectors > Add custom connector
URL: https://cotlet.dev/mcp/v1/connect

Claude Code:
claude mcp add --transport http cotlet \
  https://cotlet.dev/mcp/v1 \
  --header "Authorization: Bearer $COTLET_API_KEY"
Cursor
// ~/.cursor/mcp.json
{
  "mcpServers": {
    "cotlet": {
      "url": "https://cotlet.dev/mcp/v1",
      "headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
    }
  }
}
Codex
# ~/.codex/config.toml
[mcp_servers.cotlet]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY"
n8n
MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: fitsly_read
2 read, 8 write

All 10 Fitsly MCP tools

One tool per coach workflow in the Fitsly Help Center and feature pages. Progress and food logs only read; tools with an `action` read with `list` or `get` and ask first for everything else.

Clients and progress2

The roster, invites, and the Overview snapshot that fills in as clients log.

  • manage_clients List the roster, add a client and email the invite, or update a client's details. writeAsks first

    A new client starts as Pending until they finish signup from the invite. The invite reaches the client, so the agent shows the name and email first. By default you confirm each call; you can switch that off for this tool.

    MCP callfitsly_write → manage_clients

    REST endpointPOST https://cotlet.dev/api/v1/fitsly/clients/manage

    Parameters

    Parameters: manage_clients
    NameTypeDescription
    action string required string One of `list`, `create`, `update`, `resend_invite`. `list` and `get` only read.
    client string string Client, for `update` and `resend_invite`.
    coaching_mode string string `online` (default), `in_person` or `hybrid`.
    first_name string string Required for `create`, up to 35 characters.
    last_name string string Required for `create`, up to 35 characters.
    email string string Required for `create`: login and invitation address.
    details object object Optional: date of birth, sex, height, activity level, units.
    send_invite boolean boolean Email the invite on save. Defaults to true.
    onboarding_flow string string An onboarding flow that assigns programs, plans, forms and habits.

    Example input

    {
      "action": "action"
    }

    Example response

    {
      "client": "Riley Sample",
      "email": "riley@example.com",
      "coaching_mode": "online",
      "status": "Pending",
      "invite_sent": true
    }
  • get_client_overview Read a client's Overview snapshot: last check-in, workouts, calories, steps, sleep, weight and program progress. read

    The Overview fills in as the client logs: last check-in, last and next workout, today's kcals, steps and sleep, weight, body fat and program progress. A Pending client has no data yet and shows as pending. Read only.

    MCP callfitsly_read → get_client_overview

    REST endpointGET https://cotlet.dev/api/v1/fitsly/client-overview

    Parameters

    Parameters: get_client_overview
    NameTypeDescription
    client string required string Client name or email, as on the Clients roster.

    Example input

    {
      "client": "client"
    }

    Example response

    {
      "client": "Jamie Example",
      "status": "Active",
      "last_check_in": "2026-11-10",
      "last_workout": "2026-11-13",
      "next_workout": "2026-11-15",
      "kcals_today": 1640,
      "steps_today": 8210,
      "weight_kg": 74.2,
      "program_progress": 62
    }

Training2

Library workouts and phased programs of 1 to 50 phases, 1 to 16 weeks each.

  • build_workout List library workouts or build one with duration, intensity, focus, sections and sets. writeAsks first

    Saves to Training > Workouts as a library workout you can assign or add to a program. Nothing reaches a client until it is assigned. By default you confirm each call; you can switch that off for this tool.

    MCP callfitsly_write → build_workout

    REST endpointPOST https://cotlet.dev/api/v1/fitsly/workout/build

    Parameters

    Parameters: build_workout
    NameTypeDescription
    action string required string One of `list`, `create`. `list` and `get` only read.
    name string string Up to 100 characters, shown to the client.
    duration_min number number Up to 999 minutes. Defaults to 45.
    intensity string string `low`, `medium` (default), `high` or `max`.
    focus string string Shown on the client's workout preview.
    sections array array Sections of exercises, each with sets, rest, tempo, tracking columns and notes. Every section needs an exercise; interval sets need a time.

    Example input

    {
      "action": "action"
    }

    Example response

    {
      "workout": "Upper body A",
      "duration_min": 50,
      "intensity": "medium",
      "exercises": 6,
      "saved": true
    }
  • manage_phased_program Create a multi-phase, week-based program, add workouts to its weeks and subscribe clients. writeAsks first

    Under Training > Programs > Phased programs. The editor saves each change as it is made. Subscribing clients puts the program in front of them, so that step waits for your OK. By default you confirm each call; you can switch that off for this tool.

    MCP callfitsly_write → manage_phased_program

    REST endpointPOST https://cotlet.dev/api/v1/fitsly/phased-program/manage

    Parameters

    Parameters: manage_phased_program
    NameTypeDescription
    action string required string One of `list`, `create`, `add_phase`, `add_workout`, `subscribe_clients`. `list` and `get` only read.
    program string string Program name, up to 60 characters.
    phases number number For `create`: 1 to 50, default 1.
    weeks_per_phase number number For `create`: 1 to 16, default 4.
    phase string string Phase name, up to 50 characters.
    workout string string Library workout, for `add_workout`.
    day string string Weekday the workout lands on.
    clients array array For `subscribe_clients`.

    Example input

    {
      "action": "action"
    }

    Example response

    {
      "program": "12-week hypertrophy",
      "phases": 3,
      "weeks_per_phase": 4,
      "subscribed_clients": [
        "Jamie Example"
      ]
    }

Nutrition and habits4

Meal plans clients log against, macro targets, food logs, and habits with streaks and reminders.

  • manage_meal_plans List meal plans, build a multi-day plan from foods and recipes, or assign it to clients. writeAsks first

    A library plan is invisible to clients until assigned. Each client gets their own copy and can log food straight from it. By default you confirm each call; you can switch that off for this tool.

    MCP callfitsly_write → manage_meal_plans

    REST endpointPOST https://cotlet.dev/api/v1/fitsly/meal-plans/manage

    Parameters

    Parameters: manage_meal_plans
    NameTypeDescription
    action string required string One of `list`, `create`, `assign`. `list` and `get` only read.
    plan string string Meal plan name.
    days array array For `create`: days, then meals, then options of foods and recipes.
    clients array array For `assign`: one or many clients.

    Example input

    {
      "action": "action"
    }

    Example response

    {
      "plan": "High protein, 2,000 kcal",
      "days": 7,
      "assigned": [
        "Jamie Example",
        "Riley Sample"
      ]
    }
  • set_macro_targets Read or set a client's daily calorie and macro goals, variance band and date overrides. writeAsks first

    Lives on the client profile under Nutrition > Macro Targets. The client sees new targets in their app. By default you confirm each call; you can switch that off for this tool.

    MCP callfitsly_write → set_macro_targets

    REST endpointPUT https://cotlet.dev/api/v1/fitsly/macro-targets

    Parameters

    Parameters: set_macro_targets
    NameTypeDescription
    action string required string One of `get`, `update`. `list` and `get` only read.
    client string required string Client name or email, as on the Clients roster.
    targets object object kcals, protein, carbs and fat per day, a variance band, and dated overrides.

    Example input

    {
      "action": "action",
      "client": "client"
    }

    Example response

    {
      "client": "Jamie Example",
      "kcals": 2100,
      "protein_g": 150,
      "carbs_g": 220,
      "fat_g": 70,
      "variance_pct": 5
    }
  • get_food_log Read a client's food log for a day: Breakfast, Lunch, Dinner and Snacks, with calories and macros. read

    Clients log food in the client app by search, barcode scan or from an assigned meal plan; calories and macros add up on their own. This reads the client profile's Nutrition > Food Log. Read only.

    MCP callfitsly_read → get_food_log

    REST endpointGET https://cotlet.dev/api/v1/fitsly/food-log

    Parameters

    Parameters: get_food_log
    NameTypeDescription
    client string required string Client name or email, as on the Clients roster.
    date string string ISO date. Defaults to today.

    Example input

    {
      "client": "client"
    }

    Example response

    {
      "client": "Jamie Example",
      "date": "2026-11-13",
      "meals": {
        "Breakfast": 420,
        "Lunch": 610,
        "Dinner": 540,
        "Snacks": 180
      },
      "kcals": 1750,
      "protein_g": 138,
      "carbs_g": 172,
      "fat_g": 58
    }
  • manage_habits Read habit streaks and completion, or create a habit with a goal, days and reminder for clients. writeAsks first

    Each client gets their own copy, so you can change it for one person. Clients see habits in Today's Tasks and get the push at the time you set. By default you confirm each call; you can switch that off for this tool.

    MCP callfitsly_write → manage_habits

    REST endpointPOST https://cotlet.dev/api/v1/fitsly/habits/manage

    Parameters

    Parameters: manage_habits
    NameTypeDescription
    action string required string One of `list`, `create`, `assign`. `list` and `get` only read.
    client string string For `list`: whose habits to read.
    name string string Habit name, for example Daily fruit.
    goal string string A measurable amount, such as 8 cups a day or 7,500 steps a day.
    days array array Every day, or the weekdays you pick.
    reminder string string Push reminder time, in the client's timezone.
    clients array array For `create` and `assign`: one or several clients.

    Example input

    {
      "action": "create",
      "name": "Stay hydrated",
      "goal": "8 cups/day",
      "days": [
        "every day"
      ],
      "reminder": "09:00",
      "clients": [
        "Jamie Example",
        "Riley Sample"
      ]
    }

    Example response

    {
      "client": "Jamie Example",
      "habits": [
        {
          "habit": "Stay hydrated",
          "goal": "8 cups/day",
          "streak": 6,
          "completion_7d": 86
        },
        {
          "habit": "Move daily",
          "goal": "7,500 steps/day",
          "streak": 2,
          "completion_7d": 57
        }
      ]
    }

Messages and payments2

Direct, group and broadcast messages, and the Stripe packages on your storefront.

  • send_message Read conversations, or send a direct message, a group message or a broadcast. writeAsks first

    Every message pushes to the client's phone the moment it is sent, and broadcasts arrive with an announcement badge, so the agent shows recipients and text first. `list` reads the inbox with unread counts. By default you confirm each call; you can switch that off for this tool.

    MCP callfitsly_write → send_message

    REST endpointPOST https://cotlet.dev/api/v1/fitsly/messages

    Parameters

    Parameters: send_message
    NameTypeDescription
    action string required string One of `list`, `send`. `list` and `get` only read.
    to string string `direct`, `group` or `broadcast`.
    name string string Client or group name.
    text string string The message.

    Example input

    {
      "action": "action"
    }

    Example response

    {
      "to": "group",
      "name": "Summer Shred Crew",
      "sent": true
    }
  • manage_packages List packages and subscribers, create or edit a Stripe package, or switch one off. writeAsks first

    Packages sell on your storefront through Stripe. A price change is what buyers pay, so it waits for your OK. Switching a package off stops new sales without cancelling anyone on it. By default you confirm each call; you can switch that off for this tool.

    MCP callfitsly_write → manage_packages

    REST endpointPOST https://cotlet.dev/api/v1/fitsly/packages/manage

    Parameters

    Parameters: manage_packages
    NameTypeDescription
    action string required string One of `list`, `create`, `update`, `switch_off`. `list` and `get` only read.
    package string string Package name.
    price number number Price in the package currency.
    billing string string `one_time`, `weekly`, `monthly` or `yearly`.
    options object object currency, setup fee, free trial days, minimum term, client slots, compare-at price, unlisted.

    Example input

    {
      "action": "action"
    }

    Example response

    {
      "package": "12-Week Transformation",
      "price": 249,
      "currency": "AUD",
      "billing": "monthly",
      "trial_days": 7,
      "slots_left": 20,
      "subscribers": 4
    }
Encrypted, revocable

Who can see my Fitsly session, and how do I revoke it?

  • What we store

    Your signed-in Fitsly browser profile, AES-256-GCM encrypted, in Finland. Never your password.

  • What your agent gets

    The 10 Fitsly tools. The session cookie stays in the Cloud Browser.

  • What the session sees

    The clients, programs, plans and messages your coach login can open.

  • What no tool touches

    Your email, password and devices, your Brand kit, Stripe payouts, refunds and the white label app.

  • If Fitsly signs you out

    You log in again yourself, in the same Cloud Browser.

  • How to cut access

    Disable Fitsly for agents, reset the browser, or sign out its session in Fitsly's Security & devices.

Cotlet never sees or stores your password: you log in to Fitsly yourself and the agent works only with that session. Our site scores A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory (live results).

We keep it working

What happens when Fitsly changes? The tools use the same dashboard you coach from.

Cotlet watches the apps it serves and updates the Fitsly server when the dashboard changes, so your agent keeps working without a change on your side.

New Fitsly features become available to the agent. It still sees only what your coach login sees.

If Fitsly signs you out, one click in the Cotlet console reopens the Cloud Browser so you can log in again.

8 tools ask first

Approvals, undo and mistakes Clients see nothing new until you say so.

  1. 01 Read the week get_client_overview for each client.
  2. 02 Propose a habit Stay hydrated, 8 cups a day, 09:00 reminder.
  3. 03 Assign after your OK manage_habits gives each client a copy.
  4. 04 Tell them send_message drafts the note; you approve it too.
Fixing a Fitsly write that went wrong
ActionHow to put it right
Client detailsUpdate them again with manage_clients
Macro targetsSet the earlier values with set_macro_targets
Package price or trialEdit it back with manage_packages; switch_off stops new sales
Invite or messageAlready with the client: follow up in Fitsly messages

All 8 write tools ask first: by default you confirm each call, and you can switch that off per tool. The 2 read tools, client overviews and food logs, run at once.

MCP call
{
  "name": "manage_habits",
  "arguments": {
    "action": "create",
    "name": "Stay hydrated",
    "goal": "8 cups/day",
    "days": [
      "every day"
    ],
    "reminder": "09:00",
    "clients": [
      "Jamie Example",
      "Riley Sample"
    ]
  }
}
REST
curl -X POST https://cotlet.dev/api/v1/fitsly/habits/manage \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"action":"create","name":"Stay hydrated","goal":"8 cups/day","days":["every day"],"reminder":"09:00","clients":["Jamie Example","Riley Sample"]}'
Response
{
  "habit": "Stay hydrated",
  "goal": "8 cups/day",
  "reminder": "09:00",
  "assigned": [
    "Jamie Example",
    "Riley Sample"
  ],
  "created": true
}

The example gives Jamie Example and Riley Sample their own copy of a Stay hydrated habit, 8 cups a day with a 09:00 reminder. A cron job or n8n flow can make the same call over REST at /api/v1/fitsly with the same key and price, in JSON. Failed calls are free.

Pay per call

How much does the Fitsly MCP server cost?

About $21 a monthfor a coach with 30 active clients, 3,580 credits. Your Fitsly tier stays as it is.

Illustrative month, our assumption: successful calls for this workload
JobCallsCredits
Weekly review: roster plus 30 overviews31 × 41,240
Habit streaks for the weekly review1 × 440
Client messages and broadcasts1 × 40400
Food log reads and macro changes2 × 8160
New client invited with program and plan3 × 4120
Workouts and program edits1 × 12120
Cloud Browser, 30 days1,500
Total208 calls3,580

The smallest pack, 5,000 credits for $29, covers this month. The weekly review is most of it: each client overview is one call.

  • Free 7-day trial, no card
  • 10 credits per successful call, MCP or REST
  • 50 credits a day for the Cloud Browser
  • Your Fitsly tier and Stripe fees apply as they are

Credit packs are one-time purchases, not a subscription. The month above is an example built from our own assumptions, not measured customer usage.

Cotlet credit packs: price, credits and calls at 10 credits each
Credits Price, one time Calls at 10 credits Per 1,000 credits
5,000 $29 500 $5.80
15,000 $79 1,500 $5.27
32,000 $149 3,200 $4.66
60,000 $249 6,000 $4.15

Only successful calls use credits; failed calls and timeouts cost nothing. At a balance of 0 calls pause, never a surprise charge. Authenticate with the Authorization: Bearer header.

Other options

Fitsly MCP server: other ways to connect What each route does for a coach, and where it stops.

Other ways to work with Fitsly, checked 14 Nov 2026
OptionWhat it doesWhere it stops
Fitsly dashboard and coach appEvery screen, on the web or on iOS and Android.One client profile at a time, while you are at it.
Fitsly automations and onboarding flowsAssign content when a client joins and run set rules inside Fitsly.Rules you set up in advance; they do not read a week and decide.
Sub-coachesMore coaches on your account.More people doing the work by hand.

If Fitsly publishes an API that covers your job, use it: it would be the vendor's own route. Cotlet fits when you want ChatGPT, Claude or a script working in Fitsly today, from your own coach login, with nothing to host.

EU company, since 2019

Who runs Cotlet A company you can look up.

Take Group sp. z o.o. operates Cotlet. It is a software company registered in Poland, EU (VAT PL6342984273), active since 2019, with founders Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Write to contact@cotlet.dev about the Fitsly tools.

Fitsly MCP server: questions

How do I get access?

Sign up free at https://cotlet.dev/signup?app=fitsly, turn on Fitsly under Integrations in the console and log in at https://app.fitsly.com/login in your Cloud Browser. Then connect your AI agent and ask it about your clients. The trial needs no card.

Does Fitsly have an API?

Fitsly publishes no public API and no developer documentation on fitsly.com or in its Help Center (checked 14 Nov 2026). No Fitsly MCP server and no official ChatGPT or Claude connector was verified. Cotlet does not need one: it works in your own signed-in Fitsly coach account.

Which Fitsly plan do I need?

Any. Per Fitsly's pricing page, every feature is on every tier and the price depends only on how many active clients you coach, from $39 a month for up to 20. The tools work on any tier.

Does the agent replace Fitsly automations and onboarding flows?

No, it works next to them. Onboarding flows and automations run inside Fitsly; the agent can pick an onboarding flow when it creates a client, and handles the reviews and one-off changes you would otherwise click through.

Can the agent log workouts or food for my clients?

No. Clients keep logging in the Fitsly client app. The agent reads what they logged and works on the coach side: clients, programs, plans, habits, messages and packages.

Is the MCP server different from the REST API?

Only in how it is called. Both carry the same 10 tools, inputs, answers, API key and price. Agents use MCP; scripts and n8n HTTP steps use REST.

Is Cotlet affiliated with Fitsly?

No. Cotlet is independent and not affiliated with Fitsly.

Let your agent prepare Monday's check-ins in Fitsly.

Free 7-day trial with 2,000 credits, no card needed.