MCP tools reference

Everfit MCP tools

15 tools for Everfit on the Cotlet MCP server. Your agent picks them from tools/list.

MCP server
https://cotlet.dev/mcp/v1
Connects with
Your own Everfit coach account (owner or admin to assign another coach to a new client)
Integration page
Everfit
Everfit Endpoints
Endpoint Access Description
everfit_list_clients read Clients in your workspace with type, coach, groups and status.
everfit_get_client read Client overview: profile, goals, limitations or injuries, private notes and workout counts.
everfit_list_workouts read Workouts on a client's training calendar in a date range, with completion and logged results.
everfit_get_body_metrics read Entries for a client's tracked metrics, such as weight, with date, time and unit.
everfit_list_programs read Programs in your Program Library with length in weeks.
everfit_list_autoflows read Your Autoflows with name, status and number of clients.
everfit_list_conversations read Your Inbox conversations with clients: who, unread flag and last message.
everfit_get_conversation read Messages with one client, oldest first, with links to images and videos.
everfit_invite_client write Add a client and email them an invite to set up the Everfit app.
everfit_assign_program write Add a program to a client's training calendar from a start date.
everfit_add_client_to_autoflow write Enroll a client in an Autoflow; an active one sends its workouts, tasks and announcements.
everfit_log_body_metric write Add a result for one of a client's tracked metrics.
everfit_assign_task write Add a task to a client's calendar, with instructions and a reminder time.
everfit_send_message write Send a message to a client in Inbox, as you.
everfit_send_broadcast write Inbox Broadcast to many clients at once. Studio plan.

MCP tool everfit_list_clients

Lists your clients with type (online, in person or hybrid), the coach they belong to, groups and status. Archived clients are returned only when you ask for them. Use the client_id of each item in the other tools. Pass next_cursor back as cursor for the next page.

Parameters

Parameters: list_clients
NameTypeDescription
status enum active or archived. Default: active.
type enum online, in_person or hybrid.
group string Only clients in this group.
coach_id string Only clients of this coach.
search string Name or email contains.
limit integer 1 to 200. Default: 50.
cursor string Next page cursor from the previous call.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "everfit_list_clients",
    "arguments": {}
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "clients": [
      {
        "client_id": "66f1c2a9e4b0a1d2c3f4e5a6",
        "first_name": "Sam",
        "last_name": "Rivera",
        "email": "sam@example.com",
        "type": "online",
        "coach_id": "64a1b2c3d4e5f6a7b8c9d0e1",
        "groups": [
          "Fat loss"
        ],
        "status": "active",
        "joined_at": "2026-09-15"
      }
    ],
    "next_cursor": null
  },
  "isError": false
}

Get client

read

MCP tool everfit_get_client

Returns what the client overview page shows: profile, goals, limitations or injuries, your private notes, and the number of workouts tracked in the last 7 and 30 days. Notes and limitations are not shared with the client.

Parameters

Parameters: get_client
NameTypeDescription
client_id required string Client ID from list_clients.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "everfit_get_client",
    "arguments": {
      "client_id": "client_8c41d2"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "client_id": "66f1c2a9e4b0a1d2c3f4e5a6",
    "first_name": "Sam",
    "last_name": "Rivera",
    "type": "online",
    "goals": "Lose 5 kg before the wedding in March.",
    "limitations": "Mild left knee pain on deep squats.",
    "notes": "Prefers morning sessions.",
    "workouts_tracked": {
      "last_7_days": 0,
      "last_30_days": 9
    }
  },
  "isError": false
}

MCP tool everfit_list_workouts

Returns the workouts on one client's training calendar between two dates, each with whether the client completed it and the results they logged. The default range is the last 7 days and the next 7 days. Use it to find clients with no tracked workouts.

Parameters

Parameters: list_workouts
NameTypeDescription
client_id required string Client ID from list_clients.
from date Start date. Default: 7 days ago.
to date End date. Default: 7 days ahead.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "everfit_list_workouts",
    "arguments": {
      "client_id": "client_8c41d2"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "client_id": "66f1c2a9e4b0a1d2c3f4e5a6",
    "workouts": [
      {
        "workout_id": "w_4a91",
        "date": "2026-10-06",
        "title": "Lower Body A",
        "completed": false,
        "results": null
      },
      {
        "workout_id": "w_4a92",
        "date": "2026-10-08",
        "title": "Upper Body A",
        "completed": false,
        "results": null
      }
    ],
    "completed_count": 0,
    "planned_count": 2
  },
  "isError": false
}

MCP tool everfit_get_body_metrics

Returns the entries a client has for a metric, such as Weight or a custom metric, each with date, time, value and unit, plus the change from the first to the last entry in the range. Only metrics enabled for that client return data. Without metric, it returns every tracked metric.

Parameters

Parameters: get_body_metrics
NameTypeDescription
client_id required string Client ID from list_clients.
metric string Metric name, e.g. Weight. Default: all tracked metrics.
from date Start date. Default: 90 days ago.
to date End date. Default: today.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "everfit_get_body_metrics",
    "arguments": {
      "client_id": "66f1c2a9e4b0a1d2c3f4e5a6",
      "metric": "Weight",
      "from": "2026-09-14",
      "to": "2026-10-11"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "client_id": "66f1c2a9e4b0a1d2c3f4e5a6",
    "metric": "Weight",
    "unit": "kg",
    "entries": [
      {
        "recorded_at": "2026-07-12T08:10:00Z",
        "value": 84.2
      },
      {
        "recorded_at": "2026-08-16T08:05:00Z",
        "value": 82.9
      },
      {
        "recorded_at": "2026-09-20T08:20:00Z",
        "value": 81.5
      },
      {
        "recorded_at": "2026-10-10T08:12:00Z",
        "value": 80.6
      }
    ],
    "change": -3.6
  },
  "isError": false
}

MCP tool everfit_list_programs

Lists the programs in your Program Library with their length in weeks. Pass program_id to assign_program.

Parameters

Parameters: list_programs
NameTypeDescription
search string Program name contains.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "everfit_list_programs",
    "arguments": {}
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "programs": [
      {
        "program_id": "65d8b7c6a5f4e3d2c1b0a9f8",
        "title": "Beginner Strength",
        "weeks": 8
      },
      {
        "program_id": "65d8b7c6a5f4e3d2c1b0a9f9",
        "title": "Hypertrophy Block",
        "weeks": 12
      }
    ]
  },
  "isError": false
}

MCP tool everfit_list_autoflows

Lists the Autoflows you can see, your own and those shared with the team, with their status (active or paused) and how many clients are in each. Adding a client to a paused Autoflow sends them nothing until it is activated.

Parameters

Parameters: list_autoflows
NameTypeDescription
status enum active, paused or all. Default: all.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "everfit_list_autoflows",
    "arguments": {}
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "autoflows": [
      {
        "autoflow_id": "65e0a1b2c3d4e5f6a7b8c9d0",
        "name": "12-week Fat Loss",
        "status": "active",
        "clients": 18
      },
      {
        "autoflow_id": "65e0a1b2c3d4e5f6a7b8c9d1",
        "name": "New client onboarding",
        "status": "paused",
        "clients": 4
      }
    ]
  },
  "isError": false
}

MCP tool everfit_list_conversations

Lists your Inbox conversations with clients, with the last message and whether it is unread. Chats with teammates are in the Team tab in Everfit and are not returned. Set unread_only to get what needs an answer.

Parameters

Parameters: list_conversations
NameTypeDescription
unread_only boolean Only conversations with unread messages.
limit integer 1 to 100. Default: 30.
cursor string Next page cursor from the previous call.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "everfit_list_conversations",
    "arguments": {}
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "conversations": [
      {
        "client_id": "66f1c2a9e4b0a1d2c3f4e5a6",
        "name": "Sam Rivera",
        "unread": true,
        "last_message": "Can I swap barbell rows for dumbbell rows this week?",
        "updated_at": "2026-10-10T17:42:00Z"
      }
    ],
    "next_cursor": null
  },
  "isError": false
}

MCP tool everfit_get_conversation

Returns the messages in your Inbox conversation with one client, oldest first, with who sent each and links to images and videos they attached. Read the thread before drafting a reply.

Parameters

Parameters: get_conversation
NameTypeDescription
client_id required string Client ID from list_clients.
limit integer 1 to 200. Default: 50.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "everfit_get_conversation",
    "arguments": {
      "client_id": "client_8c41d2"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "client_id": "66f1c2a9e4b0a1d2c3f4e5a6",
    "messages": [
      {
        "from": "Sam Rivera",
        "text": "Can I swap barbell rows for dumbbell rows this week?",
        "media": [],
        "sent_at": "2026-10-10T17:42:00Z"
      }
    ]
  },
  "isError": false
}

Invite client

write Confirm

MCP tool everfit_invite_client

Adds a client with first name, last name, email and type, and Everfit emails them an invite right away to set up their profile. By default you are their coach; owners and admins can assign another coach. By default you confirm each call; you can switch that off for this tool.

Parameters

Parameters: invite_client
NameTypeDescription
first_name required string First name.
last_name required string Last name.
email required string Client email; the invite goes here.
type enum online, in_person or hybrid. Default: online.
coach_id string Assign another coach. Owners and admins only. Default: you.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "everfit_invite_client",
    "arguments": {
      "first_name": "first name",
      "last_name": "last name",
      "email": "jane@example.com"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "client_id": "66f1c2a9e4b0a1d2c3f4e5b7",
    "email": "alex@example.com",
    "type": "online",
    "coach_id": "64a1b2c3d4e5f6a7b8c9d0e1",
    "status": "invited"
  },
  "isError": false
}

Assign program

write Confirm

MCP tool everfit_assign_program

Adds a program from your Program Library to one client's training calendar, starting on the date you give. Set start_day and end_day to assign only part of the program. Workouts appear on the calendar right away and you can adjust them per client afterwards. By default you confirm each call; you can switch that off for this tool.

Parameters

Parameters: assign_program
NameTypeDescription
client_id required string Client ID from list_clients.
program_id required string Program ID from list_programs.
start_date required date First day of the program on the calendar.
start_day integer Program day to start at. Default: 1.
end_day integer Program day to end at. Default: the last day.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "everfit_assign_program",
    "arguments": {
      "client_id": "66f1c2a9e4b0a1d2c3f4e5a6",
      "program_id": "65d8b7c6a5f4e3d2c1b0a9f8",
      "start_date": "2026-10-12"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "client_id": "66f1c2a9e4b0a1d2c3f4e5a6",
    "program": {
      "program_id": "65d8b7c6a5f4e3d2c1b0a9f8",
      "title": "Beginner Strength",
      "weeks": 8
    },
    "start_date": "2026-10-12",
    "end_date": "2026-12-06",
    "workouts_added": 24
  },
  "isError": false
}

Add client to Autoflow

write Confirm

MCP tool everfit_add_client_to_autoflow

Adds a client to an Autoflow. In an active Autoflow the client is activated and receives all scheduled workouts, announcements and tasks; in a paused one they receive nothing until it is activated. start_date and start_day set where the client begins. By default you confirm each call; you can switch that off for this tool.

Parameters

Parameters: add_client_to_autoflow
NameTypeDescription
client_id required string Client ID from list_clients.
autoflow_id required string Autoflow ID from list_autoflows.
start_date date Date the client starts. Default: today.
start_day integer Autoflow day to begin on. Default: 1.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "everfit_add_client_to_autoflow",
    "arguments": {
      "client_id": "client_8c41d2",
      "autoflow_id": "autoflow_8c41d2"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "client_id": "66f1c2a9e4b0a1d2c3f4e5a6",
    "autoflow": {
      "autoflow_id": "65e0a1b2c3d4e5f6a7b8c9d0",
      "name": "12-week Fat Loss",
      "status": "active"
    },
    "client_status": "active",
    "start_date": "2026-10-12",
    "start_day": 1
  },
  "isError": false
}

Log body metric

write Confirm

MCP tool everfit_log_body_metric

Saves a result for one metric enabled for the client, with a value and the date and time of the entry. The client sees it in their metrics and charts. The metric must already be enabled for the client in Everfit. By default you confirm each call; you can switch that off for this tool.

Parameters

Parameters: log_body_metric
NameTypeDescription
client_id required string Client ID from list_clients.
metric required string Metric name, e.g. Weight.
value required number Value in the metric's unit.
recorded_at datetime ISO 8601. Default: now.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "everfit_log_body_metric",
    "arguments": {
      "client_id": "client_8c41d2",
      "metric": "metric",
      "value": 1
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "client_id": "66f1c2a9e4b0a1d2c3f4e5a6",
    "metric": "Weight",
    "value": 80.6,
    "unit": "kg",
    "recorded_at": "2026-10-10T08:12:00Z",
    "status": "saved"
  },
  "isError": false
}

Assign task

write Confirm

MCP tool everfit_assign_task

Adds one task to a client's calendar on a date. The client gets a push notification on that day, at 10:00 in their local time unless you set reminder_time, and checks the task off in the client app. By default you confirm each call; you can switch that off for this tool.

Parameters

Parameters: assign_task
NameTypeDescription
client_id required string Client ID from list_clients.
title required string Task title.
date required date Day the task appears.
instructions string Task details for the client.
link string URL to attach, e.g. a form or video.
reminder_time string Reminder time HH:MM in the client's local time. Default: 10:00.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "everfit_assign_task",
    "arguments": {
      "client_id": "client_8c41d2",
      "title": "title",
      "date": "2026-10-01"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "task_id": "t_7c20",
    "client_id": "66f1c2a9e4b0a1d2c3f4e5a6",
    "title": "Weekly measurements",
    "date": "2026-10-12",
    "reminder_time": "08:00",
    "status": "assigned"
  },
  "isError": false
}

Send message

write Confirm

MCP tool everfit_send_message

Sends a text message to one client in your Inbox conversation, under your name. Everfit lets you edit a plain text message only within 60 minutes. By default you confirm each call; you can switch that off for this tool.

Parameters

Parameters: send_message
NameTypeDescription
client_id required string Client ID from list_clients.
text required string Message text.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "everfit_send_message",
    "arguments": {
      "client_id": "66f1c2a9e4b0a1d2c3f4e5a6",
      "text": "Hi Maya, Lower Body A and Upper Body A are still open from last week. Is the knee acting up again, or is it the schedule? Reply here and I will adjust this week."
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "client_id": "66f1c2a9e4b0a1d2c3f4e5a6",
    "message_id": "msg_91d3",
    "status": "sent",
    "sent_at": "2026-10-11T09:05:00+02:00"
  },
  "isError": false
}

Send broadcast

write Confirm

MCP tool everfit_send_broadcast

Sends an Inbox Broadcast of up to 3 messages to the clients you pick, or to all clients. {first_name} is filled in per client. Needs the Studio plan, and Everfit asks you to wait 2 minutes before the next broadcast. By default you confirm each call; you can switch that off for this tool.

Parameters

Parameters: send_broadcast
NameTypeDescription
client_ids string[] Recipients. Omit when all_clients is true.
all_clients boolean Send to every client.
messages required string[] Up to 3 messages; {first_name} is filled in per client.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "everfit_send_broadcast",
    "arguments": {
      "messages": [
        "messages"
      ]
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "broadcast_id": "bc_2f08",
    "recipients": 42,
    "messages_per_client": 1,
    "status": "sent",
    "sent_at": "2026-10-11T09:10:00+02:00"
  },
  "isError": false
}