本文へスキップ
開発日記読了 約2

AI 連携(MCP)を実装した話 — 写真を送るだけで記録が貯まる

AI 連携(MCP)を実装した話 — 写真を送るだけで記録が貯まる

Tsumu に AI 連携を実装しました。できるようになったのは、こういう体験です。

晩御飯の写真を Claude に送って「Tsumu に記録して」と言うだけで、料理名や推定カロリーの解析つきで「食」カテゴリに保存される。

アプリを開いて、カテゴリを選んで、入力して——という工程がまるごと消えます。「Tsumu は倉庫、AI は執事」という設計思想を、そのまま形にした機能です。

実装したもの

  • MCP サーバー(/api/mcp): MCP(Model Context Protocol)は、AI アシスタントに外部ツールを安全に渡すための共通規格です。Tsumu では記録の追加・検索など6つのツールを公開しました
  • 画像つき add_item: AI から受け取った画像を、アプリ本体と同じアップロードパイプライン(WebP 変換・容量クォータ)に流します。解析結果は属性として一緒に保存されます
  • REST API v1: MCP が使えないクライアント(iOS ショートカットや GPTs など)向けに、同じトークンで使える REST API も用意しました。ヘルスケアの睡眠・歩数を毎朝自動 POST する、といった自動記録の受け口になります

ガードレールを先に決めた

外から書き込める口を開けるので、制約を先に固定しました。

  • 認証はパーソナルトークン。read / write を分離し、サーバーにはハッシュのみ保存。マイページからいつでも即時失効できます
  • 「人間関係」カテゴリは AI・API から恒久遮断(そもそも見えない・書けない)
  • AI 経由の書き込みは追加のみ。既存データの書き換えや削除はできません
  • AI・自動記録には source マーカーが付き、アプリ上で「AI経由」バッジとして見分けられます。レート制限と監査ログも通常の API と共通です

接続手順(Claude の例)

  1. Tsumu のマイページ → 「トークン」で書き込み用パーソナルトークンを発行
  2. Claude の設定でカスタムコネクタを追加し、https://tsumu.juriscodeai.com/api/mcp とトークンを設定(Claude Code なら claude mcp add で同じことができます)
  3. あとは会話で「この写真、Tsumu に記録して」と頼むだけ

実装してみて実感したのは、記録アプリの一番の敵は「入力の面倒くささ」だということです。写真を送るだけ、まで摩擦を下げると、記録は「頑張って続けるもの」から「勝手に貯まっていくもの」に変わります。詳しい設定ガイドはアプリ内でも順次案内していきます。

#Tsumu#MCP#AI連携#開発日記