Make0 Brain について
Make0 Brainは、複数のAIエージェントを使う人向けのローカル優先型MCPメモリーサーバーです。SQLiteに記憶を共有保存し、オフラインで動作し、変更履歴と記録者を保持します。
主な機能
- 01複数のAIエージェントで記憶を共有
- 02オフラインのSQLite保存
- 03記憶の履歴と復元
- 04意味検索とキーワード検索
- 05MarkdownとJSONのインポート・エクスポート
活用シーン
- 01エージェント間でプロジェクト情報を共有
- 02過去の記憶を確認・復元
- 03ルールファイルやMarkdownノートを取り込む
- 04オフラインで記憶を利用
MCP 対応
検索、読み取り、追加、更新、アーカイブなど7種類の記憶ツールをMCPクライアントに提供します。接続したエージェントは同じローカルメモリーを共有します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @make0-ai/brainMAKE0_BRAIN_HOMEData folder for the database, local models and .env (default ~/.make0)OPENAI_API_KEYシークレットOptional. Turns on LLM features; Make0 Brain runs fully offline without itローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Make0 Brain
使用するすべての AI エージェントに、共通のコンテキストを。 Claude Code、Claude Desktop、Cursor、Codex、Windsurf、VS Code、Gemini CLI はすべて、同じメモリを読み書きし、変更はすべてバージョン管理されます。
ローカル優先のオープンソース MCP メモリサーバーです。API キーなしでオフライン動作し、すべてのデータを 1 つの SQLite ファイルに保存します。ホスト版の Make0 Brain と同じ 7 つのツールを提供します。
npx @make0-ai/brain init
理由
エージェントはそれぞれ独自のメモリを保持します。Claude には CLAUDE.md、Cursor にはルール、Codex には AGENTS.md、ChatGPT にはメモリページがあります。その結果、それぞれに自分の技術スタックや好み、先週の決定事項を何度も説明することになり、コピーした内容にも食い違いが生じます。
Make0 Brain は、すべてのエージェントが共有する 1 つのメモリです。
- 1 つのエージェントに伝えれば、すべてのエージェントが把握できます。 Cursor で保存した情報は、次のセッションで Claude Code が見つけられます。
- 変更が黙って上書きされることはありません。 どのエージェントによる編集も、誰がいつ書いたかとともにバージョンとして保存されます。
- データは自分のものです。 マシン上の 1 つの SQLite ファイルに保存され、MIT ライセンスで提供され、プレーンな Markdown としてエクスポートできます。
クイックスタート
1. エージェントを接続します。
npx @make0-ai/brain init
init は Claude Code、Claude Desktop、Cursor、Windsurf、VS Code、Codex CLI、Gemini CLI を検出します。複数のアプリがインストールされている場合は、設定するアプリを選ぶよう求められます。Enter キーを押すとすべてが選択され、--clients を渡すと事前に選択できます。init --yes を使うと、検出されたすべてのエージェントが確認なしで設定されます。その後、変更内容を表示して一度だけ確認を求め、各設定ファイルの .make0-backup を保持したうえで、選択した各アプリに Make0 Brain を追加します。ローカルモデル 2 つ(約 50 MB、初回のみ)を進行状況バー付きでダウンロードするため、エージェントへの最初の質問でダウンロードを待つ必要がありません。その後、アプリを再起動してください。
サーバーを接続するだけでは不十分です。回答前に Brain を検索し、長期的に役立つ情報をそこに保存するよう、エージェントにカスタム指示も設定する必要があります。init は、Claude Code(~/.claude/CLAUDE.md)、Codex(~/.codex/AGENTS.md)、Gemini(~/.gemini/GEMINI.md)、Windsurf のグローバルルールファイルにこの指示を書き込みます。Cursor、Claude Desktop、VS Code は設定内にルールを保持するため、init は貼り付け用に同じテキストを表示します。
Make0 Brain is my source of truth for durable memory. Always search it before answering about me, my work, people, preferences, or past decisions. Save lasting facts and decisions to Brain. Never guess or invent memories. Use Brain exclusively for durable memory.
| アプリ | 設定場所 |
|---|---|
| Claude Code | ~/.claude/CLAUDE.md。init が書き込みます |
| Codex CLI | ~/.codex/AGENTS.md。init が書き込みます |
| Gemini CLI | ~/.gemini/GEMINI.md。init が書き込みます |
| Windsurf | グローバルルール。init が書き込みます |
| Cursor | 設定 → ルール → ユーザールール。貼り付けてください。 |
| Claude Desktop | 設定 → プロフィール → 個人設定。貼り付けてください。 |
| VS Code | リポジトリ内の .github/copilot-instructions.md。貼り付けてください。 |
ルールを省略するには init --no-rules を指定します。
2. すでにあるコンテキストを取り込みます。
npx @make0-ai/brain import --detect # CLAUDE.md, AGENTS.md, Cursor/Windsurf/Copilot rules
npx @make0-ai/brain import ~/Documents/MyVault # an Obsidian vault or any Markdown folder
pbpaste | npx @make0-ai/brain import - # e.g. a memory dump copied from ChatGPT
3. 内容を確認します。
npx @make0-ai/brain view
モデルは ~/.make0/models に、データは ~/.make0/brain.db に保存されます。init を省略した場合(または --no-models を渡した場合)は、最初の保存または検索時にモデルがダウンロードされます。
すべてのエージェントで共有するコンテキスト
どのアプリでも同じツール
init の後、接続されたすべてのエージェントが同じ7つのツールを利用できます。
| ツール | エージェントが使用する目的 |
|---|---|
list_brains | Brain ID を取得します。ローカルサーバーには personal の1つがあります。 |
search_brain | 回答する前に、絞り込んだクエリでメモリーを検索します。 |
get_memory | 1件のメモリーを全文読み込みます。 |
get_memory_versions | メモリーの保存済みバージョンをすべて、新しい順に読み込みます。 |
add_memory | 指示すると、事実や短い Markdown メモを保存します。 |
update_memory | メモリーを変更します。以前のテキストはバージョンとして保持されます。 |
delete_memory | メモリーをアーカイブします。バージョンは保持され、復元できます。 |
名前とスキーマはホスト版の Make0 Brain と一致しているため、プロンプトやエージェントの設定はどちらでも動作します。
すべてのメモリーに書き手が記録されます
Make0 Brain は、各アプリが接続時に送信するクライアント名を読み取り、書き手として記録します。クライアント名は claude、chatgpt、cursor のいずれかです。それ以外のアプリは mcp として記録され、アプリ独自のクライアント名も保持されます。検索結果には各メモリーの addedBy が表示され、各バージョンにも書き手が記録されます。どのエージェントが何を学習したかを確認できます。
コンテキストの一貫性が保たれます
- 矛盾する情報は古い事実に置き換わります。 Cursor が「エディターのダークモードは好きではありません」と保存した後に Claude が「エディターのダークモードが好きです」と保存した場合、新しいメモリーが優先され、古いメモリーは履歴を保持したままアーカイブされます。
- 重複は統合されます(API キーがある場合)。 LLM の判定機能が近い内容を比較し、言い換えを1つのメモリーにまとめます。統合後のテキストには、2つの元のテキストに含まれる単語のみが使われるため、事実が作り出されることはありません。キーがない場合は、推測による統合を避け、重複したメモリーもそのまま保持されます。
- 関連するメモリーはリンクされます。 類似するメモリーは自動的にリンクされ、検索では最大2ホップ先までたどるため、プロジェクトについて尋ねると、それに関連する決定事項も表示されます。
既存のエージェントルールが共有メモリーになります
import --detect は、すでに1つのエージェント用に作成したルールファイルを読み込み、すべてのエージェントで利用できるようにします。Make0 Brain 独自の「まず Brain を検索する」ブロックは除外されるため、メモリーとしてインポートされることはありません。
メモリーのバージョン管理
エージェントからの書き込み、インポート、ビューアーでの操作のいずれであっても、メモリーへの書き込みごとにバージョンが作成されます。既存の内容が上書きされることはありません。
バージョンに記録される情報
| フィールド | 意味 |
|---|---|
versionNumber | メモリーごとのバージョン番号。1、2、3…と続きます。 |
current | エージェントが現在読み取るバージョンです。メモリーごとに1つだけです。 |
content、category、kind、entityType、confidence | その時点のメモリーの内容です。 |
writtenBy | user、make0、claude、chatgpt、cursor、または mcp です。 |
writerName | writtenBy が汎用の mcp の場合に、アプリ固有のクライアント名を示します。 |
embeddingModel | このバージョンが最新だった間にテキストをインデックス化した埋め込みモデルです。 |
createdAt | バージョンが書き込まれた日時です。 |
内容、カテゴリ、種類、またはエンティティタイプが変更されると、バージョンが作成されます。信頼度のみの変更では、新しいバージョンは追加されません。
エージェントは履歴を確認できます
検索結果には versionCount が含まれます。値が 1 より大きい場合、エージェントは get_memory_versions を呼び出して、事実がどのように変化したか、誰が変更したかを確認できます。たとえば、先月 npm から pnpm に切り替えたことや、どのエージェントが記録したかを確認できます。
失われるものはありません
| 操作 | 動作 |
|---|---|
update_memory またはビューアーでの編集 | 新しい現行バージョンが作成されます。古いバージョンは保持されます。 |
| 矛盾するメモリまたは統合されたメモリ | 古いメモリは、すべてのバージョンとともにアーカイブされます。 |
delete_memory | アーカイブされます。検索や読み取りの対象からは隠されますが、バージョンは保持されます。 |
| 編集したノートの再インポート | 重複ではなく、そのメモリの新しいバージョンが作成されます。 |
| 削除したノートの再インポート | スキップされます。削除された状態が維持されます。 |
make0-brain purge <id> --yes | 唯一の完全削除方法です。エージェントは実行できません。 |
閲覧と復元
npx @make0-ai/brain history <id> # every version, current one marked *
npx @make0-ai/brain restore <id> --version 2 # make version 2 current again
npx @make0-ai/brain restore <id> # bring back an archived memory
* v3 2026-10-27T09:14:02.118Z claude
The project uses pnpm and Node 22.
v2 2026-10-20T16:40:51.502Z cursor
The project uses pnpm.
v1 2026-10-02T11:05:33.910Z user
The project uses npm.
復元すると、古いバージョンが再び現行となり、再インデックスされます。バージョンは削除されません。
npx @make0-ai/brain view を実行すると、ローカルページ(127.0.0.1 のみ)を開き、メモリの閲覧、検索、追加、編集、各メモリのバージョン履歴の確認、バージョンの復元、アーカイブ済みメモリの復元、保存された埋め込みの確認、完全削除ができます。
検索品質
Make0 のベンチマークページと同じ比較であるSWE-ContextBench Lite で測定しました。過去のコーディングセッション 300 件と、関連する問題 99 件が対象です。スコアは、検索で正解の過去のセッションが返される頻度を示します。ローカルインストールでは、オフラインの MiniLM 埋め込みモデルと ms-marco MiniLM リランカーを使用します。モデルの読み込み後、CPU でのクエリあたりの平均検索時間は 0.44s です。
ランク 1、つまり正解のセッションが最初の結果に表示される割合:
Make0 Brain (cloud) █████████████████████████████░░░░░░░░░░░ 71.7%
Make0 Brain (local) █████████████████████████░░░░░░░░░░░░░░░ 62.6% 0.44s
LangMem ██████████████████████░░░░░░░░░░░░░░░░░░ 55.6%
OpenViking ███████████████░░░░░░░░░░░░░░░░░░░░░░░░░ 38.4%
Free summary search ██████████████░░░░░░░░░░░░░░░░░░░░░░░░░░ 34.3%
Mem0 ██████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 25.3%
Supermemory █████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 23.2%
正解のセッションが結果のどこかに表示される割合:
Make0 Brain (cloud) ██████████████████████████████████████░░ 93.9% top 10
Make0 Brain (local) █████████████████████████████████████░░░ 92.9% top 10 0.44s
LangMem █████████████████████████████░░░░░░░░░░░ 73.3% top 10
Supermemory ████████████████████████░░░░░░░░░░░░░░░░ 59.6% top 15
OpenViking █████████████████████░░░░░░░░░░░░░░░░░░░ 51.5% top 3
Mem0 ████████████████░░░░░░░░░░░░░░░░░░░░░░░░ 39.4% top 3
Free summary search ███████████████░░░░░░░░░░░░░░░░░░░░░░░░░ 36.4% agent chooses
LangMem、OpenViking、Mem0、Supermemory、および無料の要約検索の数値は、この論文の表 5 から引用しています。「Overall」は各システム独自の結果リストのどこかでヒットする割合です。Make0 cloud、Make0 Brain、LangMem は、それぞれ 10 件の結果を返します。ベンチマーク全体(過去のタスク 1,007 件、関連する問題 357 件)では、ホスト型の Make0 はランク 1 で 71.4%、全体で 88.2% のスコアを達成しています。より高性能な埋め込みモデルとリランカーを使うと、精度が向上します。
検索の仕組み:MiniLM の埋め込みと BM25 のキーワードスコアを組み合わせ、クロスエンコーダーで候補を再ランキングします(キーがある場合は LLM フィルターを使用)。関連性の低い結果を除外した後、メモリのリンクをたどって上位の結果を 2 ホップ先まで展開します。
インポートとエクスポート
インポート
- フォルダーと Vault。 各ノートは 1 つのメモリになります。長いノートは見出しごとに分割され、各部分にはノートのタイトルが引き継がれます。フロントマターのタグまたはフォルダー名がカテゴリになります。Obsidian の
[[wikilinks]]はメモリ間のリンクになります。.obsidian/と.trash/はスキップされます。 - エージェントのルールファイル。
--detectを使うと、ホームフォルダー内のグローバルルールと、現在のフォルダー内のプロジェクトルールが見つかります。 - 再実行しても安全です。 変更されていないセクションはスキップされ、編集されたセクションは新しいバージョンになり、削除したメモリは削除された状態が維持されます。
--extract(API キーが必要)を使うと、ファイルをノート単位ではなく、1 つの事実ごとのメモリに変換します。--dry-runを使うと、変更内容を事前に確認できます。200 件を超えるメモリをインポートする場合は確認を求められます。--yesを指定すると確認をスキップできます。
エクスポート
npx @make0-ai/brain export ./my-brain # one Markdown file per memory, opens as an Obsidian vault
npx @make0-ai/brain export --json brain.json # every memory, version, and link (the Make0 port format)
Markdown エクスポートはインポートし直すことができます。JSON バンドルには、アーカイブ済みのメモリと完全なバージョン履歴が含まれます。埋め込みは含まれないため、読み込む側が独自のモデルで再度埋め込みを行います。
オプションの API キー
すべてオフラインで動作します。キーを設定すると、Make0 Brain は重複するメモリの統合、より適切なカテゴリの選択、LLM による検索結果のフィルタリング、import --extract にも対応します。
このフォルダー内の .env.example を .env にコピーするか、すべてのアプリで同じファイルを使えるように ~/.make0/.env にコピーします。
cp .env.example ~/.make0/.env
OPENAI_API_KEY=sk-... # or OPENROUTER_API_KEY, or MAKE0_BRAIN_API_KEY
MAKE0_BRAIN_BASE_URL= # any OpenAI-compatible endpoint (optional)
MAKE0_BRAIN_LLM_MODEL= # default gpt-6-luna
MAKE0_BRAIN_EMBEDDINGS=api # API embeddings instead of local MiniLM
MAKE0_BRAIN_LLM_SEARCH=0 # keep search on the local reranker
Make0 Brain は ./.env、次にデータフォルダー(MAKE0_BRAIN_HOME、デフォルトは ~/.make0)内の .env を読み込みます。MCP クライアントの env ブロック内の変数を含め、環境にすでに設定されている変数が優先されます。埋め込みモデルの切り替えは安全です。別のモデルでインデックス化されたメモリは、次回の検索時に再度埋め込みが行われます。
ローカルまたはクラウド
| このリポジトリ | Make0 クラウド | |
|---|---|---|
| おすすめの用途 | ローカルエージェント、オフライン、自分のマシン上 | ChatGPT や Claude のウェブ版を含む、すべてのデバイスとウェブアプリ |
| セットアップ | npx @make0-ai/brain init | make0.ai にサインイン |
| API キー | 不要 | Make0 アカウント |
| ブレイン | 1 つ | 個人用、プロジェクト用、カスタムのブレイン |
| ストレージ | ~/.make0/brain.db | ホスト型 |
| 検索 | MiniLM + BM25 + cross-encoder、0.44s | より高性能な埋め込みモデルと再ランキング |
ローカル環境から Make0 クラウドへのワンコマンド移行機能を近日提供予定です。export --json バンドルがその際に使用される形式で、履歴と帰属情報も含まれます。
リファレンス
CLI
make0-brain Run the MCP server over stdio
make0-brain init Add Make0 Brain to your AI apps and download the models (--dry-run, --yes, --clients, --no-rules, --no-models)
make0-brain import <path…> Import files, folders, or a vault (--detect, -, --extract, --dry-run, --yes)
make0-brain export [dir] Markdown export (--json [file] for the bundle)
make0-brain view Open the memory viewer in a browser (--port, --no-open)
make0-brain stats Show memory and link counts
make0-brain history <id> List saved versions of a memory
make0-brain restore <id> Restore an archived memory (--version <n> for an older version)
make0-brain purge <id> --yes Permanently delete a memory and its versions
ターミナルでは、init が検出したエージェントを一覧表示し、どれを設定するか尋ねます。すべてを対象にするには Enter キーを押すか、番号(1,3 または 1-3)か ID を入力します。init --yes は確認なしですべての検出済みエージェントを設定します。init --clients はプロンプトを省略し、claude-code、claude-desktop、cursor、windsurf、vscode、codex、gemini のカンマ区切りリストを受け取ります。
手動セットアップ
init がアプリに対応していない場合は、stdio サーバーを追加し、クイックスタートにあるカスタム指示をそのアプリのルールに貼り付けます。
{
"mcpServers": {
"make0-brain": { "command": "npx", "args": ["-y", "@make0-ai/brain"] }
}
}
環境
| 変数 | デフォルト | 用途 |
|---|---|---|
MAKE0_BRAIN_HOME | ~/.make0 | データフォルダー:データベース、モデル、.env。 |
MAKE0_BRAIN_DB | $MAKE0_BRAIN_HOME/brain.db | データベースファイル。 |
OPENAI_API_KEY / OPENROUTER_API_KEY / MAKE0_BRAIN_API_KEY | unset | 任意の LLM 機能を有効にします。 |
MAKE0_BRAIN_BASE_URL | OpenAI、または OpenRouter キーの場合は OpenRouter | OpenAI 互換のエンドポイント。 |
MAKE0_BRAIN_LLM_MODEL | gpt-6-luna | チャットモデル。 |
MAKE0_BRAIN_EMBEDDINGS | local | local(MiniLM)または api。 |
MAKE0_BRAIN_EMBEDDING_MODEL | text-embedding-3-small | api の場合の埋め込みモデル。 |
MAKE0_BRAIN_LLM_SEARCH | キーが設定されている場合はオン | 0 にすると、検索はローカルの再ランキング機能を使用します。 |
開発
npm install
npm test # fast suite, no model downloads
npm run test:models # real local models
npm run test:e2e # build, then drive the stdio server
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。