mcpField
B
brain-core

brain-core

ローカル
github.comメモリ・ナレッジ01 日前に更新

brain-core について

brain-core は、Claude Code にセッションをまたぐ長期記憶を持たせるローカル MCP サーバー兼 Python ライブラリです。プロジェクトの背景を保持したい個人開発者などを対象とし、読みやすい Markdown とローカルインデックス、Hindsight で記憶を管理します。

主な機能

  1. 01セッションをまたぐエージェント記憶
  2. 02読み取り可能な Markdown 保管庫
  3. 03SQLite と Hindsight による横断検索
  4. 04セッション開始時の要約と終了時の保存
  5. 05URL やファイルからの情報取り込み

活用シーン

  1. 01毎回のセッションでプロジェクト背景を説明する手間の削減
  2. 02過去の判断や訂正の記録と検索
  3. 03文書やリンクの内容を記憶に保存

MCP 対応

brain serve は Claude Code 内で MCP サーバーとして動作し、セッション管理、記憶の書き込み、検索、情報取り込みなど五つの記憶ツールを公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"xy-claude-brain-core": {
"command": "uvx",
"args": [
"brain-core-mcp"
]
}
}
}
起動コマンドuvx brain-core-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypibrain-core-mcp0.4.10

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

CI License: MIT Python 3.12+ Glama score

brain-core

セッションが終わっても残る、Claude Code エージェントのためのメモリです。 ローカル MCP サーバーは1つ、ツールは5つ、読める Markdown ボルト、想起を検証する評価機能。コマンド1つでインストールできます。

brain-core は、ディスク上に保存される長期メモリを Claude Code エージェントに提供します。エージェントに名前を付け、自分がどんな人かを伝えると、それ以降のすべてのセッションで、前日の概要、自分が下した決定、変化した事実、伝えた修正を含む状態で始められます。メモリは、どのエディターでも開ける Markdown ファイルを書き込むことで保存され、ローカル SQLite インデックスとセルフホスト可能なベクターメモリであるHindsightを通じて、必要な情報を再び見つけます。すでに行っている LLM の呼び出し以外に、マシンの外にデータが出ることはありません。

これは、自分のコンピューターで1つ以上のエージェントを実行する個人向けです。個人開発者、創業者、毎朝プロジェクトについて説明し直すことにうんざりしている人などが対象です。ホスティングサービスでも、チーム向け製品でもありません。

MCP サーバーですか、それともツールですか?

両方です。1つの Python パッケージから、3つの方法で利用できます。

構成要素内容利用者
brain serveエージェントの .mcp.json から Claude Code が起動する MCP サーバーで、5つのツールを公開します毎回のセッションで、何も操作することなくエージェントが利用します
brain コマンドCLI:brain init、brain doctor、brain index、brain hindsight install、brain cron install、brain daily、brain weekly初期設定時はユーザーが、その後は cron が利用します
brain_core.Agent上記2つの基盤となる Python ライブラリです評価ランナー、デモスクリプト、独自のスクリプトが利用します

Claude Code ユーザーにとっては、5つのメモリツールと1行のインストーラーを備えた MCP サーバーです。Python 開発者にとっては、MCP フロントエンドを備えたメモリライブラリです。

curl -fsSL https://raw.githubusercontent.com/xy-claude/brain-core/main/install.sh | bash -s -- --agent Atlas --user Alex
brain init、brain doctor、そして実際のセッション:記憶、バナー付きの変更された事実、想起

課題

コーディングエージェントとのセッションは、毎回ゼロから始まります。プロジェクトについて、先週下した決定について、火曜日に間違えたことについて、何度も説明しなければなりません。メモリを追加する製品はありますが、メモを他社のクラウドに保存し、エージェントが使い分けられない30個ものツールを公開し、評価結果を見せることもありません。

brain-core はその正反対です。ローカルで、ツールは5つ、自分で所有できる Markdown ファイルを使い、ヒット率を報告するテストスイートを備えています。

仕組み

  1. brain init はエージェントのフォルダーを作成します。 エージェント名とあなたの名前を記した CLAUDE.md、5つのルールファイル(identity、doctrine、authority、memory、system)、3つのスキル、安全フック、.mcp.json、空の vault を作成します。Claude Code はこのフォルダーをプロジェクトとして読み込むため、エージェントは最初のメッセージからメモリの使い方を把握しています。
  2. brain serve は Claude Code 内で MCP サーバーとして動作します。 5つのツールだけを公開します。エージェントはほかのツールと同じようにこれらを呼び出すため、手動で実行する必要はありません。
  3. すべてのセッションには決まった流れがあります。 エージェントは brain_session('start') で開始します。これにより、今日のブリーフ、エグゼクティブ状態、メンタルモデル、有効なミッションごとのリコール、前回のセッションがクラッシュしたかどうかを示すフラグが、1つのブロックとして返されます。brain_session('end') で終了すると、その日のアーカイブが保存され、翌日に向けて状態が書き換えられます。
  4. メモリは推測されるのではなく、書き込まれます。 残しておく価値のあることを伝えると、エージェントは brain_remember(text, kind) を呼び出します。テキストはまず vault に書き込まれ、次に SQLite インデックス、Hindsight、関係テーブルの順に記録され、各レイヤーで何が行われたかが応答に示されます。重複はスキップされます。事実の値が変わると ⚠ Fact changed バナーが表示され、古い行も残るため、履歴を確認できます。
  5. リコールでは、すべてのストアを一度のクエリで検索します。 brain_recall(query) は vault、インデックス、Hindsight を一度に検索し、重複を除去し、関連度と新しさで順位付けして、応答を6kトークンに制限するため、コンテキストがあふれることはありません。
  6. 2つの cron ジョブがメンテナンスを行います。 brain daily は翌朝のブリーフを作成し、Hindsight をバックアップします。brain weekly は30日を超えるセッションを月次サマリーにアーカイブし、メンタルモデルを更新します。
flowchart LR
    CC[Claude Code] -->|MCP, 5 tools| B[brain serve]
    B --> V[(vault/ markdown)]
    B --> S[(brain.db SQLite + FTS)]
    B --> H[(Hindsight vector memory)]
    B --> G[(relations table)]
    CRON[brain daily / weekly] --> V
    CRON --> H

5つのツール

ツール1回の呼び出しで行うこと
brain_session('start')開始ブロック全体を返します。日次ブリーフ、エグゼクティブ状態、メンタルモデル、ミッションごとのリコール、受信トレイの件数、前回のセッションがクラッシュしたかどうかを示すフラグが含まれます
brain_recall(query, scope)すべてのストア、このフォルダーの Claude Code トランスクリプト、および含まれている stores.notes フォルダーを一度のクエリで検索し、重複を除去して関連度と新しさで順位付けし、6kトークンに制限します。scope='transcript' は過去のセッションでの発言や実行内容を検索するもので、初日から役立ちます
brain_remember(text, kind)vault → SQLite → Hindsight → グラフの順に書き込み、各レイヤーの処理内容を報告します。類似した重複はスキップされ、値が変わると ⚠ Fact changed バナーが表示され、古い行も残ります
brain_distill(source)URL、GitHub リポジトリ、YouTube 動画、PDF、ファイル、または貼り付けたテキストを、エージェントがまとめられるよう不変の raw/ フォルダーに保存します
brain_session('end')キューを処理し、その日のセッションファイルを閉じ、状態と振り返りを書き換え、正常終了マーカーを書き込みます

さらに、1回の呼び出しで状態を確認できる brain_status() もあります。各ストアが稼働しているか、常時読み込まれるコンテキストに必要なトークン数、セッションが開いているか、あなたの判断待ちの項目を確認できます。

インストール

始める前に
必要なもの理由確認方法
macOS、または systemd を備えた Linuxインストーラーがバックグラウンドサービスと cron を設定しますuname
ディスク容量約2 GBと10分Hindsight には埋め込み型 Postgres と CPU 向け埋め込みモデルが含まれます
Anthropic API キー、または Claude Code ログインHindsight は LLM を使ってメモリを推論しますecho $ANTHROPIC_API_KEY
Claude Codeエージェントはその中で動作します。不足している場合はインストーラーが追加しますclaude --version

コマンドを実行する前に、名前を2つ決めてください。1つはエージェントの名前(--agent)で、フォルダー名とアイデンティティになります。もう1つはあなたの名前(--user)で、エージェントがあなたを呼ぶときに使います。どちらも後から CLAUDE.md を編集して変更できます。

macOS、1 行で
install.sh の実行内容
curl -fsSL https://raw.githubusercontent.com/xy-claude/brain-core/main/install.sh | bash -s -- --agent Atlas --user Alex

実行される処理は以下の順です。再実行時は、すでにあるものはスキップされます。そのため、失敗した場合は原因を解消して、同じ行をもう一度実行してください。

== 1/8 Xcode command line tools      present
== 2/8 Homebrew                      present
== 3/8 uv, gh, gitleaks, node, Claude Code
== 4/8 brain-core (v0.4.0)           installed with uv tool
== 5/8 Agent Atlas at ~/Agents/Atlas  31 files written
== 6/8 Hindsight (required store)    service: healthy
== 7/8 Cron                          daily 06:07, weekly Sun 07:13
== 8/8 Doctor                        Health check: OK
手順処理内容ここで停止した場合
1Xcode のコマンドラインツールを通じて git があるか確認しますmacOS にインストールダイアログが表示されます。完了してから再実行してください
2Homebrew がない場合はインストールしますHomebrew がパスワードを求めます
3Homebrew で uv、gh、gitleaks、node、Claude Code をインストールしますすでにインストールされているものはそのまま残ります
4uv tool を使って PyPI から brain コマンドをインストールします--ref v0.4.0 を指定すると、代わりに git タグを固定します
5brain init を実行し、エージェントのフォルダーを書き込みます既存の brain.yaml が上書きされることはありません
6Hindsight を 127.0.0.1:8888 の launchd サービスとしてインストールします初回起動時に埋め込みモデルがダウンロードされます。数分お待ちください
7brain daily と brain weekly を launchd エージェントとしてインストールします
8新しいエージェントで brain doctor を実行しますいつでも brain doctor ~/Agents/Atlas で再実行できます
インストーラーの実行後

インストーラーでは代わりに実行できないことが 2 つあります。

export ANTHROPIC_API_KEY=sk-ant-...     # add it to ~/.zshrc too
brain hindsight install                 # copies the key into ~/.config/hindsight/env (mode 600) and restarts the service
claude                                  # sign in to Claude Code once

実行時にシェルにキーが設定されていなかった場合、インストーラーはその旨を表示します。API キーを使わない場合は、--provider claude-code を渡すと、Hindsight は代わりに Claude Code のログイン情報を使用します。このモードは個人利用のみを対象としています。

フラグ意味
--agent NAMEエージェントの名前(必須)
--user Alexエージェントがあなたを呼ぶときの名前
--dir PATHエージェントの保存場所。デフォルトは ~/Agents/NAME
--provideranthropic(デフォルト)、openai、または claude-code(Claude Code のログイン情報を使用。個人利用のみ)
--api-key-env VAR<PROVIDER>_API_KEY 以外の変数からキーを読み込みます
--profile DIR独自の指針を設定するため、一般的なルールの後にコピーされるフォルダー
--dashboardHindsight の Web UI(http://localhost:9999)
--ref v0.4.0PyPI リリースの代わりに git タグを固定します
Linux

同じ 1 行で実行できます。あらかじめ git と curl がインストールされている必要があります。その後、astral.sh から uv をインストールし、node がある場合は npm で Claude Code をインストールします。Hindsight は systemd --user サービスとして実行し、2 つのジョブはユーザーの crontab にタグ付きの行として書き込みます。再実行時には、その行を見つけて置き換えられます。

手動でのインストール(すべてのプラットフォーム)
uv tool install brain-core-mcp   # or: uv tool install git+https://github.com/xy-claude/[email protected]
brain init Atlas --path ~/Agents/Atlas --user Alex
brain hindsight install          # launchd on macOS, systemd --user on Linux
brain cron install ~/Agents/Atlas
brain doctor ~/Agents/Atlas
正しく動作したか確認する
brain doctor ~/Agents/Atlas

エージェント名、設定ファイルのパス、テーブルごとの行数、Health check: OK が表示されます。ストアのヘルス状態は、最初の brain_session('start') の応答と brain_status() に表示されます。よくある問題は次のとおりです。

症状原因対処方法
brain: command not founduv tool の bin フォルダーが PATH に含まれていませんuv tool update-shell を実行してから、新しいターミナルを開いてください
ERROR: no brain.yaml at ...パスが間違っていますエージェントのフォルダー、またはその中の brain.yaml を指定してください
hindsight unreachable at http://127.0.0.1:8888サービスの起動中か、インストールされていません1 分ほど待ってください。それでも接続できない場合は、brain hindsight install を実行してください
インストーラーのメッセージ ANTHROPIC_API_KEY is not set in this shellサービスのインストール時にキーがシェルに設定されていませんでしたキーをエクスポートしてから、brain hindsight install を再実行してください。~/.config/hindsight/env が書き換えられます
Claude Code に brain ツールが表示されないエージェントのフォルダーの外から起動しましたcd ~/Agents/Atlas && claude を実行し、次に /mcp で確認してください

初回セッション

初回セッションの記録
cd ~/Agents/Atlas && claude

エージェントの CLAUDE.md では、brain_session('start') で開始するよう指示しています。実行すると、次のように返ってきます。

{
  "session_id": "s-20261102-a1b2c3",
  "brief": "# Daily Brief — 2026-11-02 ...",
  "executive_state": "## Primary Objective ... ## Top Missions ... ## Pending Decisions ...",
  "mental_models": {"active-priorities": "..."},
  "missions": {"M-001 first mission": [ ...3 recall hits... ]},
  "inbox": 0,
  "recovery": null
}

初日はブリーフが空で、エグゼクティブ状態はテンプレートです。これは想定どおりです。最初のセッションでは、プロジェクトや技術スタック、すでに決めたこと、好みの作業方法など、取り組んでいる内容をエージェントに伝えてください。重要な発言はそれぞれ brain_remember の呼び出しになり、応答には各レイヤーで行われた処理が表示されます。

{"status": "written", "layers": {"vault": {"status": "written", "detail": "facts.md › System"},
                                 "sqlite": {"status": "written"},
                                 "hindsight": {"status": "written", "detail": "op 162bdbaa"}}}

最初のセッションで試してみること:

  • 事実を伝えてから、変更する。「API は 8887 でリッスンしています」。その後で「訂正です。8888 です」。2 回目の書き込みでは ⚠ Fact changed バナーが表示され、vault/facts.md には両方の行が残ります。
  • 情報源を渡す。 URL または GitHub リポジトリを貼り付け、要点をまとめるよう依頼します。ページはそのまま vault/raw/ に保存され、エージェントが vault/knowledge/ にページを作成します。
  • 以前の内容について尋ねる。「データベースについて何を決めましたか?」という質問は 1 回の brain_recall 呼び出しで処理され、各ヒットには出典ファイルが表示されます。
  • エディターでボールトを開く。 先ほど確認した書き込みはすべて、Markdown ファイルの行として記録されています。エージェントが間違えた場合は、編集してください。

「ありがとう、これで終わりです」と伝えると、brain_session('end') が実行されます。翌日の 06:07 に brain daily がその日の作業内容から次のブリーフを書き込み、次の claude セッションはそのブリーフとともに始まります。

エージェントフォルダーの内容

~/Agents/Atlas
├── CLAUDE.md                 identity and the five-tool protocol (3k tokens always loaded)
├── .claude/
│   ├── rules/                01-identity 02-doctrine 03-authority 04-memory 05-system
│   ├── skills/               distill, session-end, brain-check
│   └── hooks/                block-dangerous-bash.sh (rm -rf, force-push, curl|sh …)
│                             + recall of past sessions when a command fails
├── .mcp.json                 brain serve . + Hindsight
├── brain.yaml                stores, session files, cron schedule
├── vault/                    facts.md patterns.md decisions_log.md corrections.md
│   ├── sessions/             one file per day (HSAM)
│   ├── knowledge/ raw/       the LLM-wiki: immutable sources, compiled pages
│   └── executive_state.md    objective, missions, pending decisions
└── data/brain.db             SQLite + FTS5 + relations + transcript index

すべて Markdown または SQLite です。Obsidian でボールトを開いたり、grep したり、コミットしたり、行を削除したりできます。エージェントは気にしません。

動作しますか?

評価はテストスイートの一部で、CI で実行されます。

セットヒット数
合成フィクスチャーボールトでの 28 件の想起タスク(CI)、層別化:シングルホップ 20 件、マルチホップ 2 件、知識更新 1 件、回答保留 2 件、時間に関するタスク 3 件。それぞれ 3 回実行(pass^3)28 / 28
作者の実際のボールトでの調整用想起タスク 20 件と保留用想起タスク 10 件、セッション 7 か月分20 / 20 と 10 / 10
11 件の書き込みシナリオ:重複排除、値変更バナー、関係の振り分け、秘密情報の拒否11 / 11
成長:30 日分のセッション後のフィクスチャーブレインは、初日の同じブレインよりも、妥当なすべての特性シグナルで高いスコアを示す(CI)維持

この分類は、メモリーベンチマーク(LoCoMo、LongMemEval)が単一のヒット率では見えないと示しているものです。変更後の値は古い値より優先される必要があり、回答できない質問には何も返さず、特定の日についての質問にはその日のアーカイブを提示する必要があります。Hindsight を使った場合、想起にはクエリあたり約 1.7 秒かかります。開始時のブロック全体では約 4 秒、6k トークン未満です。

python tests/eval/run_recall.py --config ~/Agents/Atlas/brain.yaml   # your own vault

生得的なものと成長するもの、12 の特性

brain-core エージェントは 12 の特性を備えて生まれ、経験とともにそれらを伸ばします。生得的な特性は brain init に含まれ、ボールトを消去してコールドスタートしても残るものです。成長する特性はボールトに蓄積されます。brain_status() はディスク上の証拠からそれぞれのスコアを算出し、brain daily は 1 日 1 行を記録するため、数週間にわたる推移を確認できます。

メモリー制御社会性
ワーキングメモリー学習ユーザーモデル
エピソード記憶推論と計画権限
意味記憶意思決定
手続き記憶メタ認知
実行
目標管理

特性に単一の数値が割り当てられることはありません。それぞれサンプルサイズと判定を伴うシグナルが得られます。回答の根拠が、そのセッション中にエージェントが書いていないファイルにある場合は「妥当」、サイズや経過時間に関するものは「コスト」、まだ証拠がない場合は「保留」です。成果物の件数や自己採点はシグナルではありません。特性の一覧とその背景にある研究については、docs/TRAITS.md を参照してください。

メモリの構成

種類保存場所書式
事実vault/facts.md の ## Domain 配下- text (date)
パターンvault/patterns.md- **title** — text (date)
決定vault/decisions_log.md## date — title + Decision / Reason / Classification / Confidence
修正vault/corrections.md### [date] title + Error / Correction / Implied rule / Theme
メモvault/sessions/YYYY-MM-DD.mdHSAM セクション内の箇条書き
関係data/brain.dbsubject —[predicate]→ object
生データvault/raw/sha256 付きの不変なソース。エージェントが vault/knowledge/ をコンパイルします

ルール:コンテンツハッシュによる冪等性、追記のみ、削除なし、ストアに渡される前にシークレットを拒否します。詳細は docs/VAULT_SCHEMA.md をご覧ください。

要件

  • インストーラーは macOS または Linux が必要です。ライブラリと MCP は Python 3.12 が動作する環境ならどこでも実行できます
  • ベクトルストアとして Hindsight(MIT)を使用します。インストールは自動で行われます。Postgres は組み込みで、埋め込み処理は CPU 上で実行されます
  • Hindsight の推論には LLM キー、または個人利用には Claude Code のログインが必要です

PyPI 上のパッケージ名は brain-core-mcp です(単純な名前は無関係なプロジェクトと競合します)。コマンドは引き続き brain、インポート名は引き続き brain_core です。

ロードマップ

  • 初回実行時に Hindsight を使わない SQLite 専用モード
  • 既存のノートフォルダーを対象とする import

claude-mem、mem0 OpenMemory、および通常の CLAUDE.md との比較:docs/COMPARISON.md。リリース済みのマイルストーン:docs/MILESTONES.md。設計:docs/SPEC_v0.2.md。信頼できないテキストを読み取るメモリの脅威モデル:docs/THREAT_MODEL.md。

コントリビューション

Issue やプルリクエストを歓迎します。uv sync --all-extras --all-groups を実行してから、ruff check、mypy、pytest を実行してください。CONTRIBUTING.md をご覧ください。

ライセンス

MIT。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。