1. Which route fits your assistant
There are three ways in. Which one applies depends on what your assistant actually is.
| Your assistant | Connects via |
|---|---|
| Grok Bot, Claude, Cursor, or anything else that connects to remote MCP servers | https://api.fitfo.app/mcp |
| Instinct, ChatGPT Work's cloud browser, or Claude in Chrome | The web surface at fitfo.app/agent |
| Anything else that can make an HTTP request | https://api.fitfo.app/v1/agent |
| Muse | Not yet, see below |
Meta has not published a connector spec for Muse, so there is nothing yet to build against. Everything Muse's own custom-connector option would need, a documented REST API with standard OAuth, already exists. What is missing is on Meta's side, not FitFo's.
2. Connecting a browser assistant
For Instinct, ChatGPT Work's cloud browser, and Claude in Chrome: assistants that operate a browser rather than calling an API directly.
- In the FitFo app, go to Settings, then Connected apps, then Connect an assistant, and pick yours.
- You get a pairing code: 8 characters, single-use, good for 10 minutes.
- The app writes the whole message for you with your code already in it. Copy it and send it to your assistant. It looks like this:
Go to fitfo.app/agent and sign in with the pairing code XXXX-XXXX. That's my workout app, and the page is plain HTML built for you, so read it as-is.
Start at fitfo.app/agent, which lists every page and what it does, and read fitfo.app/agent/actions.json if you want the machine-readable version. From now on, when I tell you what I lifted or what I ate, log it there. To log a workout, go to /agent/log, type it out one exercise per line like "Bench press 3x5 @185", check the preview page resolved the exercises correctly, then confirm.
Before you log anything, show me what you're about to write. After you log it, tell me exactly what the confirmation page said. It reports whether it extended my streak or posted to the feed, and I want to know.
You can read my training, log workouts and food, and plan sessions. You can't message anyone, post publicly unless I explicitly allowed it, spend money, change my account, or see anything from my WHOOP, Garmin, or Apple Health. FitFo doesn't pass wearable data to connected apps.- Your assistant signs in at
fitfo.app/agentusing the code, and starts from there.
The code is single-use and worth nothing once it has been redeemed, which is also why it expires after 10 minutes unused. Your FitFo password never reaches the assistant at any point. That is the reason this uses a code instead of a login form.
3. Connecting over MCP
For assistants that support remote MCP servers, including Grok Bot, Claude, and Cursor. Add this as a server:
https://api.fitfo.app/mcpThe connection uses OAuth. Your assistant sends you to fitfo.app/connect to sign in and choose exactly what it is allowed to do. Nothing is granted until you approve it there. A prompt to start with:
Connect to my FitFo account through the FitFo MCP server. When I tell you about a workout I did, log it there. Resolve the exercise names against FitFo's catalog first so they match what's already in my history, and use the weights and reps exactly as I say them. Before I train, check my recovery map and my last session for that lift so you can tell me what I did last time.
Two things to remember. Logging a workout isn't silent. It counts toward my streak and points and can post to the community feed, so tell me when that happens. And don't invent sets. If I'm vague, ask.
You can read my training, log workouts and food, and plan sessions. You can't message anyone, post publicly unless I explicitly allowed it, spend money, change my account, or see anything from my WHOOP, Garmin, or Apple Health. FitFo doesn't pass wearable data to connected apps.However you connect it, logging a workout or a meal through an assistant is exactly like logging it yourself: it counts toward your streak and points, and can post to the community feed the same way.
4. For developers
Machine-readable entry points, if you are building against this instead of pasting a prompt:
- /.well-known/agent.json: how an assistant connects to FitFo, in a format a program can read directly.
- /.well-known/mcp.json: the MCP server endpoint and its OAuth metadata.
- /agent/actions.json: every action on the web surface, its URL, method, fields, and what it costs.
- https://api.fitfo.app/.well-known/oauth-protected-resource: OAuth protected-resource metadata, what this API is and which scopes it supports.
- https://api.fitfo.app/.well-known/oauth-authorization-server: the authorize, token, register, and revoke endpoints.
The REST base is https://api.fitfo.app/v1/agent, a versioned API for anything that can make an HTTP request but does not speak MCP.
5. What an assistant can never do
These are not settings to turn off. There is no page and no endpoint for any of the following, on any surface, so an assistant cannot do them:
- Send a direct message, a community chat message, or anything that reaches another person.
- Anything involving money: subscriptions, coaching purchases, payment methods, coach payouts.
- Change the account itself: email, phone, password, username, sign-in methods, or deleting it.
- Act on another member's data, including sending or accepting friend requests, or joining or leaving a coaching relationship.
- Read direct messages or private coaching conversations.
- Read anything synced from WHOOP, Garmin, or Apple Health. Those vendors' terms do not let us pass their data to a third party, even with your consent.
6. Who can connect
Any FitFo account with an active subscription or an active coaching plan can connect an assistant, including access granted through a coach, not only a self-serve subscription. If access lapses, the connection pauses on its next use and picks back up automatically once access is restored. Nothing is deleted.
Questions? Email support@fitfo.app.
