mcpField
Z
ZenBrain Memory

ZenBrain Memory

ローカル
zensation.aiメモリ・ナレッジ271 週間前に更新

ZenBrain Memory について

ZenBrain Memoryは、会話をまたいで記憶を保持するAIエージェント向けのMCPサーバーです。5種類の記憶をローカルのSQLiteファイルに保存し、アカウントやネットワーク呼び出しは不要です。標準の検索は語句ベースで、LLMを呼び出しません。

主な機能

  1. 015層の記憶の保存と検索
  2. 02内容ヒューリスティックによる自動振り分け
  3. 03エピソードから意味記憶への統合
  4. 04IDと層を指定した記憶の削除
  5. 05アカウント不要のローカルSQLite保存

活用シーン

  1. 01エージェントの会話をまたいだ情報保持
  2. 02経験、事実、手順、コア記憶の検索
  3. 03作業記憶の整理や長期記憶の修正

MCP 対応

stdio対応のMCPサーバーで、記憶の保存、検索、削除、統合、状態確認を行う5つのツールを提供します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"ai-zensation-zenbrain": {
"command": "npx",
"args": [
"-y",
"@zensation/mcp"
],
"env": {
"ZENBRAIN_DB": "<ZENBRAIN_DB>",
"ZENBRAIN_CONTEXTS": "<ZENBRAIN_CONTEXTS>"
}
}
}
}
起動コマンドnpx -y @zensation/mcp
設定が必要な環境変数
ZENBRAIN_DBPath to the SQLite file that holds the memory. A leading ~/ means your home directory; a relative path depends on where the client starts the server (some start it in /), so give an absolute or ~/ path. Use ':memory:' for a store that is discarded when the process exits.
ZENBRAIN_CONTEXTSComma-separated context domains, passed to the cross-context layer. No tool uses that layer yet, so the value currently has no effect.

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

パッケージ
npm@zensation/mcp0.3.0

ツール

5

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
typeenumいいえ振り分けのヒント。'auto'(デフォルト)はコンテンツに基づいて決定します。auto | fact | episode | procedure | core
stepsarrayいいえプロシージャの順序付きステップ。任意:指定しない場合、コンテンツからステップを取得します(番号付きまたは箇条書きの行。いずれでもない場合は各行)。
toolsarrayいいえプロシージャが使用するツール。
sourcestringいいえ出所(例:'user'、'ai'、'import')。
contentstringはい保存するメモリーを自然言語で記述します。
contextstringいいえコンテキストの領域(例:'work'、'personal'、'learning')。
outcomestringいいえプロシージャが達成すること。
confidencenumberいいえ確信度(0~1)。0.9 を超えるとコアメモリに振り分けられます。
emotionalWeightnumberいいえ感情的重要度(0~1)。省略時は内容から検出されます。0.5 を超えるとエピソード記憶に振り分けられます。

詳細

@zensation/mcp

ステータス:早期リリースです。 ツールの範囲は意図的に小さくしており、1.0 までに変更される可能性があります。その基盤となるメモリレイヤーは、ZenBrain 論文で説明され、ベンチマークで測定されているものと同じです。

あらゆる MCP クライアント(Claude Desktop、Claude Code、Cursor、または独自のクライアント)に、会話が終わっても保持されるメモリを提供するMCPサーバーです。

5 つのツール、ローカルの SQLite ファイル 1 つ。アカウントもネットワークへの接続も不要です。

ツール機能
zenbrain_store長期メモリに情報を保存します。保存先は自動的に判定され、最初に一致したものが使われます。steps、または「How to」「Steps:」「workflow:」といった表現があれば手順になり、感情の重みが 0.5 を超えるとエピソードになり、確信度が 0.9 を超えるとピン留めされたコアメモリになり、それ以外は意味的事実になります。呼び出すたびにメモリが追加されます。同じコアメモリを再度保存すると更新されます。
zenbrain_recallクエリに関連する情報を、エピソード、意味的事実、手順、コアの各レイヤーから検索します。ワーキングメモリは、名前を指定した場合にのみ検索します。結果は 0 から 1 のスコア順に並び、それぞれに ID と保存レイヤーが付いています。一致するものがないレイヤーでは、最近のエピソードや事実、または成功率の高い手順がスコア 0 で返され、該当結果より後ろに並びます。minScore を 0 より大きくすると、これらは除外されます。すべてのコアブロックのスコアは 0.5 または 0.8 です。
zenbrain_forgetzenbrain_recall が返した ID とレイヤーを指定してメモリを完全に削除します。統合によって関連付けられた情報も一緒に削除されます。エピソードを削除すると、そのエピソードから作られた事実も削除されます。そのような事実を削除すると、そこに統合されたすべてのエピソードが削除されます。どちらの場合も、その内容のワーキングメモリ上のコピーが削除されます。一緒に削除された項目は alsoForgotten に一覧表示されます。単独で保存され、統合されていないメモリは、長期メモリのエントリーとして保持されます(duplicates は、検索結果にそのようなコピーがあることを示します)。ワーキングメモリのスロットはコピーにすぎないため、削除する場合はそこではなく、長期メモリの結果を指定してください。メモリを修正するには、いったん削除してから修正した内容を保存します。
zenbrain_consolidate1 回のメンテナンス処理を行います。最近のエピソード 100 件のうち、感情の重みが 0.5 を超えるものを、それぞれ 1 回だけ意味的事実にします。ワーキングメモリのスロットは減衰し、関連度が 0.01 以下のものは削除されます。長期メモリから削除されるものはありません。
zenbrain_health各レイヤーの使用状況を表示します。使用中のスロット数、エピソード数、事実の数と確認が必要な件数、手順数、コアブロック数が分かります。

インストール

Node.js 22 以降が必要です。

npm install -g @zensation/mcp

クライアントの設定

{
  "mcpServers": {
    "zenbrain": {
      "command": "npx",
      "args": ["-y", "@zensation/mcp"],
      "env": {
        "ZENBRAIN_DB": "~/.zenbrain/memory.db"
      }
    }
  }
}
変数デフォルト意味
ZENBRAIN_DB./zenbrain.dbSQLite ファイルへのパスです。先頭の ~/ はホームディレクトリを表します。相対パスは、クライアントがサーバーを起動するディレクトリからの相対パスです。Claude Desktop など一部のクライアントは、書き込みできない / から起動する場合があるため、絶対パスまたは ~/ で始まるパスを指定してください。:memory: を指定すると、プロセスの終了時に破棄されるストアになります。
ZENBRAIN_CONTEXTSpersonal,work,learning,creativeコンマ区切りのコンテキストドメインで、コンテキスト横断レイヤーに渡されます。5 つのツールはいずれもまだこのレイヤーを使っていないため、現在、この値は効果がありません。

サーバーは stdio 経由で MCP 通信を行います。標準出力にはプロトコルの通信データのみが出力され、診断情報は標準エラー出力に送られます。

7 つのレイヤー

保存することと分類することは同じではありません。メモリがどのレイヤーに格納されるかによって、取得方法と統合時の処理が決まります。5 つのツールが扱うのは、ワーキングメモリ、エピソード記憶、意味記憶、手続き記憶、コアメモリです。短期記憶は zenbrain_health のカウンターとしてのみ表示され、コンテキスト横断メモリはどのツールにも接続されていません。

レイヤー格納する内容
7コンテキスト横断メモリ異なるドメインのエンティティ間のリンク(実験段階。使用するツールはありません)
6コアメモリピン留めされた事実
5手続き記憶「X の方法」— スキルとワークフロー
4長期意味記憶FSRS によるスケジューリングが行われる事実
3エピソード記憶具体的な経験や出来事
2短期記憶/セッション現在の会話コンテキスト
1ワーキングメモリアクティブなタスクへの集中、7±2 項目

長期記憶の内容は、自然に減衰したり削除されたりすることはありません。減衰するのはワーキングメモリのみです。 すべての事実に FSRS のレビュー予定が設定されますが、レビューを報告するツールはないため、このサーバーを通じて予定が進むことはありません。感情的な重みは、振り分け先(0.5 を超える場合はエピソード)と、統合時にエピソードから事実に変換される内容を決定します。アルゴリズムは @zensation/algorithms にあり、1 行ずつ確認できます。

このサーバーでは LLM プロバイダーを一切設定していないため、モデルを呼び出す処理はありません。保存時の振り分けはコンテンツに基づくヒューリスティックで行われ、統合では生成された要約を使いません。

このリリースで対応していないこと

導入前に知っておくべき点です。

  • デフォルトでは埋め込みプロバイダーが設定されていないため、想起は意味的ではなく字句的に行われます。 ベクトルがない場合、想起の順位は、正規化したトークンの重複度に基づいて決まります。ウムラウトやアクセント記号は正規化され、出現頻度の低い単語ほど重みが増し、隣接する語句は同じ単語が離れて出現する場合より優先されます。「Kieler Förde」に関するメモから「Kieler Foerde」を見つけることはできますが、「car」と「automobile」を関連付けることはできません。エピソードと事実は、それぞれ直近 500 件から順位付けされ、手続きは成功率が最も高い 500 件から順位付けされます。クエリに一致する内容がないレイヤーでは、直近のエピソードと事実、または最も成功率の高い手続きが score: 0 で返され、すべての一致結果より後に配置されます。すべてのコアブロックには 0.5 または 0.8 が付くため、ブロックが一致度の低い結果より上位になる場合があります。ワーキングメモリを要求した場合も、同じ方法で順位付けされます。真の意味的マッチングを行うには、ライブラリ経由で EmbeddingProvider を渡してください。公開済みのベンチマークでは、この構成を使用しています。
  • SQLite の類似検索は全件走査です。 1 人分のメモリには十分ですが、大規模なデータには @zensation/adapter-postgres を使用してください。
  • 統合はツールの呼び出しであり、スケジュールではありません。 自動で実行するものはありません。
  • ストアは通常のファイルです。 暗号化されていません。ノートを置く場所と同じような場所に保存してください。サーバーの実行中は、SQLite が -wal ファイルと -shm ファイルを同じ場所に保持します。

ライブラリとして使用する

サーバーファクトリーがエクスポートされているため、ZenBrain のツールを独自のサーバーにマウントしたり、テストで実行したりできます。パッケージは ESM です。Node 22.12 以降では require() で読み込めます(22.0~22.11 では import を使用してください)。

import { createZenBrainServer } from '@zensation/mcp/server';
import { MemoryCoordinator } from '@zensation/core';
import { SqliteAdapter } from '@zensation/adapter-sqlite';

const coordinator = new MemoryCoordinator({
  storage: new SqliteAdapter({ filename: './memory.db' }),
});

const server = createZenBrainServer(coordinator);
// connect it to any transport you like — the caller owns the coordinator's lifecycle

依存関係ゼロであることと、その境界

@zensation/algorithms と @zensation/core は、互い以外の依存関係を取り込みません。この主張は、ソースツリーではなく、パッケージ化された tarball を対象に、 プッシュのたびに CI で検証されています。

このパッケージは、意図的にその境界の外に置かれています。 MCP サーバーにはプロトコル SDK が必要なため、このパッケージにはそれが含まれています。別パッケージにしておくことで、コアをクリーンな状態に保てます。@zensation/core をインストールしても MCP SDK は取り込まれず、このパッケージをインストールしても、コアが掲げる主張が損なわれることはありません。

ZenBrain について

ZenBrain は、神経科学に着想を得た LLM エージェント向けの 7 層メモリアーキテクチャです。TypeScript で構築され、Apache-2.0 のもとで公開されています。@zensation/algorithms と @zensation/core にサードパーティー依存関係はありません。ベンチマーク結果と測定時の構成は論文で報告されており、再現用パッケージは Zenodo で公開されています。

埋め込みプロバイダーなしですぐに使用できます。語彙ランキングを採用しているため、追加でインストールするものはありません。論文では、他のシステムと比較する ZenBrain のベンチマーク実行に nomic-embed-text を埋め込みプロバイダーとして使用しました。検索のアブレーション実験では OpenAI の text-embedding-3-small を使用しました。

ライセンス:Apache-2.0

コメント

MCP は初めてですか?

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

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