# google-health-fitbit-mcp

This local MCP server lets an AI agent read Google Health data through OAuth. Use it to query Fitbit, Pixel Watch, sleep and activity records.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 19
- Author: BerkKilicoglu
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/BerkKilicoglu/google-health-fitbit-mcp
- Updated: 2026-08-04
- HTML: https://affpapa.org/en/nevibecode/mcp/google-health-fitbit-mcp

## What it does

The server connects an agent to the Google Health API and exposes data from Fitbit, Pixel Watch and supported partner sources. OAuth tokens stay on your machine and are stored with `0600` permissions. Its shipped data tools are read-only; write access is not enabled.

You’ll need a Desktop-type Google Cloud OAuth client with the Google Health API enabled. The project is in beta because the API is still changing, so check authorization and available data before relying on it in production. When Google’s consent screen is in Testing status, refresh tokens are revoked after 7 days and you’ll need to authorize again.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `GOOGLE_HEALTH_CLIENT_ID`, `GOOGLE_HEALTH_CLIENT_SECRET`, `GOOGLE_HEALTH_REDIRECT_URI`, `GOOGLE_HEALTH_TOKEN_PATH`, `GOOGLE_HEALTH_PRIVACY_MODE`, `GOOGLE_HEALTH_CACHE`, `GOOGLE_HEALTH_CACHE_PATH`, `GOOGLE_HEALTH_NO_CACHE` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env GOOGLE_HEALTH_CLIENT_ID=<GOOGLE_HEALTH_CLIENT_ID> --env GOOGLE_HEALTH_CLIENT_SECRET=<GOOGLE_HEALTH_CLIENT_SECRET> --env GOOGLE_HEALTH_REDIRECT_URI=<GOOGLE_HEALTH_REDIRECT_URI> --env GOOGLE_HEALTH_TOKEN_PATH=<GOOGLE_HEALTH_TOKEN_PATH> --env GOOGLE_HEALTH_PRIVACY_MODE=<GOOGLE_HEALTH_PRIVACY_MODE> --transport stdio google-health-fitbit-mcp -- npx -y google-health-fitbit-mcp
```
Replace <…> with your own values. 3 more environment variables are in the server README

### Codex

**Platform CLI**
```bash
codex mcp add google-health-fitbit-mcp --env GOOGLE_HEALTH_CLIENT_ID=<GOOGLE_HEALTH_CLIENT_ID> --env GOOGLE_HEALTH_CLIENT_SECRET=<GOOGLE_HEALTH_CLIENT_SECRET> --env GOOGLE_HEALTH_REDIRECT_URI=<GOOGLE_HEALTH_REDIRECT_URI> --env GOOGLE_HEALTH_TOKEN_PATH=<GOOGLE_HEALTH_TOKEN_PATH> --env GOOGLE_HEALTH_PRIVACY_MODE=<GOOGLE_HEALTH_PRIVACY_MODE> -- npx -y google-health-fitbit-mcp
```
Replace <…> with your own values. 3 more environment variables are in the server README

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "google-health-fitbit-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "google-health-fitbit-mcp"
            ],
            "env": {
                "GOOGLE_HEALTH_CLIENT_ID": "<GOOGLE_HEALTH_CLIENT_ID>",
                "GOOGLE_HEALTH_CLIENT_SECRET": "<GOOGLE_HEALTH_CLIENT_SECRET>",
                "GOOGLE_HEALTH_REDIRECT_URI": "<GOOGLE_HEALTH_REDIRECT_URI>",
                "GOOGLE_HEALTH_TOKEN_PATH": "<GOOGLE_HEALTH_TOKEN_PATH>",
                "GOOGLE_HEALTH_PRIVACY_MODE": "<GOOGLE_HEALTH_PRIVACY_MODE>"
            }
        }
    }
}
```
Replace <…> with your own values. 3 more environment variables are in the server README

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "google-health-fitbit-mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "google-health-fitbit-mcp"
            ],
            "env": {
                "GOOGLE_HEALTH_CLIENT_ID": "<GOOGLE_HEALTH_CLIENT_ID>",
                "GOOGLE_HEALTH_CLIENT_SECRET": "<GOOGLE_HEALTH_CLIENT_SECRET>",
                "GOOGLE_HEALTH_REDIRECT_URI": "<GOOGLE_HEALTH_REDIRECT_URI>",
                "GOOGLE_HEALTH_TOKEN_PATH": "<GOOGLE_HEALTH_TOKEN_PATH>",
                "GOOGLE_HEALTH_PRIVACY_MODE": "<GOOGLE_HEALTH_PRIVACY_MODE>"
            }
        }
    }
}
```
Replace <…> with your own values. 3 more environment variables are in the server README

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e GOOGLE_HEALTH_CLIENT_ID=<GOOGLE_HEALTH_CLIENT_ID> -e GOOGLE_HEALTH_CLIENT_SECRET=<GOOGLE_HEALTH_CLIENT_SECRET> -e GOOGLE_HEALTH_REDIRECT_URI=<GOOGLE_HEALTH_REDIRECT_URI> -e GOOGLE_HEALTH_TOKEN_PATH=<GOOGLE_HEALTH_TOKEN_PATH> -e GOOGLE_HEALTH_PRIVACY_MODE=<GOOGLE_HEALTH_PRIVACY_MODE> google-health-fitbit-mcp npx -y google-health-fitbit-mcp
```
Replace <…> with your own values. 3 more environment variables are in the server README

## When to use it
- read Fitbit data through an AI agent
- query sleep and activity records
- check whether Google Health is connected
- access data from Pixel Watch and partner sources

## Example prompts
- Check whether my Google Health account is connected and report the result.
- Summarize the sleep data available from my Google Health account.
- Query activity data from Fitbit and Pixel Watch.

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [World Monitor](https://affpapa.org/en/nevibecode/mcp/world-monitor.md) — MCP server · ★ 89408
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [Front-End Checklist](https://affpapa.org/en/nevibecode/mcp/front-end-checklist.md) — MCP server · ★ 74559
- [Scrapling MCP Server](https://affpapa.org/en/nevibecode/mcp/scrapling-mcp-server.md) — MCP server · ★ 89433

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
