この記事ではMCPに特化して解説します。MCP(Model Context Protocol)全般は MCPサーバーの作り方2026完全ガイド をご覧ください。

GBrain:個人向けAI知識管理システム

Vannevar Bushが1945年に提唱した「memex」— あらゆる個人知識を検索・参照できる機械 — を現代のMarkdownとAIエージェントで実装したプロジェクト。

GBrainは「人物、企業、メディア、アイデアをすべてMarkdownに記録し、AIエージェントがそれを夜間自動で拡張・検索する」仕組みを提供する。

この記事の初出時(2026年4月)から、プロジェクトの規模は一桁変わった。 GitHubスターは2,983 → 27,865(2026-08-06時点・約9.3倍)、フォークは4,077。開発速度も尋常ではなく、2026-08-01から08-05までの5日間だけで8本のリリースが出ており、最新は v0.42.73.2(2026-08-05) だ。

【最重要】npmの gbrain は別物。入れるとPATHを乗っ取られる
公式READMEが警告している実害のある罠なので、他のどの手順より先に書く。npmレジストリに存在する gbrain パッケージは、本プロジェクトとまったく無関係の別物だ。npm install -g gbrain / bun add -g gbrain を実行すると別のものが入り、PATH上で本物のバイナリを覆い隠す(shadow する)

・入れてよいのは bun install -g github:garrytan/gbrain、または git clone 後の bun install && bun link の2経路だけ
・すでに誤って入れてしまった場合:npm uninstall -g gbrain(bunなら bun remove -g gbrain)で削除してから、上の正規経路で入れ直す
・自分の環境が汚れているか分からないときは gbrain doctor を実行する。npm版による上書きを検出して修正手順まで表示してくれる

Markdownベースの知識体系化

GBrainの最大の特徴は「Gitで管理されたMarkdownファイルが知識の全て」という設計思想だ。人物・企業・メディア・アイデアを統一スキーマで記録し、ファイル単位の直感的な構造化を実現する。

実際の運用例(公式READMEより):

カテゴリ 規模
人物プロファイル 3,000人以上
カレンダーデータ 13年分・21,000件以上
Apple Notes 5,800件以上
会議トランスクリプト 280件以上
独自アイデア 300件以上
メディアページ 500件以上(書籍・動画・記事)
設計の核心:「確定情報」と「追記タイムライン」の分離
ページ上部には検証済みの事実を配置し、下部には時系列記録を追記型で積み上げる。過去の判断背景を失わず、現在の理解も正確に保つ二層構造により、長期的な知識管理の耐久性を確保する。

ソーシャルグラフの検索と関係管理

3,000人規模のプロファイルから複雑なクエリに応答する。「PedroとDianaの両方を知っている人は誰か」「Series A以降に変わった点は何か」といった質問に、単純な集合演算とタイムライン差分で答える。

取材相手・投資家・パートナーの接触履歴と専門分野を記録することで、「この2人を紹介すべきか」という判断を既存データから導出できる仕組みになっている。

AIエージェントによる自動エンリッチメント

「ドリームサイクル」と呼ぶ夜間自動処理が、日中の会話をスキャンして知識ベースを自動拡張する。

OpenClawHermes Agent との統合により、会話データ・メール・カレンダー・Apple Notesを自動入力できる。このサイクルは継続的な知識蓄積を生み出す:

  1. 会議・メール・ツイート・リンクが信号としてエージェントに検出される
  2. エージェントが既存の関連情報を読み込んで文脈を把握する
  3. 応答後に新情報を書き込む
  4. 各サイクルで知識が複合される

MCP層を経由することで、エージェント側の実装依存性を排除する設計を採用している。

システムアーキテクチャ

flowchart TD subgraph 入力層 A["会話・メール・メモ
カレンダー・Apple Notes"] end subgraph 知識モデル層 B["Markdownファイル群
(Git管理・source of truth)"] C["人物 / 企業 / アイデア
統一スキーマ"] end subgraph 検索インターフェース層 D["~500件:
grep検索"] E["500〜10,000件:
Postgres + pgvector"] end subgraph エージェント統合層 F["MCP / CLI層"] G["OpenClaw
Hermes Agent
Claude等"] end A -->|マークダウン変換| B B --> C C -->|規模に応じて選択| D C -->|規模に応じて選択| E D --> F E --> F F --> G G -->|"ドリームサイクル
夜間自動処理"| B

知識モデル層はMarkdownで統一スキーマを保つ。検索インターフェース層は運用規模に応じて柔軟に選択可能。このレイヤー分離により、バックエンド技術の選択を後から変更できる。

gbrain searchgbrain think——検索が2段構えになった

初出時の本記事は「500ファイルまでgrep、それ以上はPostgres + pgvector」という段階移行として紹介していたが、現在のGBrainの検索面はそこから作り替えられている。いま押さえるべきは、grepかDBかではなく、生の検索と合成回答の2つの入口だ。

# 生検索:ハイブリッドスコア上位のページをそのまま返す。高速・LLMコストゼロ
gbrain search "who's working on AI agents at portfolio companies?"

# ブレイン層:出典付きの合成回答+「まだ分かっていないこと」のギャップ分析
gbrain think "who's working on AI agents at portfolio companies?"
  gbrain search gbrain think
返ってくるもの 上位ページそのもの 出典付きの合成された答え
LLMコスト かからない かかる
向いている用途 エージェントのコンテキスト投入、引用元探し、特定の一文の発掘 判断材料が欲しいとき
固有の機能 ギャップ分析

差別化されているのは think のギャップ分析だ。 単に答えを作るのではなく、「このページは古い」「この主張には出典がない」「2つのページが矛盾している」「ここに穴があるので埋めた方がいい」を回答と一緒に返す。知識ベースを”信じてよい範囲”ごと返してくる設計になっている。

同じ検索面はサブエージェントからも gbrain agent run "..." で叩ける。こちらはジョブキュー(Minions)経由で、途中でクラッシュしても pending → done の二段階永続化で復帰する。

検索の中身:ハイブリッド+グラフ信号

ハイブリッド検索の構成は、pgvector上のHNSWによるベクトル検索+BM25キーワード検索+RRF(逆順位融合)+ソース階層ブースト+意図を汲んだクエリ書き換え。コストと品質のつまみは conservative / balanced / tokenmax の3モードに束ねられており、既定は balanced(リランカー有効)。

そのうえでクエリ単位のグラフ信号が乗る——そのクエリにとってハブになっているページを押し上げる隣接ブースト、複数ブレイン間で裏が取れている場合のクロスソースブースト、雑談セッション由来の弱いチャンクが上位を占めるのを抑えるセッションデモート。どのブーストが効いて何倍になったかは gbrain search "<query>" --explain で段階ごとに出せるので、検索がおかしいときに勘で調整せずに済む。

READMEは、この自己配線ナレッジグラフがベクトルのみのRAGに対して P@5 で +31.4 の押し上げを生んでいるとしている。エッジは put_page のたびにMarkdown/ウィキリンク/型付きリンク構文から抽出され、LLM呼び出しゼロで書かれる(attendedworks_atinvested_infoundedadvisesmentions などの型付きエッジ)。

日本語で使うときの注意:全文検索の言語設定
GBrainのFTS(全文検索)トークナイザは環境変数 GBRAIN_FTS_LANGUAGE で切り替えるが、既定は english だ。READMEが例示しているのは portuguese / spanish / pt_br(カスタム設定)で、指定できるのは「自分のPostgresインスタンスに存在する text search configuration」に限られる。何が使えるかは psql -c "SELECT cfgname FROM pg_ts_config" で確認する。
すでに動かしているブレインの言語を変える場合は、専用コマンド gbrain reindex-search-vector --dry-run で対象行数を確認してから --yes で実行する(冪等)。クエリ側(websearch_to_tsquery)と書き込み側(search_vector を埋めるトリガ関数)の両方がこの設定を見る。

インストール——「エージェントに入れさせる」が公式の第一選択

GBrainはAIエージェントがインストールして運用することを前提に設計されている。人間が手で配線する経路も用意されているが、公式が推奨する最短路はエージェントに投げる方だ。

1. エージェントに丸ごとやらせる(推奨)

OpenClaw か Hermes を用意し、次の一文を貼る。

Retrieve and follow the instructions at:
https://raw.githubusercontent.com/garrytan/gbrain/master/INSTALL_FOR_AGENTS.md

エージェントがGBrainを入れ、ブレインを作り、APIキーを聞き、43個のスキルを読み込み、ドリームサイクルを設定し、エンドツーエンドで動作確認まで済ませる。所要はおよそ30分で、人間は質問に答えるだけになる。

2. Claude Code / Codex に「記憶」を足すだけの最小構成

サーバーもトークンもトンネルも要らない、いちばん軽い入り口がこれだ。

gbrain init --pglite                     # Docker不要・2秒でローカルブレインを作る
claude mcp add gbrain -- gbrain serve    # Codexなら codex mcp add gbrain -- gbrain serve

すでにリモートホスト(OpenClaw / Hermes / gbrain serve --http)にブレインがあるなら、手元のエージェントを向けるのは1コマンドで済む。--install を付けると配線とトークンのスモークテストまで一気に走る。

gbrain connect https://your-host/mcp --token gbrain_xxx --install
gbrain connect https://your-host/mcp --token gbrain_xxx --agent codex --install

データを入れる

取り込みは capture に集約されている。ページはデータベースとディスクへ同時に着地し、既定のスラッグは inbox/YYYY-MM-DD-<hash8> なので、取り込んだものが予測可能な場所にまとまる。

gbrain capture "the thought I want to remember"
gbrain capture --file ./notes/today.md
echo "from a pipe" | gbrain capture --stdin

Zapier / IFTTT / Apple ショートカットから流す場合は、/ingest へのWebhook POSTが用意されている。

実装開始のステップ

公式リポジトリが提供するスキーマとスキルパックを参照する:

GBrainが最も価値を発揮するのは、知識集約的な業務(研究・ジャーナリズム・経営判断)や、多数の関係者を長期追跡する場面だ。

類似ツールとの比較

ツール データ保管 AIエージェント連携 検索拡張 所有権
GBrain ローカルGit MCP対応(任意エージェント) pgvector対応 完全自己所有
Obsidian ローカルファイル プラグイン依存 プラグイン 完全自己所有
Notion クラウドSaaS 限定的 Notion AI SaaS依存
Roam Research クラウドSaaS 限定的 なし SaaS依存
MCPを使った他ツールとの統合
GBrainのMCP層は、Claude Code・OpenClawなど任意のMCP対応エージェントと接続できる。xMCP 等のMCP管理ツールと組み合わせることで、エージェントごとにGBrainへのアクセス権限を細かく制御できる。

まとめ

GBrainはMarkdown + Postgres + MCPを組み合わせ、個人知識管理にAIエージェントを統合する実用的なアプローチを示している。初出から4か月で★2,983 → 27,865、直近5日で8リリースという速度で動いており、検索面も「grepかDBか」から search / think の2段構えへ作り替えられた。

導入する前に押さえるべき実務ポイントは3つ。①npmの同名パッケージは無関係な別物でPATHを乗っ取る(正規経路は bun install -g github:garrytan/gbrain のみ、gbrain doctor で検出可能)。②全文検索の既定言語は english で、日本語主体で使うなら自分のPostgresに何のtext search configurationがあるかを先に確認する。③最小構成なら gbrain init --pgliteclaude mcp add の2行で、サーバーもトークンも要らずにClaude Codeの記憶として試せる。

参照ソース