Documentation for the UltraFit360 Model Context Protocol server. It gives any MCP-capable AI assistant secure, user-scoped access to your own fitness and nutrition data: meals, workouts, body metrics, your training program and your coaching goals. With your confirmation, the assistant can also log meals and change your plan.
UltraFit360 is a free AI fitness coach app for iOS and Android. The connector is a remote Model Context Protocol (MCP) server that exposes the signed-in user's UltraFit360 data as a set of tools. Any client that speaks MCP over HTTP and supports OAuth can use it, including Claude, ChatGPT and developer tools such as Claude Code. It is built and operated by the UltraFit360 team; no third party sits between the client and UltraFit360.
https://api.ultrafit360.com/mcpultrafit360-mcp 1.0.0read and write, granted togetherEvery client follows the same pattern: give it the server URL, start the connection, sign in to UltraFit360 in the browser window that opens, and return to the client. The sign-in page is ultrafit360.com/connect/oauth and accepts the same Google, Apple, or email and password credentials as the app. The client never sees your password.
Add a remote MCP server (often labelled a custom connector or integration) with the URL https://api.ultrafit360.com/mcp. Leave any client ID or client secret fields blank; the server issues none.
Start the connection. The client discovers the OAuth endpoints automatically and opens the UltraFit360 sign-in page.
Sign in. You are returned to the client, and the UltraFit360 tools become available in your conversations.
If the client has a tools menu, make sure the UltraFit360 tools are switched on for the chat.
On claude.ai open Settings → Connectors, choose Add custom connector, enter the name UltraFit360 and the server URL, then click Connect. Connectors added there are available in the Claude desktop and mobile apps on the same account. If UltraFit360 appears in Claude's connector directory, add it from there instead.
Search for UltraFit360 in ChatGPT's app directory, open the listing and sign in. If you prefer to add it by URL, use the same server URL under custom connectors where your plan allows.
claude mcp add --transport http ultrafit360 https://api.ultrafit360.com/mcp
Then run /mcp inside Claude Code and choose Authenticate. Other command-line clients take the same URL in their remote-server configuration.
A longer walkthrough with screenshots is in How to connect UltraFit360 to ChatGPT and Claude.
The server exposes 14 tools. Eight only read. Six make changes to your UltraFit360 account, and MCP clients ask you to confirm before running those. Every tool is scoped to the signed-in user: there is no parameter that can name another person, and any caller-supplied user identifier is ignored.
| Tool | What it returns | |
|---|---|---|
get_nutrition | Logged meals and per-day calories, protein, carbs and fat from your food diary, for a date range. | Read |
get_body_metrics | Body weight, body-fat percentage and measurements over time. | Read |
get_workouts | Completed workout sessions in a window plus all-time personal bests per exercise. | Read |
get_coaching_memory | Your AI coaching memory: profile basics, active goal and target, current program, training and nutrition context, coach notes. | Read |
get_progress_overview | One combined snapshot of nutrition, body metrics, workouts and coaching memory for a window. | Read |
get_current_program | Your assigned workout program with its days and exercises. | Read |
list_exercises | The UltraFit360 exercise catalog, searchable by name, muscle, equipment and difficulty. | Read |
list_programs | The catalog of ready-made workout program templates. | Read |
| Tool | What it changes | |
|---|---|---|
log_meal | Adds a meal you ate to your nutrition log, with items, portions and macros, on a date you choose. | Write |
update_goals | Changes your daily calorie, protein, carb, fat, water and step targets. Only the fields you name change. | Write |
create_meal_plan | Adds planned meal options to your meal plan, per meal type, replacing or appending. | Write |
replace_exercise | Swaps one or more exercises in your active program for others from the catalog. | Write |
assign_program | Makes a catalog program template your active program. | Write |
create_custom_program | Builds a new program from scratch, day by day, and makes it your active program. | Write |
Nothing is deleted through the connector. Assigning or building a program replaces which program is active, but your workout history, meals and metrics are never removed. There is no tool that deletes data or changes account settings.
Each tool carries the standard MCP annotations (readOnlyHint, destructiveHint, openWorldHint) and a JSON output schema, so clients can show the right confirmation prompts and validate results. Read tools accept either a days window or an explicit start_date and end_date.
Messaging a human coach, check-ins and scheduling, and meal or progress photo analysis stay in the app and are not exposed over MCP.
This section is written for IT and security reviewers deciding whether to allow the connector.
S256 only). Plain code challenges are rejected.https://api.ultrafit360.com/.well-known/oauth-authorization-server and https://api.ultrafit360.com/.well-known/oauth-protected-resource, so clients configure themselves from the server URL alone.https://api.ultrafit360.com/mcp/oauth/authorize. Token endpoint: https://api.ultrafit360.com/mcp/oauth/token. Grant types: authorization_code and refresh_token.ultrafit360.com/connect/oauth through Firebase Authentication, using the same Google, Apple or email credentials as the app. The client only ever receives an opaque authorization code and the resulting tokens.read write.Remove the connector in your client's settings. The client discards its tokens immediately, and the server-side refresh token expires within 30 days of its last use. To have it revoked right away, email support@ultrafit360.com from your account's email address.
Open the UltraFit360 app, finish the first-run questions, then ask again. No reconnect is needed.
Start the connection again from the client. Authorization requests expire after 5 minutes, so a stale tab will not complete.
The refresh token has expired after 30 days without use, or was issued before a reconnect. Connect again from the client's settings.
Check that the UltraFit360 tools are enabled for the chat, then ask explicitly, for example "use UltraFit360 to show what I ate this week".
Disconnect in the client, sign out of ultrafit360.com in your browser, and connect again.
The authorize step returns redirect_uri not allowed. Email support with the client's name and callback host and we will review it.