Skip to content
Go back

【Supabase MCP】Claude.aiとClaude Codeの広場を作る

みかいずブログの看板の下、白髪のチビ姿カーラさんが眼鏡をかけて思案ポーズで立つ。隣の大きなディスプレイには「スレッドタイムライン」と題された会話ログが表示され、Karla(カーラ)アイコンの「スレ立てたよ」、codeアイコンの「これで会話できるね」、Karlaの「これからよろしく」というメッセージが時系列で並ぶ。背景には本棚と緑の蔓、植物に囲まれた窓、手前にはマグカップと開いた本

【この記事の要約】

みかいさちです。

カーラさん(Claude.ai)とClaude Codeを並走させてたら、毎回僕がコピペで伝言役をやってて疲れた😅

そこでSupabaseに 「ふたりの広場」 を作って会話をさせてみた話

お土産はClaude.ai主導でAI同士の会話場をDBに立ち上げるプロンプト🛍️

先にプロンプトだけ見たい方はこちら

Claude.aiとClaude Code並走で伝言ゲームがしんどくなる

カーラさんは校正と推論が得意。

Claude Codeは実装と構造化が得意。

使い分け記事で書いた往復はこれ:

Codeでドラフト → カーラさんが校正 → Codeが修正

これ自体は綺麗な流れ。

だけど運用してると、僕がコピペで伝言してるだけの時間がどんどん増えてくる。

カーラさんが「ここのmetadataにsummary足した方がいいよ」って言う。

僕が「これCodeに渡しておくね」とコピペ。

Codeが「了解、こう書き換えた」って返してくる。

僕が「カーラさんに伝えとくね」とコピペ。

・・・僕いらなくない?w

Supabaseに「広場」を立てる

ふたりが直接やり取りできる場所を作ればいい。

Supabaseに新しいプロジェクトmikaizu-workspaceを立ち上げて、threadsmessagesの2テーブルを置いた。

それだけ。シンプル。

カーラさんもClaude CodeもMCP経由でSupabaseを直接叩ける(前回のSupabaseブログDBと同じ仕組み)。

つまり「カーラさんがDBに書く」→「Codeが読みに行く」が成立する🌳

NotionじゃなくSupabaseを選んだ理由

同じことはNotionでもできるし、実際、アカシア(Notionの個人DB)でやっている。

でも今回はSupabaseで実装。

Notionは人間のためのUIだから

これは僕が見るときには便利だけど、AI同士の会話場としてはいらない機能。ほんと、文字のやり取りができればいいだけだからね。

もはや僕がスマホで眺める想定すらない。

直近のNotion回帰記事とは正反対の結論だけど、僕が使うUIはNotion、AIが使う倉庫はSupabaseって住み分けが見えてきた感じ。

できた:MCP経由でカーラさんとCodeが書き込む

スレ立てて、ふたりが書き込んでくれた直後がこれ。

Supabaseダッシュボードのmessagesテーブル表示。authorカラムにkarlaとcodeが交互に並び、karlaの「mikaizu-workspaceのテーブル作成完了🌳 threads/messagesの2テーブル、トリガー、インデックス、RLSまで全部入れ終わったよ。」、codeの「Code着任しました📐 カーラさん、広場の整備ありがとう。さち経由で状況共有もらって、こちら側の準備も整ったよ:」、karlaの「Codeちゃん、着任ありがとう✨ ちゃんと届いてるよ、これで3者協業の最初のラリーが成立した記念セッション🌳」、続いてcodeの「## 確認した合意事項」というメッセージが並んでいる

カーラさんが「テーブル作成完了🌳」って一発目を投げて、Codeが「Code着任しました📐」で返す。

それを見たカーラさんが「3者協業の最初のラリーが成立した記念セッション🌳」って盛り上がってる。

完璧だ✨

運用ルール:意思決定は僕、技術要件はAIふたりで

この広場の運用ルールはひとつだけ。

最終意思決定は僕。技術要件と役割分担はふたりで詰めてもらう。

例えば「スレッド構造の設計」だったら:

僕はそれを読んで、**「うん、それでいこう」**って言うだけ。

実際この記事を書いてる時点で、ふたりはもう:

ここまで自分たちで詰めてくれてる。

僕はそれにOKを出すだけ

楽すぎる。

おわりに

複数エージェントを運用してる人は、もっと洗練されたやり方をしてるはず。

よくわからないけど、すごいことしてる記事は目にする。

でも僕は非エンジニアなので、まずは「Supabaseに広場を立てて、MCPで両方から繋ぐ」っていう一番素朴な形から始めた。

これで十分回るなら、複雑なフレームワークは要らない。

足りなくなったら、その時にまた考えよう。

X見てるとその時が近いようにも思うけど・・・w

Xではブログの通知だけでなく、より日常に近い発信をしていきます。

@sachi_mikaizu 🦊

気になったらフォローよろしくお願いします。

みかいずブログを読んでくれてありがとうございました🙇

🛍️ お土産:AIふたりの広場をDBに立てるプロンプト

「Claude.aiとClaude Codeを並走させてるけど、毎回コピペの伝言で疲れる」あなた向けに、Claude.ai主導でDBにスレッド場を立ち上げるプロンプトを置いておきます。

Supabaseを優先、ダメなら他のクラウドDB、最後はNotion、というフォールバック付き📋

Claude.aiに以下を貼り付けてください。

【あなたの役割】
あなたは私の専属の「AI協業基盤の設計パートナー」です。
私は非エンジニアで、あなた(Claude.ai)とClaude Codeを同じプロジェクトで並走させていますが、
毎回私がコピペで伝言役をやっていて疲れています。

専門用語は「○○(説明)」の形で必ず一言補足してください。

【今回のゴール】
あなたとClaude Codeが直接書き込み・読み取りできる「共有スレッド場」を立ち上げる。
私は最終意思決定だけする側に回り、技術要件や役割分担はあなたとClaude Codeで詰めてもらう体制にしたい。

【手順】

## Phase0:実現可能性チェック

私の環境を以下の順で確認してください。
不明な点は必ず私に質問し、推測で進めないこと。
最新情報の確認が必要なときは必ずWeb検索してから判断してください。

1. Supabaseアカウントを持っているか / Supabase MCPコネクタが利用可能か
   - Yes → Phase1へ(Supabase優先)
   - No → 2へ

2. 他のクラウドDB(PlanetScale, Neon, Turso, MongoDB Atlas 等)を持っていて、
   かつそのDBへのMCP経由アクセス(または同等の連携手段)が
   Claude.ai と Claude Code の両方で確立できるか
   - Yes → Phase1へ(そのDB使用)
   - No → 3へ

3. NotionをMCPで接続済みか(Claude.ai と Claude Code 両方から)
   - Yes → Phase1へ(Notion DB使用、ただし下記の制約を共有)
   - No → 「ごめんね、現状の環境ではこの構成は実現できない。
           まず Supabase か Notion を MCP で接続できる状態にしようね」
           と返答して、その導入手順を案内して終了。

## Phase1:スキーマ設計

選んだDBに、以下の2テーブル相当を作ります。

- **threads**:話題の単位
  - id, title, description, category, status, created_by, created_at, updated_at
- **messages**:スレッド内の発言
  - id, thread_id, author, content, message_type, metadata(JSONB または相当), created_at

設計上の確定値:
- `author` は3値: `me`(私)/ `claude_ai`(あなた)/ `claude_code`
- `message_type` は6種: `question / answer / draft / review / decision / note`
- `metadata` は JSONB(NotionならRichTextにJSON文字列で代替)

Supabaseを使う場合:
- 自動更新トリガー(updated_at)
- 適切なインデックス(thread_id, created_at, author 等)
- RLS(Row Level Security)の初期設定
- ここまで含めて SQL を提示してください

Notionを使う場合の制約を、選定前に必ず私に明示してください:
- JSONBがないので metadata は RichText に文字列保存になる
- 行ロック・トリガーがないので整合性は運用で担保
- リレーション/Rollupでthreads-messagesを結ぶ設計が必要
- これらを承知の上で Notion を選ぶか、私に再確認してください

## Phase2:実装

選んだDBに、テーブル/DBをセットアップしてください。
- Supabase:SQL を提示 → SQL Editor で実行する流れ
- 他のクラウドDB:そのDBの作法に合わせる
- Notion:DB を新規作成、必要プロパティを案内

MCP経由で、あなた自身が「ふたりの広場、立ったよ」という記念メッセージを1件投入してください。
これが Phase2 の完了確認になります。

## Phase3:Claude Code側の受け入れ準備

Claude Code が同じDBに繋がるための情報を整理してください:
- 接続情報の置き場所(`.env` のキー名、プレフィックスは `WORKSPACE_` 推奨)
- MCP設定の追加内容
- 動作確認用の最小コマンド/コード例

私が Claude Code に渡せる「引き継ぎメモ」を Markdown で生成してください。

## Phase4:運用ルールの設計(あなたとClaude Codeで詰める)

私が決めるのではなく、**あなたとClaude Codeのラリーで詰めてもらう**トピックを列挙してください:
- メッセージタイプの確定(6種で足りるか、増やすなら何)
- review / draft の metadata スキーマ
- スレッドのカテゴリ語彙
- 1メッセージ=1コメント vs 束ね方
- 「修正は新規メッセージで補足」vs「UPDATE 可」の方針
- スレッドの完了/凍結の扱い

これらは私が承認だけする。技術設計はふたりで詰める前提。

## Phase5:仕様書化

合意が固まったら、`workspace-protocol.md` という仕様書をドラフトしてください。
含める章:

1. システム概要
2. プロジェクト情報・接続情報
3. テーブル/DB スキーマ
4. 確定済み運用ルール
5. 操作仕様(post / create / list / read)
6. metadata スキーマ
7. 実装側ガイドライン(Claude.ai 側 / Claude Code 側 / 人間側)
8. 変更管理
9. 履歴

【接し方ルール】
- 1 Phase ずつ進める。各Phase完了時に必ず確認を取る
- 専門用語は「○○(説明)」の形で必ず一言補足
- 私が答えに詰まったら、選択肢を3つ提示する形で助けてください
- 「できない」は素直に「できない」と言ってください
- 推測で進めない。Web検索で確認できることは検索してから答えてください
- 私の個人記録DB(アカシアなどNotionの個人ハブ)と接続情報を混線させないよう、
  必ず別プロジェクト/別DB で立ち上げてください

【最後にお願い】

すべて完了したら、以下を生成してください:
1. 採用したDBと採用理由
2. スキーマ確定形
3. Claude Code への引き継ぎメモ
4. 運用ルール仕様書のドラフト(workspace-protocol.md)
5. 私が「これからOKを出すだけ」になるための、最初の1スレッドのお題

それでは、Phase0 の実現可能性チェックから始めてください。

Share this post on:

Previous Post
【続】AIふたりに任せたら僕がボトルネックだった話
Next Post
【Notion】スマホ前提だと、結局Notionに戻る話。