MCP quickstart

An MCP client that sends custom headers can use DailyGoal with two values: the MCP URL and your API token. The agent then calls get_context and works in your timezone and units.

The DailyGoal API is not available on the Free plan. It works with a paid plan or during a free trial. See plans.

1. Create an API token

Open your DailyGoal settings on the web, or Preferences in the app, and create an API token. DailyGoal shows it once, so copy it straight into your client or a password manager. Treat it like a password: anyone who has it can use your account through the API.

2. Add the MCP server

Point your client at https://api.dailygoal.fit/v1/mcp and send the token as Authorization: Bearer <your API token>. The server is stateless streamable HTTP and answers with JSON.

The configurations below follow each client's documented MCP setup. Each one is labelled with the date DailyGoal last ran an end-to-end connection test with it; a client marked "Not yet verified" has not passed that test.

Claude CodeNot yet verified

Export your token in the shell, then register the server over HTTP with an Authorization header.

bash
export DAILYGOAL_API_TOKEN="<your API token>"
claude mcp add --transport http dailygoal https://api.dailygoal.fit/v1/mcp \
  --header "Authorization: Bearer $DAILYGOAL_API_TOKEN"

CursorNot yet verified

Add the server to your global or project MCP configuration file, then reload Cursor.

~/.cursor/mcp.json
{
  "mcpServers": {
    "dailygoal": {
      "url": "https://api.dailygoal.fit/v1/mcp",
      "headers": {
        "Authorization": "Bearer <your API token>"
      }
    }
  }
}

3. Check the connection

Ask your agent "What day is it in DailyGoal?". It should call get_context and answer with your Activity Day and timezone. An unauthorized error means the token is missing or was regenerated; subscription_required means your paid access has ended. The error reference covers every code.