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

Which AI apps can connect, and how
AI appHow it connectsStatus
Claude DesktopA small helper program on your computer (an MCP server)Works with the helper. The helper is not published yet.
Claude CodeThe same helper, added with one commandWorks with the helper. Not published yet.
ChatGPTA private custom GPT with an Action that reads Vital's APIWorks once the API is public at api.vitalmacro.com.
Claude on the web and in the phone appA custom connector to a hosted serverNot ready. It needs a hosted Vital connector and a sign-in method Claude accepts.
ChatGPT MCP appsOAuth sign-inNot 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

  1. Open Vital, then Settings, then Connect Claude or ChatGPT. Creating a token needs Premium; tokens you already made can always be viewed and revoked.
  2. 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.
  3. 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-server

Check it with claude mcp list, or /mcp inside Claude Code.

Step 2c: ChatGPT

  1. Create a custom GPT and keep it private. An API key in a GPT is shared with everyone who can use that GPT.
  2. Add an Action and import the schema from https://api.vitalmacro.com/openapi.json.
  3. 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.

API endpoints
EndpointNeedsReturns
GET /v1/todayreadToday's entries, totals, targets, what is left, water, weight, workouts
GET /v1/summary?days=7readPer-day totals and averages for up to 90 days
GET /v1/targetsreadCalorie, macro and water targets and where they came from
GET /v1/profilereadProfile basics
GET /v1/weight?days=90readWeigh-ins, latest and change
GET /v1/workouts?days=14readSessions and sets by day and exercise
GET /v1/tokenreadWhat this token is and what it may do
POST /v1/foodread and writeAdds a food entry
POST /v1/weightread and writeAdds 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.

Questions? The FAQ or support.