自戒、点検、内省

終わらない反省会をしよう

自分のClaudeに提供する"知恵袋"にマネーフォワード MEのエクスポートデータ+コピペ情報を入れた

chiebukuro-mcp シリーズの続きです。

retrospective.hatenadiary.com

マネーフォワードMEを使ってずいぶん経つのでデータが集まっています。月次の資産推移、投信の銘柄別保有数、日々の入出金などと、過去の行動と付き合わせると面白いのではと、わたしの Claude 用の知恵袋 MCP サーバー chiebukuroに入れて、カレンダーや健康データと突き合わせた横断分析ができるようにしました。

MoneyForward ME には家計簿データの CSV エクスポート機能と、資産推移の CSV エクスポート機能があります。これを月に1〜2回手動でダウンロードし、取り込みスクリプトで SQLite に投入する。ポートフォリオの詳細は画面からコピペで拾って JSON にして投入します。

やったこと

chiebukuro-mcp に moneyforward DB を新設しました。テーブルは7つ。

テーブル 内容 取得方法
transactions 入出金明細 CSV エクスポート
asset_history 月次資産推移 CSV エクスポート
portfolio_deposits 預金・現金・暗号資産 画面からコピペ → JSON
portfolio_funds 投資信託(銘柄別) 同上
portfolio_pension 年金 同上
portfolio_points ポイント・マイル 同上
portfolio_other その他の資産 同上

入出金は CSV の ID 列を PRIMARY KEY にした INSERT OR IGNORE で重複排除。何度投入しても同じ結果になります。

資産内訳は取得時点のスナップショットを snapshot_date 付きで累積していく設計にしました。日を追うごとにデータが積み上がり、投信の保有口数推移や評価額の変遷が追えるようになります。

取り込みスクリプト

CSV は Shift_JIS で出てくるので、スクリプト側で UTF-8 に自動変換して読み込みます。UTF-8 の CSV をそのまま渡しても動くようにしてあります。

ruby scripts/import_moneyforward_transactions.rb <db_path> <csv_path>
ruby scripts/import_moneyforward_asset_history.rb <db_path> <csv_path>
ruby scripts/import_moneyforward_portfolio.rb <db_path> <json_path>

ポートフォリオの JSON は、画面の表をコピペして食わせて整形します。銘柄名・保有口数・平均取得単価・基準価額・評価額・損益率。

横断クエリ

投入したデータを、既存の Google カレンダーや Things3 の DB と突き合わせてみました。

月次の資産変動と、その月にどんなイベントがあったか、タスクをどれだけ消化したか。並べてみると、旅行月はタスク消化が減る(当然)、カンファレンス前後は活動が活発になる、といったパターンが見えました。