Health & fitness
Trainerize
Clients, programs, check-ins and messages for your Trainerize business.
14 endpoints
Your AI agent onboards clients with a program and nutrition plan, books sessions from messages and checks who has gone quiet. Sign in to My PT Hub once in your own Cloud Browser. No API, no Zapier add-on.
9 tools Read and write
My PT Hub has no MCP server, no ChatGPT or Claude app and no public API. Its only connection is a paid Zapier add-on for Premium plans, mostly triggers plus adding clients (My PT Hub pricing, checked 8 Nov 2026). Cotlet runs 9 My PT Hub tools hosted, over MCP for agents and REST for scripts, in your own trainer login.
| What you need | My PT Hub API | Zapier add-on | Cotlet |
|---|---|---|---|
| Add clients | No API | Paid add-on | Yes, after your OK |
| Book or cancel sessions | No API | Triggers only | Yes, after your OK |
| Programs and nutrition | No API | No | Yes |
| Ask in ChatGPT or Claude | No | No | Yes |
| Plan needed | None | Premium + add-on | Any |
Checked 8 Nov 2026. Sources: My PT Hub: Zapier integration · My PT Hub pricing · My PT Hub on Zapier
Once, in a browser we host for you.
One address in its settings.
It drafts the work, you OK what customers get.
We never keep your My PT Hub password, and nothing a client sees in their app changes until you approve it. Who can see your session
Sign in to My PT Hub in a Cloud Browser. Create a Cotlet account, open My PT Hub in its Cloud Browser, sign in with your trainer login on dashboard.mypthub.net and press Enable for agents.
Add the Cotlet address. Enter https://cotlet.dev/mcp/v1 as the MCP server or connector URL in your agent.
Let the agent in. Chat apps open a Cotlet sign-in page. Editors, n8n and scripts send an API key made in the console.
My PT Hub shares the address https://cotlet.dev/mcp/v1 with every other app you enable, so one connector covers them all. Turned My PT Hub on after connecting? Refresh the connector and the 9 tools appear.
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" Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth // ~/.cursor/mcp.json
{
"mcpServers": {
"cotlet": {
"url": "https://cotlet.dev/mcp/v1",
"headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
}
}
} # ~/.codex/config.toml
[mcp_servers.cotlet]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY" MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: my_pt_hub_read Make: MCP Client > Call a tool
Zapier: MCP Client by Zapier > Run Tool
Server URL: https://cotlet.dev/mcp/v1
Token: <your key>
Tool: my_pt_hub_write Search matches name and email. Adding a client sends the app invite, so it waits for your OK.
Returns clients with ID, group, active package, sessions left and last logged activity.
MCP callmy_pt_hub_read → list_clients
REST endpointGET https://cotlet.dev/api/v1/my-pt-hub/clients
| Name | Type | Description |
|---|---|---|
| query string | string | Name or email. |
| inactive_days integer | integer | Only clients with nothing logged in this many days. |
| page integer | integer | Page number. Default: 1. |
{
"clients": [
{
"client_id": "CL-1182",
"name": "Charlotte Davies",
"group": "Online coaching",
"package": "12 PT sessions",
"sessions_left": 5,
"last_activity": "2026-11-06"
}
],
"page": 1
} Returns the client profile: assigned program and nutrition plan, latest check-in and metrics, habits and upcoming sessions.
MCP callmy_pt_hub_read → get_client
REST endpointGET https://cotlet.dev/api/v1/my-pt-hub/clients/{client_id}
| Name | Type | Description |
|---|---|---|
| client_id string required | string | Client ID from list_clients. |
{
"client_id": "client_8c41d2"
} {
"client_id": "CL-1182",
"name": "Charlotte Davies",
"program": "Strength 12 weeks, week 7",
"nutrition": "2,100 kcal plan",
"latest_weight_kg": 64.2,
"upcoming": [
{
"start": "2026-11-11T07:00",
"type": "1-to-1 PT"
}
]
} Creates the client contact; My PT Hub emails them an activation link for the client app. By default you confirm each call; you can switch that off for this tool.
MCP callmy_pt_hub_write → add_client
REST endpointPOST https://cotlet.dev/api/v1/my-pt-hub/clients
| Name | Type | Description |
|---|---|---|
| first_name string required | string | First name. |
| last_name string required | string | Last name. |
| email string required | string | Email for the invite. |
| group string | string | Client group. |
{
"first_name": "first name",
"last_name": "last name",
"email": "jane@example.com"
} {
"client_id": "CL-1240",
"name": "Tom Okafor",
"status": "Invite sent"
} Sessions and events the client sees in their app wait for your OK.
Returns 1-to-1 sessions and classes with client, time, location and status.
MCP callmy_pt_hub_read → list_sessions
REST endpointGET https://cotlet.dev/api/v1/my-pt-hub/sessions
| Name | Type | Description |
|---|---|---|
| date_from string required | string | ISO date. |
| date_to string | string | ISO date. Default: date_from. |
{
"date_from": "date from"
} {
"sessions": [
{
"session_id": "S-7720",
"type": "1-to-1 PT",
"client": "Charlotte Davies",
"start": "2026-11-11T07:00",
"location": "Studio",
"status": "Booked"
}
]
} Creates the activity on the calendar for the client, using their package if they have one. The client sees it in their app. By default you confirm each call; you can switch that off for this tool.
MCP callmy_pt_hub_write → book_session
REST endpointPOST https://cotlet.dev/api/v1/my-pt-hub/clients/{client_id}/sessions
| Name | Type | Description |
|---|---|---|
| client_id string required | string | Client ID from list_clients. |
| type string required | string | Activity or event name. |
| start string required | string | ISO date and time. |
| location string | string | Location. |
{
"client_id": "client_8c41d2",
"type": "type",
"start": "start"
} {
"session_id": "S-7791",
"type": "1-to-1 PT",
"client": "Tom Okafor",
"start": "2026-11-13T18:00",
"status": "Booked"
} Cancels the activity; the client sees the change in their app. By default you confirm each call; you can switch that off for this tool.
MCP callmy_pt_hub_write → cancel_session
REST endpointPOST https://cotlet.dev/api/v1/my-pt-hub/sessions/{session_id}/cancel
| Name | Type | Description |
|---|---|---|
| session_id string required | string | Session ID from list_sessions. |
{
"session_id": "session_8c41d2"
} {
"session_id": "S-7720",
"status": "Cancelled"
} Assigning a program waits for your OK. A new nutrition plan sits in your library until assigned, so it runs at once.
Returns programs and workouts by name and length, so the agent assigns the exact one.
MCP callmy_pt_hub_read → list_programs
REST endpointGET https://cotlet.dev/api/v1/my-pt-hub/programs
| Name | Type | Description |
|---|---|---|
| query string | string | Name contains. |
{
"programs": [
{
"name": "Fat loss 8 weeks",
"weeks": 8,
"workouts_per_week": 3
}
]
} Puts the program's workouts and nutrition on the client's days; the client sees it in their app. By default you confirm each call; you can switch that off for this tool.
MCP callmy_pt_hub_write → assign_program
REST endpointPOST https://cotlet.dev/api/v1/my-pt-hub/clients/{client_id}/program/assign
| Name | Type | Description |
|---|---|---|
| client_id string required | string | Client ID from list_clients. |
| program string required | string | Program name from your library. |
| start string required | string | ISO start date. |
{
"client_id": "CL-1240",
"program": "Fat loss 8 weeks",
"start": "2026-11-16"
} {
"client_id": "CL-1240",
"program": "Fat loss 8 weeks",
"start": "2026-11-16"
} Creates the plan in your library with calories and macros, ready to assign. Reaches no client, so it runs at once.
MCP callmy_pt_hub_write → create_nutrition_plan
REST endpointPOST https://cotlet.dev/api/v1/my-pt-hub/nutrition-plans
| Name | Type | Description |
|---|---|---|
| name string required | string | Plan name. |
| kcal integer required | integer | Daily calories. |
| protein_g integer | integer | Daily protein. |
| carbs_g integer | integer | Daily carbs. |
| fat_g integer | integer | Daily fat. |
{
"name": "Jane Doe",
"kcal": 1
} {
"plan_id": "NP-338",
"name": "Tom, cut 2,200 kcal",
"kcal": 2200,
"protein_g": 170
} Your signed-in My PT Hub profile, AES-256-GCM encrypted, in Finland. No password.
The 9 My PT Hub tools, never the session cookie.
What your login sees: clients, calendar, programs, nutrition, check-ins.
Payments and packages pricing, refunds, communities, deletes.
You sign in again yourself, in the same Cloud Browser.
Disable for agents, reset the browser, or change your My PT Hub password.
Cotlet never types your password: you sign in yourself, and the agent only uses the session. Our site scores A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory (live results).
When My PT Hub moves a button on the calendar or renames a contact tab, we fix the tool and your agent calls it the same way. status.cotlet.dev checks the site, console and API every 3 minutes.
| Action | Undo |
|---|---|
| Add a client | Yes, archive them; the invite email stays sent |
| Book or cancel a session | Yes, rebook or cancel it |
| Assign a program | Yes, remove it from the client |
| Create a nutrition plan | Yes, edit it in your library |
4 of 9 tools ask first: add_client, book_session, cancel_session, assign_program. New nutrition plans in your library reach no customer, so they run at once. You can turn the wait off per tool once you trust a routine.
{
"name": "assign_program",
"arguments": {
"client_id": "CL-1240",
"program": "Fat loss 8 weeks",
"start": "2026-11-16"
}
} curl -X POST https://cotlet.dev/api/v1/my-pt-hub/clients/CL-1240/program/assign \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"program":"Fat loss 8 weeks","start":"2026-11-16"}' {
"client_id": "CL-1240",
"program": "Fat loss 8 weeks",
"start": "2026-11-16"
} A cron job or n8n flow can call the same tools over REST at /api/v1/my-pt-hub with the same key and price, in JSON. Failed calls are free. Each tool row above shows its REST path.
About $20 a monthfor a coach with about 40 clients, 3,470 credits. Your My PT Hub plan stays as it is.
| Job | Calls | Credits |
|---|---|---|
| New client onboarded | 4 × 6 | 240 |
| Session booked from a message | 2 × 60 | 1,200 |
| Quiet clients, weekly | 10 × 4 | 400 |
| Week planned | 2 × 4 | 80 |
| Sick day cleared | 5 × 1 | 50 |
| Cloud Browser, 30 days | 1,500 | |
| Total | 3,470 |
My PT Hub publishes no usage counts, so the month is our example. Dollars at the $29 pack rate.
| 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.
| Option | What it does | Where it stops |
|---|---|---|
| Zapier add-on | Events such as bookings and purchases to other apps, and adding clients. | Paid add-on on Premium plans; no sessions, programs or questions. |
| My PT Hub automations | Client app reminders and habit nudges inside My PT Hub. | Fixed nudges; nothing you can ask in plain words. |
| By hand | Every screen of My PT Hub, one client at a time. | Your time between sessions. |
If you only need new sign-ups copied to your email list, the Zapier add-on does that. To onboard, book and check on clients from ChatGPT or Claude this week, Cotlet works in the My PT Hub account you already have.
Take Group sp. z o.o. runs Cotlet. It is a software company registered in Poland, EU (VAT PL6342984273), in business since 2019, led by its founders Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Questions about the My PT Hub tools go to contact@cotlet.dev.
Sign up free at https://cotlet.dev, open My PT Hub under Integrations in the console and sign in to My PT Hub in its Cloud Browser. The trial starts with your first app and asks for no card.
Sign up at cotlet.dev, log in to My PT Hub once in its Cloud Browser and add Cotlet to ChatGPT or Claude, following the steps in your console. No API key is needed. ChatGPT and Claude then work in your My PT Hub account through Cotlet, in their phone apps too.
With Cotlet, ChatGPT, Claude and other AI agents handle jobs like these in My PT Hub: onboard a new client; book sessions from messages; check in on quiet clients. You ask in plain words, and anything that reaches other people waits for your OK first.
No. My PT Hub has no ChatGPT or Claude connector of its own and My PT Hub has no official MCP server (checked 8 Nov 2026). Cotlet is an independent one that works in ChatGPT, Claude, Cursor and any MCP client, on your signed-in account.
Yes, with Cotlet. ChatGPT adds the client and My PT Hub sends their app invite, after your OK. It can assign a program and a nutrition plan in the same step.
Yes, with Cotlet. ChatGPT books 1-to-1 sessions or puts clients into events on your calendar after your OK, and cancels a day when you are ill.
Yes, with Cotlet. ChatGPT lists clients who logged nothing for a while, with their program week, metrics and sessions left.
No. Cotlet works through your own trainer login on your current plan. The Zapier add-on is a separate paid option on Premium plans.
No. Clients keep using the My PT Hub client app. Cotlet works in your trainer dashboard, so what it books or assigns shows up in their app as usual.
Only in how it is called. Both carry the same 9 tools, inputs, answers, API key and price. Agents use MCP; scripts and HTTP steps use REST.
No. Cotlet is independent and not affiliated with My PT Hub or its owner EverCommerce.
Free 7-day trial with 2,000 credits, no card needed.
May we use Google Analytics to see which pages help people? It sets cookies only if you accept. No ads, and we never sell data. Cookie policy