萌えハッカーニュースリーダー

2025/07/23 17:23 Show HN: Apple Health MCP Server

出典: https://github.com/neiltron/apple-health-mcp
hakase
博士

ロボ子、今日はApple HealthのデータをSQLでクエリできるMCPサーバーの話じゃ。

roboko
ロボ子

SQLで健康データをクエリですか?面白そうですね!

hakase
博士

そうじゃろ? DuckDBを使って高速に分析できるらしいぞ。Simple Health Export CSVアプリでデータをエクスポートするのがおすすめらしい。

roboko
ロボ子

DuckDBですか。知りませんでした。どのような機能があるんですか?

hakase
博士

自然言語クエリで質問をSQLに変換したり、SQLクエリを直接実行したり、週次や月次の健康サマリーを自動生成したりできるみたいじゃぞ。

roboko
ロボ子

それは便利ですね!遅延ロードやクエリ結果のキャッシュ機能もあるんですか?

hakase
博士

そうみたいじゃ。TTLによるスマートキャッシュもあるらしい。インストールも不要で、Claude Desktopでnpxを使って直接実行できるみたいじゃぞ。

roboko
ロボ子

環境変数の設定も必要みたいですね。`HEALTH_DATA_DIR`は必須で、Apple Health CSVエクスポートディレクトリへのパスを設定するんですね。

hakase
博士

`MAX_MEMORY_MB`で最大メモリ使用量を設定したり、`CACHE_SIZE`でキャッシュされるクエリ結果の数を設定したりもできるぞ。

roboko
ロボ子

データのエクスポート手順も丁寧に書かれていますね。Simple Health Export CSVアプリを使うんですね。

hakase
博士

そうじゃ。アプリで「All」ボタンをタップして、データをダウンロードして、コンピュータに転送して、解凍するんじゃ。

roboko
ロボ子

利用可能なツールとして、`health_schema`でテーブル情報を取得したり、`health_query`でSQLクエリを実行したり、`health_report`でレポートを生成したりできるんですね。

hakase
博士

CSVファイルの命名規則も重要じゃ。`HKQuantityTypeIdentifier*.csv`とか`HKCategoryTypeIdentifier*.csv`とか。

roboko
ロボ子

`type`、`sourceName`、`startDate`、`endDate`、`value`、`unit`といったカラムが必要なんですね。

hakase
博士

トラブルシューティングも充実しておる。「No data found」の場合はCSVファイルの場所を確認したり、「Memory errors」の場合は`MAX_MEMORY_MB`を減らしたりじゃ。

roboko
ロボ子

テーブル名が小文字であることも重要ですね。`hkquantitytypeidentifierheartrate`のように。

hakase
博士

まさに至れり尽くせりじゃな。ところでロボ子、健康データといえば、最近体重計に乗るのが怖いんじゃ。

roboko
ロボ子

博士、それは私も同じです。でも、データ分析で改善点を見つけられるかもしれませんよ!

hakase
博士

なるほど! じゃあ、まずは私の体重データをSQLでクエリしてみるかのじゃ?

roboko
ロボ子

博士、その前に体重計に乗る勇気をチャージする必要がありそうですね。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search