mi-health-mcp
mi-health-mcp
プロジェクト概要
mi-health-mcp は、小米運動健康(Xiaomi Sports Health)の家族・友人のデータ(睡眠、心拍数、歩数)を、MCP プロトコルを通じて RikkaHub などの LLM クライアントに公開します。このサービスは Cloudflare Workers 上で動作し、自前サーバーは不要で、Cloudflare の無料枠内で利用できます。本プロジェクトは Misty02600/mi-fitness-python のインターフェース解析成果を基に、Cloudflare Worker + MCP サービスとして書き直したものです。原作者に感謝します。
Related MCP server: apple-health-shortcuts-mcp
ワンクリックデプロイ
デプロイ手順では Cloudflare KV のバインドが必要です。ボタンのフローで KV namespace の作成または選択を求められた場合は、案内に従って進め、バインド名が MI_HEALTH_KV であることを確認してください。
ボタンが機能しない場合の手動デプロイ
Node.js 20 以降と Cloudflare アカウントが必要です。
git clone https://github.com/wusaki0723/mi-health-mcp.git
cd mi-health-mcp
npm install
npx wrangler login
npx wrangler kv namespace create MI_HEALTH_KVコマンドの出力にある namespace ID を wrangler.toml の your-kv-namespace-id に置き換えます。次にアクセストークンを設定してデプロイします:
npx wrangler secret put AUTH_TOKEN
npx wrangler deployAUTH_TOKEN の値には、自分で生成した長いランダム文字列を使用してください。ソースコード、wrangler.toml、Git に書き込まないでください。
デプロイ後の設定
KV namespace を作成します:
npx wrangler kv namespace create MI_HEALTH_KVコマンドの出力にある namespace ID を
wrangler.tomlの[[kv_namespaces]]に記入し、your-kv-namespace-idを置き換えてから再デプロイします。ワンクリックデプロイを使用する場合は、ボタンのフローで案内に従って KV を作成・バインドすることもできます。MCP 認証トークンを対話形式で設定します。トークンは自分で長いランダム文字列を生成してください:
npx wrangler secret put AUTH_TOKEN設定に変更があった場合は再デプロイします:
npx wrangler deploy
KV バインディング名は MI_HEALTH_KV のままにしてください。
クライアント設定
RikkaHub で「設定 > MCP > 新規接続 > Streamable HTTP」を開き、以下を入力します:
URL:
https://<あなたのドメイン>/mcpカスタムヘッダー:
Authorization: Bearer <あなたのトークン>
<あなたのトークン> はデプロイ時に設定した AUTH_TOKEN と完全に一致している必要があります。
利用フロー
クライアントはまず
health_login_startを呼び出し、loginUrlを取得します。任意の QR コードツールを使用して
loginUrlを QR コードとして表示します。小米運動健康アプリで QR コードをスキャンし、ログインを確認します。
クライアントは
health_login_pollをポーリングし、successが返るまで待ちます。ログイン成功後、
health_latest、health_sleep、health_heart、またはhealth_stepsを使用してデータを照会します。
Worker は QR コード画像を生成しません。照会時には家族・友人のリストを動的に読み取り、最初の項目を使用します。コード内にユーザー ID をハードコードすることはありません。
利用上の注意
ご自身の小米アカウントにログインし、承認済みの家族・友人のデータを照会する目的にのみ使用してください。他人のプライバシーを侵害したり、小米の利用規約に違反する用途には使用しないでください。
ライセンス
本プロジェクトは GNU General Public License v3.0(GPL-3.0)を採用しており、上流の Misty02600/mi-fitness-python のライセンスと一致しています。
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Private Apple Health metrics and workout detail for ChatGPT, Claude, and any MCP client.
MCP server for Withings health data — sleep, activity, heart, and body metrics.
Cloudflare Workers MCP server: ai-model-router
Multi-tenant hosted MCP server for Oura Ring — 21 read-only tools, OAuth per user.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceA personal MCP server on Cloudflare Workers that connects Claude to Google Health API v4, enabling reading of health data like activity, sleep, heart rate, SpO₂, HRV, and nutrition.MIT
- AlicenseNot gradedqualityCmaintenanceExposes read-only Apple Health data (current status, sleep details, trends) to AI via a Cloudflare-deployed MCP server and iPhone Shortcuts.MIT
- AlicenseNot gradedqualityCmaintenanceA Cloudflare Workers MCP server that allows AI to read-only access Apple Health data (current status, sleep details, trends) via shortcuts without modifying or deleting data.MIT
- AlicenseNot gradedqualityCmaintenanceSelf-hosted MCP server that syncs Xiaomi fitness data to SQLite and provides authenticated tools to query health metrics (steps, sleep, HR, etc.) for AI assistants like Grok.GPL 3.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/yunz75583-debug/mi-health-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server