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
| 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. |
List clients
readMCP 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
| Name | Type | Description |
|---|---|---|
| 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
readMCP 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
| Name | Type | Description |
|---|---|---|
| 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
} List workouts
readMCP 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
| Name | Type | Description |
|---|---|---|
| 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
} Get body metrics
readMCP 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
| Name | Type | Description |
|---|---|---|
| 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
} List programs
readMCP tool everfit_list_programs
Lists the programs in your Program Library with their length in weeks. Pass program_id to assign_program.
Parameters
| Name | Type | Description |
|---|---|---|
| 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
} List Autoflows
readMCP 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
| Name | Type | Description |
|---|---|---|
| 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
} List conversations
readMCP 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
| Name | Type | Description |
|---|---|---|
| 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
} Get conversation
readMCP 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
| Name | Type | Description |
|---|---|---|
| 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
} 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
| Name | Type | Description |
|---|---|---|
| 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
} 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
| Name | Type | Description |
|---|---|---|
| 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
} 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
| Name | Type | Description |
|---|---|---|
| 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
} 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
| Name | Type | Description |
|---|---|---|
| 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
} 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
| Name | Type | Description |
|---|---|---|
| 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
} 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
| Name | Type | Description |
|---|---|---|
| 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
} 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
| Name | Type | Description |
|---|---|---|
| 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
}