MCP (Model Context Protocol) lets you connect external AI tools — like Claude, ChatGPT, OpenClaw, Manu, and others — directly to your FitMetrics business data. Once connected, these AI tools can read your client data and take real actions like sending messages, scheduling messages, updating a client's daily macros in Trainerize, saving coach-visible notes, creating AI check-in templates, managing automations, building and editing AI Forms (creating, publishing, unpublishing, deleting), and building, editing, copying, scheduling, and assigning workout programs in Trainerize.
We recommend using Claude for the best MCP experience — it's the easiest to set up and works the most reliably with FitMetrics. ChatGPT is also supported, but we've noticed it can be more complicated to configure and may have occasional issues.
This feature is exclusively available on the Business package.
What You Can Do With MCP
Once connected, your AI tool gets access to 110 tools — 54 read tools for querying your data and 56 write actions for taking real action on your behalf.
Read — 54 tools
Clients — list clients, get detailed profiles (including assigned coach), notes, documents, pipeline stages
Tracking — compliance data, daily nutrition and macros, itemized meals + foods + timing (what they ate, when, with photos), workouts, body measurements, nutrition comments, nutrition goals history, progress photos, accomplishments (PRs, milestones, streaks), Trainerize habits (with streaks)
Health Devices — WHOOP data (recovery, HRV, sleep, strain), Oura Ring data, blood test results
Communication — message history, AI check-in history, scheduled messages, scheduled macro changes, check-in templates
Forms — list forms (metadata) and fetch full form definitions with all pages and elements, browse the element-type catalog (a reference of all 20 question and layout types with their props — used by the AI when building or editing a form), view submissions with AI summaries
Calls — Zoom and Fathom recordings with transcripts, summaries, and action items
Business — tasks, team activity log, automations, AI prompt templates, payment records
Programs & Workouts — list a client's programs and training plans, view full workout structure (exercises, sets, reps, supersets, rest), browse the calendar of scheduled workouts and what's on a specific day, list coach-built workout templates available to clone
Exercise Library — browse the Trainerize exercise library with filters (muscle group, equipment, level, mechanics), search by name, get full exercise details including video URLs
Write — 56 actions
Send messages — send a message to any client via Trainerize. The message appears in their Trainerize app chat, sent from your coach account. Subject to a configurable daily message limit (default 50/day per API key).
Schedule messages — queue a message to be sent to a client at a future date and time. Delivered automatically.
Cancel scheduled messages — cancel a pending scheduled message before it is sent.
Manage automations — create, update, or toggle business automations (daily Trainerize sync, weekly summaries, compliance calculation, birthday wishes).
Manage AI check-in templates — create or update AI prompt templates that power scheduled check-ins. Templates support dynamic placeholders like
#######################{{first_name}}and calorie metrics.Schedule client check-ins — assign a check-in template to a specific client with a day/time/frequency (weekly, bi-weekly, monthly).
Disable client check-ins — pause a specific check-in schedule for a client.
Update daily macros — change a client's daily calorie and macro goal (protein/carbs/fat grams). The update is pushed to Trainerize instantly and appears in the client's app for their next meal log. Supports calories-only, calories+protein, or full macros.
Save coach-visible notes — write a note on a client's profile that appears in the FitMetrics Messages > Notes panel. Useful for recording insights the AI picked up from messages, compliance data, or forms so the human coach sees them next time they open the client.
Schedule macro changes — queue a future macro change for a client (cut start, refeed, diet break, phase transition). When the scheduled date and time arrives in the business's timezone, FitMetrics pushes the new goal to Trainerize automatically.
Cancel scheduled macro changes — cancel a pending scheduled macro change before it fires.
Move a client between pipeline stages — update a client's stage (e.g. Onboarding → Active → Paused). Accepts the stage id or its name.
Flag or unflag a client for follow-up — sets the coach_follow_up flag. Flagged clients appear in list_clients when you filter message_status=needs_follow_up.
Create coaching tasks — create a to-do either at the team level or tied to a specific client, with optional priority, due date, and assignee.
Update task status — move tasks between to_do, in_progress, and completed. Completed tasks get a timestamp automatically; reopening a task clears it.
Assign Trainerize habits — add a habit to a client's Trainerize account with a specific start date, duration, and days of the week. Works with standard Trainerize habit types or fully custom habits you name.
Remove Trainerize habits — remove an assigned habit from a client. Validated against the client you specify so a habit id can't be used to touch another client.
Set weekly (day-of-week) macros — different calories and macros per day of the week (e.g. higher carbs on training days, lower on rest days). The weekly plan is saved and today's target is pushed to Trainerize automatically.
Mark AI form submissions reviewed — close the loop after an AI agent has summarized and responded to a form submission, so human coaches don't double-review. Can also un-review.
Build a new AI Form — create a form from scratch with any combination of the 20 element types (short answer, multiple choice, rating, slider, scale, ranking, grids, contact details, signature, image, html, etc.). The AI authors the structure directly using the element-type catalog — no separate "generate form" wrapper needed.
Edit an AI Form — update any field on an existing form: title, description, status, pages and elements, settings (notifications, redirect rules, availability schedule), folder, default feedback template. The AI fetches the form first, modifies the parts it needs, and writes it back.
Publish an AI Form — flip a draft form to published and active so it accepts submissions. One-call shortcut over edit.
Unpublish an AI Form — move a form back to draft and inactive. Public URL stops accepting submissions.
Delete an AI Form — irreversibly remove a form. The first call returns a cascade preview (how many submissions, notifications, webhook deliveries will be deleted); a second call with explicit confirmation actually deletes. Coach-scoped API keys are blocked from deleting (matches the in-app owner/admin-only policy).
Create a workout — build a new workout (workoutDef) inside a client's training plan with ordered exercises grouped into supersets/circuits. Returns the new workout id.
Update a workout — rename, change instructions, replace the exercise list, change type or rounds. Read-modify-write under the hood; only the fields you pass are changed.
Copy a workout — duplicate an existing workout into the same or a different training plan on the same client.
Delete a workout — remove a workout definition. Ownership-checked.
Create a training plan — add a new phase to a client (name + start date + duration in weeks).
Update a training plan — change the plan's name, start date, or duration. Unspecified fields are preserved.
Delete a training plan — remove a plan and its workouts.
Copy a training plan — duplicate a phase within the same program (e.g. clone Phase 1 as Phase 2 with a new name).
Assign a program to a client — assign an existing program (the AI must reference an existing client of yours who has it). 'core' replaces the primary program, 'addon' adds it alongside.
Schedule a workout — schedule a workout on a specific day-within-phase in a program-template plan.
Move a scheduled workout — move a calendar item to a different day inside a template plan.
Unschedule a workout — remove a calendar item from a template plan.
Update a daily workout — schedule or move a workout instance on a specific date in a real client's calendar (the everyday case).
Delete a daily workout — remove one or more workout instances from a client's calendar in a single batched call.
Write actions are opt-in per API key, and all writes are logged with a full audit trail. Cross-tenant safety: every workout/plan/calendar write requires a client_id and verifies the resource belongs to that client before forwarding to Trainerize.
How to Set It Up
Step 1: Create an API Key in FitMetrics
Click Create API Key
Give it a name (e.g., "Claude", "ChatGPT")
Optional: Assign the key to a specific coach — the key will only return and act on clients assigned to that coach
Optional: Toggle "Restrict to specific tools" to limit which tools the AI can use (e.g., read-only, or no messaging)
Click Create
IMPORTANT: Copy the API key immediately — it starts with
fm_and is only shown once. It cannot be retrieved later.
Your MCP Server URL will be:
https://api.fitmetrics.ai/functions/v1/business-mcp?api_key=YOUR_API_KEY
Replace YOUR_API_KEY with the fm_ key you just copied.
Step 2: Connect Your AI Tool
Choose your AI tool below and follow the instructions. We recommend Claude for the simplest setup and most reliable experience.
Connect with Claude (Recommended)
Open Claude Desktop
Click your profile icon (bottom-left corner)
Click Settings → Connectors
Click Add custom connector
Fill in:
Name: FitMetrics
Click Save — that's it!
How to Use It in Claude
Open a new chat
Click the + button in the message composer
Click Connectors
Make sure FitMetrics is enabled (toggle ON)
Now you can ask questions like: "Show me all my clients" or "Send John a reminder to log his meals"
Connect with ChatGPT
ChatGPT also supports MCP, but the setup is more involved. If you run into problems, try Claude instead.
Open ChatGPT (web app at chatgpt.com)
Click your profile icon → Settings → Apps → Advanced settings
Enable Developer mode
Click Create app, fill in:
Name: FitMetrics
Authentication: No auth
Click Create
Connect with OpenClaw, Cursor, VS Code, Codex, and Others
For tools that use a JSON MCP configuration file, add this:
{ "mcpServers": { "fitmetrics": { "url": "https://api.fitmetrics.ai/functions/v1/business-mcp", "headers": { "Authorization": "Bearer YOUR_API_KEY" } } } }What Can You Ask Your AI Tool?
Questions (read tools)
"Show me all clients who haven't logged nutrition this week"
"Which clients have their program expiring this month?"
"Which of my clients are waiting for a reply?"
"What's John's compliance for the last 12 weeks?"
"Summarize the last 5 messages with Sarah"
"What are the action items from my last Zoom call with Mike?"
"What did Sarah eat for dinner last night, and was it within her macros?"
"Which clients ate after 22:00 this week?"
Actions (write tools)
"Send Sarah a message: 'Great job on your workouts this week! Keep it up.'"
"Schedule a check-in message to Mike for Monday at 9am"
"Create a new check-in template called 'Weekly Nutrition Review' that uses calorie data"
"Assign the 'Motivational Coach' template to John every Tuesday at 10am"
"Enable the daily Trainerize sync automation at 6am UTC"
"Xenios was 400 calories over target every day this week — drop his calories to 1800 with 200g protein"
"Set Sarah to 2000 calories, 180g protein, 200g carbs, 60g fat for her training days"
"Review Sarah's last 2 weeks of nutrition and workouts, then save a pinned note summarising what's working and what to change"
"Write a note on John's profile: 'Reported knee discomfort — swap squats for lunges this week'"
"Put Sarah on a 4-week cut: 1800 calories with 200g protein starting Monday, then bump to 2400 calories for a refeed week 4 weeks later."
"List all pending macro changes for Mike and cancel the ones scheduled for next month."
"Move Sarah to the Onboarded stage and flag her for follow-up next week."
"Create a high-priority task: 'Call John about his program renewal', due next Friday, assigned to me."
"Mark all my tasks from last week that relate to Kate as completed."
"Assign the 'Eat vegetables at every meal' habit to Sarah for 4 weeks, Monday through Friday."
"Show me Mike's current habits and remove the ones he's already hit a 30-day streak on."
"Set Sarah's weekly macros: training days (Mon/Wed/Fri) 2500 cal 220g protein 280g carbs 60g fat; rest days (Tue/Thu/Sat/Sun) 2000 cal 220g protein 160g carbs 70g fat."
"Summarize the unreviewed AI form submissions from this week, respond to each with a draft message, and mark them reviewed."
"Build Sarah a 4-week upper/lower hypertrophy plan starting Monday: 4 workouts a week, supersets where useful."
"Look at Mike's current program and swap his barbell back squats for hack squats across every workout."
"Move John's Tuesday workout to Wednesday for the rest of this phase."
"Duplicate Phase 1 of Kate's program as 'Phase 2' and bump every main lift's sets from 3 to 4."
The AI tool executes these actions against your real data in real time.
All 103 Available Tools
Category | Tools |
Clients (5) | List clients, get client details (incl. assigned coach), get notes, list stages, get documents |
Tracking (10) | Compliance, daily nutrition totals, itemized meals + foods (per-meal timing, per-food kcal/macros), workouts, body measurements, nutrition comments, nutrition goals history, progress photos, accomplishments, habits |
Health (3) | WHOOP, Oura Ring, blood test results |
Communication (5) | Messages, check-in history, scheduled messages, scheduled macro changes, check-in templates |
Forms (5) | List forms, get full form (pages + elements), list element-type catalog, list submissions, get submission details |
Calls (4) | List Fathom calls, get Fathom call, list Zoom calls, get Zoom call |
Business (6) | Payments, tasks, team activity, automations, automation history, AI prompt templates |
Programs & Workouts (8) | List client programs, list training plans, get plan details, list workouts in plan, get full workout, get client calendar, get daily workout, list workout templates |
Exercise Library (3) | List exercises (with filters), search exercises by name, get full exercise details |
Write actions (39) | Send message, schedule message, cancel scheduled message, set automation, toggle automation, set AI check-in template, set client AI check-in, disable client AI check-in, create client note, set client daily macros, set client weekly macros, schedule macro change, cancel scheduled macro change, move client to stage, update client followup, create task, update task status, assign habit to client, remove habit from client, mark submission reviewed, create form, update form, publish form, unpublish form, delete form, create workout, update workout, copy workout, delete workout, create training plan, update training plan, delete training plan, copy training plan, assign program to client, schedule workout, move scheduled workout, unschedule workout, update daily workout, delete daily workout |
Managing API Keys
Create multiple keys — one per tool or team member for tracking
Assign to a coach — scope a key to only return and act on clients assigned to a specific coach. Coach-scoped keys cannot modify business-wide settings (automations, templates).
Restrict tools — limit which tools each key can access. You can grant read-only access (no write actions) or pick specific tools per key.
Daily message limit — each key has a configurable per-day cap on
send_messageandschedule_messagecalls (default 50). Prevents runaway automation spam.Revoke anytime — click revoke to immediately disable a key. Any tool using that key loses access instantly.
Usage tracking — see when each key was last used and how many requests it has made
Security
Opt-in write access — write actions are only enabled if you explicitly grant them on an API key. A new key can be restricted to read-only.
Full audit trail — every write action is logged synchronously with the payload, API key, and affected entity.
Idempotency for messages —
send_messagesupports an optional idempotency key. If the AI tool retries on timeout, the same key returns the cached result instead of sending a duplicate message. Retries do not count against your daily limit.Coach scope enforced on every call — coach-scoped keys are blocked from messaging or assigning check-ins to clients not assigned to that coach, and cannot modify business-wide automations or templates.
Daily message cap — per-key daily cap on messaging prevents an AI loop from sending hundreds of messages.
Message length cap — messages over 4000 characters are rejected with a clear error (no silent truncation).
Offline/basic clients protected — MCP cannot send messages to clients who are not active in FitMetrics.
API keys hashed — we only ever store a SHA-256 hash of the key, never the raw value.
Business scoping — every query is scoped to your business. No cross-business access is possible.
Client exclusion rules — excluded coaches, clients, and tags are filtered out of reads and blocked from write actions.
FAQ
Q: Which plan do I need?
MCP is available exclusively on the Business package.
Q: Which AI tool should I use?
We recommend Claude — it's the easiest to set up and works the most reliably with FitMetrics MCP.
Q: Can the AI tool actually modify my data?
Yes, through the 56 write actions (messaging, scheduling, automations, AI check-in templates, client AI check-in schedules, daily + weekly macros, scheduled macro changes, coach notes, pipeline stages, follow-up flags, tasks, Trainerize habits, AI form review status, AI Form building (create/update/publish/unpublish/delete), plus the full workout/program/calendar editing toolkit — create / update / copy / delete workouts, training plans, calendar items) — if you grant them on the API key. Write access is opt-in, logged in full audit trails, capped by a daily message limit, and can be scoped to a single coach. You can also create a key with read-only access (no write tools) for pure analysis use cases.
Q: What if the AI sends a duplicate message by mistake?
The send_message tool accepts an optional idempotency key. If the AI retries with the same key, it returns the previously-cached result instead of sending a duplicate.
Q: Can I give each coach their own API key?
Yes! When creating a key, use the "Assign to Coach" dropdown to scope it to a specific coach. That key will only return and act on clients assigned to that coach, and cannot modify business-wide settings.
Q: I clicked the MCP URL in my browser and it says "Method Not Allowed". Is it broken?
No, it's working correctly. The MCP URL is not a webpage — it's a server endpoint designed to be used by AI tools, not a browser. Follow the setup steps above to connect it through your AI tool.
Q: I lost my API key. Can I recover it?
No. API keys are only shown once when created. If you lose it, revoke the old key and create a new one.
Q: Is there a request limit?
Read tools have no hard rate limit, but usage is tracked. Messaging has a configurable daily cap (default 50 per API key per day) to prevent spam loops.
Q: Can I use multiple AI tools at the same time?
Yes. Create a separate API key for each tool. This makes it easy to track usage and revoke access independently.
