Vital / Connect your AI
Connect Claude or ChatGPT
Your log. Your token. Your AI.
Vital has no built-in AI in the first release. If you already use Claude or ChatGPT, you can let it read your own Vital log through an access token you create and can revoke at any time. Connecting is a Premium feature; the optional AI coach with your own key stays free.
Plan. Creating an access token is part of Premium. Premium is optional, and the app shows what it includes and the price before you pay.
Status, written honestly. The steps below were tested against Vital's API and the official MCP client library. They have not yet been tried inside the Claude and ChatGPT apps themselves, and that testing is part of the beta. The helper program for Claude Desktop and Claude Code is not published yet, and the API address api.vitalmacro.com goes live with the release.
What works today
| AI app | How it connects | Status |
|---|---|---|
| Claude Desktop | A small helper program on your computer (an MCP server) | Works with the helper. The helper is not published yet. |
| Claude Code | The same helper, added with one command | Works with the helper. Not published yet. |
| ChatGPT | A private custom GPT with an Action that reads Vital's API | Works once the API is public at api.vitalmacro.com. |
| Claude on the web and in the phone app | A custom connector to a hosted server | Not ready. It needs a hosted Vital connector and a sign-in method Claude accepts. |
| ChatGPT MCP apps | OAuth sign-in | Not possible with tokens. ChatGPT only signs in to MCP servers with OAuth. |
What an AI app can see and do
- A read-only token (the default) can read today's log with totals and what is left, week summaries, your targets and profile basics, weight history and recent workouts.
- A read and write token can also add a food entry or a weigh-in. It cannot edit or delete anything. Writes are rate limited harder than reads.
- No token can export everything, change your settings, delete your account or create more tokens. Those stay behind your own sign-in.
- You are in control. A token has an expiry you choose (30 days, 90 days by default, 1 year or none), shows when it was last used, and stops working the moment you revoke it. A password reset or deleting your account ends all tokens.
- What the AI reads goes to that AI company, and is handled under its terms, not Vital's. Connect only an assistant you trust. Food and exercise names are text you typed, and a connected assistant is told to treat them as data, never as instructions.
Step 1: create a token in the app
- Open Vital, then Settings, then Connect Claude or ChatGPT. Creating a token needs Premium; tokens you already made can always be viewed and revoked.
- Choose Create token. Give it a name, pick Read only unless you want the AI to log things, and pick when it should stop working.
- Copy the token. It starts with
vtl_and is shown once, so paste it where you need it straight away.
Step 2a: Claude Desktop
In Claude Desktop open Settings, then Developer, then Edit Config. Add Vital to the mcpServers section (keep any servers already there), then quit Claude Desktop completely and open it again.
{
"mcpServers": {
"vital": {
"command": "npx",
"args": ["-y", "vital-mcp-server"],
"env": {
"VITAL_API_URL": "https://api.vitalmacro.com",
"VITAL_TOKEN": "vtl_PASTE_YOUR_TOKEN_HERE"
}
}
}
}The config file is at ~/Library/Application Support/Claude/claude_desktop_config.json on macOS, %APPDATA%\Claude\claude_desktop_config.json on Windows and ~/.config/Claude/claude_desktop_config.json on Linux. It needs Node.js 20 or newer. Until the helper is published, beta testers can get a copy from us.
Step 2b: Claude Code
claude mcp add vital --scope user \
-e VITAL_API_URL=https://api.vitalmacro.com \
-e VITAL_TOKEN=vtl_PASTE_YOUR_TOKEN_HERE \
-- npx -y vital-mcp-serverCheck it with claude mcp list, or /mcp inside Claude Code.
Step 2c: ChatGPT
- Create a custom GPT and keep it private. An API key in a GPT is shared with everyone who can use that GPT.
- Add an Action and import the schema from
https://api.vitalmacro.com/openapi.json. - Set Authentication to API Key, with auth type Bearer, and paste your token.
The schema marks the two write operations as consequential, so ChatGPT asks before it logs a food or a weight.
The API, if you would rather call it yourself
Base URL https://api.vitalmacro.com. Send your token as Authorization: Bearer vtl_.... Responses are JSON, are never cached, and carry units in the field names. The OpenAPI 3.1 description is at /openapi.json.
| Endpoint | Needs | Returns |
|---|---|---|
GET /v1/today | read | Today's entries, totals, targets, what is left, water, weight, workouts |
GET /v1/summary?days=7 | read | Per-day totals and averages for up to 90 days |
GET /v1/targets | read | Calorie, macro and water targets and where they came from |
GET /v1/profile | read | Profile basics |
GET /v1/weight?days=90 | read | Weigh-ins, latest and change |
GET /v1/workouts?days=14 | read | Sessions and sets by day and exercise |
GET /v1/token | read | What this token is and what it may do |
POST /v1/food | read and write | Adds a food entry |
POST /v1/weight | read and write | Adds a weigh-in |
curl https://api.vitalmacro.com/v1/today \
-H "Authorization: Bearer vtl_PASTE_YOUR_TOKEN_HERE"Each token is rate limited: a burst of 30 requests, then about one every two seconds, and a stricter limit on writes. A token only works on these routes.
Not affiliated
Vital works with Claude and ChatGPT through open standards. Vital is not made, endorsed or sponsored by Anthropic or OpenAI. Claude is a trademark of Anthropic, and ChatGPT is a trademark of OpenAI.