サーバーに接続
ローカルネットワーク上のAIクライアントやスクリプト用に、Health Auto ExportのMCPサーバーに接続します。
Last updated: July 14, 2026
このページの内容
- 概要
- 前提条件
- サーバーの起動
- 認証(HTTP)
- HTTPS (TLS)
- HTTPSを有効にする
- クライアントでCAを信頼する
- iOSのLAN IPが変わった場合
- HTTPSエンドポイントの例
- コントラクトバージョン
- クライアント設定
- Claude Code(CLI)
- Claude Code / プロジェクトファイル(<code>.mcp.json</code>)
- Cursor(<code>~/.cursor/mcp.json</code>)
- VS Code(<code>.vscode/mcp.json</code>)
- Codex CLI(<code>~/.codex/config.toml</code>)
- mcp-remote(iOS / LAN)
- ツール引数
- 日付形式
- TCP
- ヒント
- チャットサポート
サーバー接続ガイド
iOS版のMCPサーバーを使うと、ローカルネットワーク上のAIクライアントやスクリプトからヘルスデータを照会できます。HTTP(Streamable MCP)が推奨されるトランスポートです。 iOSはNodeブリッジ構成向けにTCPもサポートしています。
クライアントはMacや同じネットワーク上の他のデバイスで実行され、iPhoneに表示されるエンドポイントに接続します。
概要
| トランスポート | エンドポイント |
|---|---|
| HTTP(推奨) | http://{LAN_IP}:9000/mcp(HTTPSを有効にしている場合はhttps://) |
| TCP | {LAN_IP}:9000(認証なし) |
{LAN_IP}は、サーバー実行中にサーバー画面に表示されるアドレスに置き換えてください。
使用例:
- Mac上のClaude Code、Codex、Cursor、VS CodeをiPhone上のヘルスデータに接続する
- Claude Desktopのようなstdioのみのクライアントには**mcp-remote(iOS / LAN)**を使用する
- ローカルネットワーク上のスクリプトからメトリクスやワークアウトを照会する(HTTP)
- health-auto-export-mcp-serverのNodeブリッジ経由のTCP統合
前提条件
- iPhoneでHealth Auto Exportが実行されていること(クライアント接続中はアプリをフォアグラウンドに保つ必要があります)
- プレミアムサブスクリプション
- HTTP: サーバー画面のベアラートークン
- iPhoneのローカルネットワーク権限
- クライアントデバイス: iPhoneと同じWi-FiまたはLAN上にあること。**mcp-remote(iOS / LAN)**を使用する場合のみNode.jsが必要
サーバーの起動
- iPhoneで、サイドバーナビゲーションからサーバーを開く
- HTTP(推奨)またはTCPを選択する
- 必要に応じてHTTPSを使用を有効にする(以下の手順を参照)
- サーバーを開始をタップする
- エンドポイントURLとベアラートークンをコピーする
Health Auto Exportがバックグラウンドに移行すると、サーバーは自動的に停止します(HTTPとTCPの両方)。
認証(HTTP)
すべてのHTTPリクエストには以下が必要です:
Authorization: Bearer <your-token>
- 必要と判断した場合は、サーバー画面からトークンを再生成してください
- 通常のHTTPでは、トークンは暗号化されていない接続で送信されます。信頼できるネットワークでのみ使用するか、HTTPSを有効にしてください
- TCPレガシーには認証がありません(変更なし)
HTTPS (TLS)
HTTPSを使用を有効にすると、アプリはプライベートなローカル認証局(CA)と、そのCAによって署名されたサーバーのリーフ証明書を生成します。クライアントはhttps://で接続する前に、書き出したCAを信頼する必要があります。
HTTPSを有効にする
- サイドバーナビゲーションからサーバー画面を開く
- HTTPSを使用をオンにする
- CA証明書を書き出すをタップし、共有シートを使って各クライアントデバイスにAirDropまたは保存する
- サーバーを開始する — エンドポイントURLが
https://に切り替わることを確認する
クライアントでCAを信頼する
書き出したCAをAIクライアントを実行しているデバイス(通常はMac)で信頼します:
- iPhoneのサーバー画面からCAを書き出す
- クライアントMacのキーチェーンアクセスでPEMファイルを開く
- 信頼 → 常に信頼を設定する
--use-system-caに必要なNodeの最小バージョン
Nodeブリッジ(mcp-remote)でNODE_OPTIONS=--use-system-caを使用できるのは、Nodeが以下の条件を満たす場合のみです:
| Nodeライン | 最小バージョン |
|---|---|
| 22.x | 22.19.0 |
| 23.x | 23.8.0 |
| 24.x | 24.6.0 |
| 25+ | 任意 |
これより古いNodeでは、代わりにNODE_EXTRA_CA_CERTSをブリッジプロセスが読み取れるPEMパスに設定してください。サポートされていないNodeで--use-system-caを指定すると、プロセスが起動できなくなります。
信頼範囲:
--use-system-caはこのアプリのCAだけでなく、システムのキーチェーン全体を信頼します。NODE_EXTRA_CA_CERTSは信頼を単一のPEMファイルに限定します(古いNodeでのフォールバック)。このフラグはmacOS/Windowsで文書化されています。
| クライアントタイプ | 設定 |
|---|---|
| Cursor、VS Code、Claude Code、Codex | クライアントMacでキーチェーン信頼を設定 — サーバー画面のhttps://エンドポイントを使用 |
| mcp-remote(iOS / LAN) | mcp-remoteを実行しているMacのキーチェーンでCAを信頼する。Nodeが最小バージョンを満たす場合、スニペットはNODE_OPTIONS=--use-system-caを使用します。古いNodeではNODE_EXTRA_CA_CERTSを読み取り可能なPEMパスに設定してください |
| curl / スクリプト | --cacert /path/to/mcp-ca.pemを指定するか、NODE_EXTRA_CA_CERTSを設定する |
CAのフィンガープリントはサーバー画面に表示されるため、正しい証明書を書き出したかどうかを確認できます。
iOSのLAN IPが変わった場合
iPhoneのLAN IPが変わると、アプリは更新されたSubject Alternative Namesでリーフ証明書を再生成し、HTTPSリスナーを再起動します。IPが変わった場合はエンドポイントURLを再コピーしてください。HTTPSをオフ/オンに切り替えてCAを再生成しない限り、CA証明書は変わりません。
HTTPSエンドポイントの例
https://192.168.1.42:9000/mcp
ホスト部分はサーバー画面に表示される値に置き換えてください。
コントラクトバージョン
| バージョン | TCPツール名 | 補足 |
|---|---|---|
| v1.1.0(既定) | get_* |
新規セットアップに推奨 |
| v1.0.0 | レガシー(health_metricsなど) |
Claude Desktop互換性更新 v1.0.0 |
| v0.0.1 | レガシー | 最も古い互換性 |
HTTPは常にget_*ツール名を使用します。コントラクトバージョンはスキーマの既定値にのみ影響します。
クライアント設定
サーバー画面には、各統合先向けのコピー&ペーストできるスニペットが用意されています。そこに表示されるエンドポイントとトークンを使用してください。お使いのクライアントのバージョンに合わせて形式を確認してください。
以下の例はすべてプレースホルダーのLANアドレスを使用しています。iPhoneのサーバー画面に表示されるアドレスに置き換えてください。
Claude Code(CLI)
Mac上で実行します(Claude Code CLIが必要です):
HTTP:
claude mcp add --transport http health-auto-export \
http://192.168.1.42:9000/mcp \
--header "Authorization: Bearer <token>"
HTTPS(Mac上でCAを書き出して信頼した後):
claude mcp add --transport http health-auto-export \
https://192.168.1.42:9000/mcp \
--header "Authorization: Bearer <token>"
Claude Code / プロジェクトファイル(.mcp.json)
{
"mcpServers": {
"health-auto-export": {
"type": "http",
"url": "http://192.168.1.42:9000/mcp",
"headers": {
"Authorization": "Bearer <token>"
}
}
}
}
Cursor(~/.cursor/mcp.json)
{
"mcpServers": {
"health-auto-export": {
"url": "http://192.168.1.42:9000/mcp",
"headers": {
"Authorization": "Bearer <token>"
}
}
}
}
VS Code(.vscode/mcp.json)
{
"servers": {
"health-auto-export": {
"type": "http",
"url": "http://192.168.1.42:9000/mcp",
"headers": {
"Authorization": "Bearer <token>"
}
}
}
}
Codex CLI(~/.codex/config.toml)
CodexはStreamable HTTPで直接接続するため、Nodeブリッジは不要です。設定は~/.codex/config.toml(グローバル)または信頼済みプロジェクトディレクトリ内の.codex/config.tomlに置きます。
CLI(推奨):
export HAE_MCP_TOKEN="<token>"
codex mcp add health-auto-export \
--url http://192.168.1.42:9000/mcp \
--bearer-token-env-var HAE_MCP_TOKEN
手動でのconfig.toml設定:
[mcp_servers.health-auto-export]
url = "http://192.168.1.42:9000/mcp"
bearer_token_env_var = "HAE_MCP_TOKEN"
enabled = true
Codexを起動する前に、ベアラートークンでHAE_MCP_TOKENを書き出してください。設定後、Codexセッション内で/mcpを実行してサーバーが接続されていることを確認します。
Health Auto Export側でベアラートークンを再生成した場合は、HAE_MCP_TOKENを更新してcodex mcp addを再実行するか、サーバーエントリを削除して再追加してください。
mcp-remote(iOS / LAN)
HTTPで直接接続できないstdioのみのクライアント(Claude Desktopなど)向けです。クライアントを実行しているMacにNode.jsが必要です。
- iPhoneでサーバーを起動し、エンドポイントとトークンをコピーする
- Macで、サーバー画面の**mcp-remote(iOS / LAN)**を選んでJSONスニペットをコピーするか、次の内容をクライアントのMCP設定に貼り付けます(Claude Desktop → 設定 → 開発者 → 設定を編集):
{
"command": "npx",
"args": [
"-y",
"mcp-remote@0.1.16",
"http://192.168.1.42:9000/mcp",
"--transport",
"http-only",
"--header",
"Authorization: Bearer <token>"
]
}
HTTPSが有効な場合:
- iPhoneからCAを書き出し、Mac上のキーチェーンアクセスで信頼する(常に信頼)
argsでhttps://192.168.1.42:9000/mcpを使用する- Nodeが
--use-system-caの最小バージョン(22.xなら22.19.0、23.xなら23.8.0、24.xなら24.6.0、25以上は任意のリリース)を満たしている場合、以下を追加します:
"env": {
"NODE_OPTIONS": "--use-system-ca"
}
古いNodeでは、代わりにNODE_EXTRA_CA_CERTSを読み取り可能なPEMパスに設定してください。設定を更新した後は、stdioクライアントを再起動してください。
起動時の待ち時間を減らす: npx -yは初回使用時にmcp-remoteをダウンロードし、キャッシュの期限が切れるたびに再確認するため、数秒単位の遅延が発生することがあります。グローバルに事前インストールしておくとこれを解消できます:
npm install -g mcp-remote@0.1.16
ツール引数
日付形式
startとendパラメータは2つの形式を受け付けます:
| 形式 | 例 | 補足 |
|---|---|---|
yyyy-MM-dd |
2026-06-13 |
開始日:0時0分0秒、終了日:23時59分59秒 |
yyyy-MM-dd HH:mm:ss Z |
2026-06-13 00:00:00 +0000 |
明示的な時刻とタイムゾーンオフセット |
TCP
- ポート9000での暗号化・認証なしのJSON-RPC
- レガシーツール名にはNodeの
health-auto-export-mcp-serverブリッジとコントラクトv1.0.0を使用する get_*のTCPツール名にはコントラクトv1.1.0を使用する(Nodeブリッジは別途更新が必要)
ヒント
- クライアント接続中はHealth Auto ExportをiPhoneでフォアグラウンドに保つ
- トークンが漏洩した可能性がある場合は再生成する
- iPhoneのLAN IPが変わった後はエンドポイントURLを再コピーする
チャットサポート
設定 → 詳細 → イベントログを書き出すから書き出したアプリのイベントログで診断情報を収集してください。アプリイベントログガイドを参照してください。生成されたzipファイルをチャットサポートまたはメールで共有してください。