Techvoyage
ホーム
Cloudflare WorkersとVectorize上に構築された永続的な自己ホスト型AIメモリシステム。MCPとObsidian同期に対応。

CloudflareとModel Context Protocolによる永続的自己ホスト型AIメモリシステム

CloudflareとSecond Brain、MCPを使用して、永続的で自己ホスト型のAIメモリシステムを構築する方法を学びます。ClaudeやGemini、Obsidianでコンテキストを共有しましょう。

Aug 7, 2026 - 38分で読める
目次

AIエージェントにおける永続的メモリの重要性

AIアシスタントが日常生活に深く組み込まれるにつれ、私たちは「空白のコンテキスト問題(コンテキストの喪失)」に頻繁に遭遇することになります。先週下した決定は忘れ去られ、新しいセッションを開始するたびに、同じ技術スタックの仕様を入力し、ユーザー設定を何度も定義し直す必要が生じます。

毎回ゼロからやり直す代わりに、継続的に進化し、ユーザーの決定を恒常的に理解し、同じコンテキストの入力を繰り返す手間を完全に省くメモリシステムを構築する必要があります。

自己ホスト型 vs. ビルトイン型 AIメモリシステム

多くのAIエージェントにはメモリ機能が組み込まれていますが、私たちは1つのエージェントだけですべての用を足すわけではありません。プロジェクトの設計やアーキテクチャの構築にはClaudeを、コーディングにはKimiを、背景調査にはChatGPTを使用することがあります。しかし、これらの異なるエージェント間でコンテキストは共有されず、それぞれのツール内に完全に孤立(サイロ化)したままになります。

ソフトウェアエンジニアリングの観点から、私たちは不透明なブラックボックスを信頼しません。観察可能で、監査可能であり、そして完全に私たちの制御下にあるAIメモリシステムが必要です。オープンソースプロジェクトである Second Brain(https://github.com/rahilp/second-brain-cloudflare のフォーク)は、Model Context Protocol(MCP)をサポートした、永続的で自己ホスト(セルフホスト)型のメモリシステムを提供します。Claude、ChatGPT、Kimi CodeなどのMCP対応AIエージェントであれば、共通の統一されたメモリコンテキストを完全に共有できます。

Cloudflare上でSecond Brain AIメモリを構築する方法

Second Brainメモリシステムは、世界中に分散された超低レイテンシのサーバーレス実行インフラを提供する Cloudflare Workers 上に展開されます。これにより、メモリの検索(recall)や保存などの処理を、AIの推論ループ内で遅延を感じさせることなく、ほぼ瞬時に実行することができます。

ベクトルの生成には、Workers AI の埋め込み(embedding)モデルが使用されます。生成された埋め込みベクトルは、高度に最適化され、世界中に分散配置されたベクトルデータベースである Cloudflare Vectorize に保存されます。Cloudflare Vectorize は、セマンティックな(意味的な)関連性を持つメモリを正確に特定するために、コサイン類似度(cosine similarity)検索を実行します。

Second Brainには、インテリジェントな重複検出とマージ(融合)メカニズムも備わっています。意味の類似度が85%未満のコンテンツは新規メモリとして保存され、それ以上の類似度を持つものは重複候補としてブロックまたはマークされます。1,600文字を超える長いテキストは、文脈の喪失を防ぐために、文の境界や改行位置で適切に分割され、隣り合うチャンク間で200文字の重複(overlap)が維持されます。分割された各チャンクはそれぞれベクトル化され、極めて精度の高いマッチングを実現します。

AIエージェントから直接呼び出して使用するために、以下のツールがMCPインターフェースとして公開されています:

  • remember: アイデア、決定事項、好み、プロジェクトのコンテキストを保存する
  • append: 既存のメモリに新しい更新情報や追記を追加する
  • update: 既存のメモリを完全に置き換える
  • recall: 完全一致するキーワードではなく、セマンティックな意味に基づいてメモリを検索する
  • list_recent: 最近保存されたメモリを一覧表示する
  • forget: メモリを完全に、恒久的に削除する
  • link/connections: 関連するメモリ同士を明示的にリンクする(V2グラフ機能)

CloudflareでのSecond Brainのセットアップ

  1. Githubリポジトリ ページの Deploy to Cloudflare をクリックします。 [[]]
  2. 表示されたCloudflare Workerのフォームに入力します。
  3. Dimensions(次元数)に '384' を入力し、Metric(指標)に 'cosine' を選択して、Deployボタンをクリックします。
  4. 以下は、Cloudflare Worker内に展開されたSecond Brainの管理ダッシュボードの概要です:
  5. 'Settings'(設定)タブをクリックし、安全なアクセスキーを作成するために 'AUTH_TOKEN' の編集アイコンをクリックします:
  6. 'Rotate' リンクをクリックして、新しい値を入力できるようにします:
  7. macOSのターミナルで openssl rand -base64 32 コマンドを実行して安全なランダム値を生成し、それを 'Value' 入力フィールドに貼り付けます。
  8. 'Deploy' ボタンをクリックして、'AUTH_TOKEN' の新しい値を保存します。
  9. ウェブブラウザで、作成したSecond BrainのWorker URLを開きます。
  10. 作成した 'AUTH_TOKEN' を Bearer token フィールドに入力し、'Connect' ボタンをクリックして管理用の Web UI にログインします。

MCP経由でのClaude Desktopの統合

  1. Claude Desktopの設定画面で 'Customize'(カスタマイズ)をクリックします。
  2. 'Developer'(デベロッパー)をクリックして、MCPサーバーの設定ファイルをエディタで直接開きます:
  3. claude_desktop_config.json ファイルの mcpServers セクションに以下のコードブロックを追加します:
    "second-brain": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://<your-worker-url>/mcp",
        "--header",
        "Authorization: Bearer <your-token>"
      ]
    }

4. Claude Desktopを再起動し、'Local MCP servers' のリストを確認します。ステータスが 'running'(実行中)と表示されていれば成功です。

MCP経由でのClaude Codeの統合

  • ターミナルで以下のコマンドを実行して、新しいMCPサーバーを追加します:
claude mcp add --transport http second-brain https://<your-worker-url>/mcp
  • Claude Codeはエンドポイントが認証を必要とすることを自動的に検出し、ウェブブラウザでログインページを開きます。ブラウザ上で AUTH_TOKEN を入力して認証を完了させます。
  • ~/.claude ディレクトリ内に CLAUDE.md ファイルを作成し、CLAUDE_INSTRUCTIONS.md に記載されている指示を記述しておきます。

MCP経由でのGemini CLIの統合

  1. 以下のMCPサーバー設定を、お使いの './.gemini/settings.json' ファイルに追加します:
    "second-brain": {
      "httpUrl": "https://<your-worker-url>/mcp",
      "oauth": {
        "enabled": true
      }
    }
  1. Gemini CLIを起動します。

AIエージェントでのSecond Brainのテスト

  1. Claude Desktop 上で、簡単なブランドのカラーパレット設定を指示してみます。初期状態では、Second Brainは呼び出されません。
  2. 単に 'remember' という言葉を使ってみても、Claude Desktop のローカルビルトインツールである memory_user-edits のみが実行され、リモートのSecond Brainメモリ層は無視されます。
  3. 次に、Claude Code 上で以下のプロンプトを入力して送信すると、Second Brainが正しく呼び出されます:
Remember Our brand palette uses `#1a1a2e` as primary, `#16213e` as secondary, and `#e94560` as accent. Never use pure black."

4. Cloudflare上のSecond Brain ダッシュボードを開き、新しいカラー設定が保存されていることを確認します: - Claude Codeがシームレスに機能したのは、プロジェクトフォルダ内の CLAUDE_INSTRUCTIONS.md に 'Second Brain' に関連するトリガー指示が含まれていたためです。 5. Claude Desktop でも同様に機能させるには、プロンプトの中で 'Second Brain' という言葉を明示的に含めて、この永続メモリ層への保存または読み込みを強制する必要があります。 6. Gemini CLI も同様で、Second Brain MCPをトリガーするために、プロンプト内で 'Second Brain' に言及する必要があります。 - CLAUDE_INSTRUCTIONS.md と同じように、お使いの GEMINI.md ファイルに類似の指示を追加しておくことで、プロンプトでキーワードを意識して入力しなくても、背後で自動的にSecond Brainがトリガーされるようになります。

Webブラウザ拡張機能

  • Google Chrome、Mozilla Firefox、および Microsoft Edge 向けに公式拡張機能が提供されています。
  • 拡張機能では以下の操作が可能です:
    • 現在のページをキャプチャする — 表示中のページのタイトルとURLをSecond Brainに即座に保存します。
    • 選択したテキストをキャプチャする — ページ上の任意のテキストをドラッグ選択してから拡張機能アイコンをクリックすると、その抜粋がページのタイトルとURLとともに保存されます。
    • クイックメモを追加する — 保存する前に、拡張機能のポップアップ内に直接メモを入力したり、#hashtags を割り当てたりできます。ハッシュタグは自動的にメタデータタグとして抽出されます。

Obsidianプラグインによる個人知識の同期

  • ローカルの Obsidian Vault 内のノートを、Cloudflare上のSecond Brainと直接、選択的に同期するための専用プラグインが提供されています。
  • 特定のノートに特定のタグを追加するだけで、その内容が永続ベクトルストレージに同期されます。

Obsidianプラグインのインストール

  1. Obsidianを起動し、Settings(設定) → Community Plugins(コミュニティプラグイン) を開きます。
  2. Browse(閲覧) ボタンをクリックします。
  3. 'Second Brain Sync' を検索します。
  4. Install(インストール) ボタンをクリックし、続いて Enable(有効化) ボタンをクリックします。

Obsidianプラグインの設定

  1. Settings(設定) → Second Brain Sync を開きます。
  2. 作成したWorkerの「URL」と「Auth token(認証トークン)」を入力します。
  3. Test ボタンをクリックし、接続が正常に確立されていることを検証します。
  4. 同期動作を設定します。Sync tag に同期対象ノートを判別するタグ名を設定し、Auto-sync on save(保存時に自動同期) を有効にします。
  5. Obsidianのノート内に、設定した同期用タグ(例: second-brain)を記述して保存します。
  6. 保存されたノートは、即座にCloudflare上に展開されたSecond Brainへ自動同期されます。

結論

Second Brainは、現在のAIエージェントにおける最大の難題の一つである「コンテキストの喪失とメモリの欠如」に対する、洗練されたオープンソースの解法を提供します。このプロジェクトをCloudflareの拡張性の高いサーバーレスインフラと融合させることで、グローバルに分散され、極めて遅延の少ない、完全に自己ホストされたセマンティックメモリレイヤーを手にすることができます。さらにModel Context Protocol(MCP)規格に準拠しているため、この知識ベースは多様なAIアシスタント間で完全にポータブル(移植可能)です。

Obsidianプラグインの存在は、このアーキテクチャを個人の知識管理と推論ループを橋渡しするものへと昇華させます。ユーザーの散らばった個人ノートが、AIエージェントがいつでも意味的に解釈・呼び出し可能な構造化された文脈データへと進化します。

自己ホスト型アプローチ、セマンティックベクトル検索、そしてMCPのようなオープンな標準規格を高度に融合させることで、Second Brainは単なる情報置き場を超え、真の意味で実用的な独自の「AIアシスタントエコシステム」を構築するための強固な設計基盤であることを証明しています。

参考文献:

関連記事

温かみのある羊皮紙の背景に表示された、TREKセルフホスト旅行プランナーダッシュボードの高品質ミニマリスト3Dイラスト。

旅行

DockerとTREKで旅行プランをセルフホスト:日程、予約、旅費、持ち物リストを完全統合する究極のガイド

Dockerを使用してオープンソースの旅行プランナー「TREK」をデプロイし、CaddyリバースプロキシやCloudflare R2と連携させてセキュアに運用する方法を徹底解説。さらに、MCP経由でAIエージェントと接続し、自然言語で旅行の予約、旅費、持ち物リストを自動整理・一元管理してスマートに旅を計画しましょう。

22分で読める
深みのあるブルーとオレンジのアクセントが効いたプレミアムな16:9のテックカード。Ubuntu VPS上にBlockのBuzzリレーを自己ホストする方法を表現し、すっきりとしたガラスモーフ調のパネルの中央にタイポグラフィを配置。

コラボレーション

Block製Buzzを自己ホスト:人とAIエージェントが自律的に協働する次世代共有ワークスペースの構築

Blockが開発したAI協働スペース「Buzz」のNostrリレーを、Cloudflare DNSを介してUbuntu VPS上に自己ホストする方法を解説します。暗号鍵による安全な認証のもと、人間と各種AIエージェントがチャンネルやプロジェクトの履歴を共有し、自律的に連携するセキュアな作業環境を構築しましょう。

9分で読める
CloudflareでのNuxt環境構築:シェルスクリプトからAIエージェントスキルへ移行するメリット。スクリプトとAIスキルの徹底比較。

AIとエージェント

Nuxtアプリの環境構築・初期化を自動化:AIエージェントのスキルが従来のシェルスクリプトに代わる理由

Cloudflare Workers上にNuxtアプリを自動構築する方法を徹底解説。従来の壊れやすいシェルスクリプトを、開発者の意図を組んで柔軟に判断・動作するインテリジェントなAIエージェントのスキルに置き換えるメリットや、npx skillsコマンドを用いた実用的なセットアップ手順を紹介します。

2分で読める