Skip to main content
Glama
kubulashvili

Mi Fitness MCP

by kubulashvili

Mi Fitness MCP

CI Release License

MCP server for Mi Fitness data.

This project provides a local SQLite-backed MCP server for Mi Fitness cloud data.

Current data coverage

Confirmed with the current cloud flow:

  • daily activity

    • steps

    • distance

    • active calories

  • heart rate

  • body measurements

    • weight

    • BMI

    • fat, water, bone, and muscle metrics

    • visceral fat

    • basal metabolism

Not yet confirmed with the current Xiaomi cloud endpoint:

  • sleep

  • workouts

Related MCP server: whoop-mcp

Install

python -m venv .venv
source .venv/bin/activate
pip install -e '.[dev]'

Setup

You need:

  • userId

  • passToken

Typical flow:

  1. Open https://account.xiaomi.com

  2. Sign in to your Xiaomi account

  3. Open browser DevTools

  4. Inspect cookies for account.xiaomi.com

  5. Copy userId and passToken

Configure the server:

mi-fitness-mcp setup --mode mi_fitness_cloud --user-id "<userId>" --pass-token "<passToken>" --region ru
mi-fitness-mcp doctor

For local endpoint exploration there is also a probe script:

python probe_mifitness.py --user-id "<userId>" --pass-token "<passToken>"

Use

mi-fitness-mcp sync --start-date 2025-04-01 --end-date 2025-05-31
mi-fitness-mcp serve

MCP client config

Example Claude Desktop config:

{
  "mcpServers": {
    "mi-fitness": {
      "command": "mi-fitness-mcp",
      "args": ["serve"]
    }
  }
}

Example prompts

  • Show my daily activity for the last 14 days

  • How has my resting heart rate changed this month?

  • Summarize my latest body measurements

  • Sync my latest Mi Fitness data

Commands

mi-fitness-mcp --help
mi-fitness-mcp setup --help
mi-fitness-mcp doctor
mi-fitness-mcp sync --help
mi-fitness-mcp serve

Development

pytest
python -m build

Troubleshooting

  • Connection: failed

    • verify userId and passToken

    • verify region, usually ru

  • Credentials not found

    • run setup again

  • sync returns no data

    • try another date range

    • verify that the data actually exists in Mi Fitness cloud

Security

  • passToken is stored via the system keyring

  • do not commit .env, local config files, or real credentials

  • rotate tokens if they were pasted into chats or shell history

Disclaimer

This is an unofficial project and is not affiliated with Xiaomi.

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kubulashvili/mi-fitness-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server