collective-memory について
Collective Memory は、AI セッションをまたいで情報を保存・検索する MCP サーバーです。プロジェクトのコンテキストを継続して扱いたいユーザー向けに、意味検索やプロジェクト別整理、類似記憶の重複防止を備え、データをローカルの組み込みデータベースに保存します。
主な機能
- 01意味に基づく記憶検索
- 02類似した内容の自動重複防止
- 03プロジェクト別の記憶整理
- 04種類ごとの記憶分類
- 05ローカル組み込みベクトルデータベース
活用シーン
- 01新しいセッションでプロジェクトの決定事項を確認
- 02セッションをまたいだ学びとコンテキストの保存
- 03プロジェクトや種類による記録の検索
MCP 対応
Collective Memory は MCP 経由で `remember` と `recall` ツールを提供し、記憶の保存と意味検索を行います。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Collective Memory
AI セッション間で永続的かつセマンティックなメモリを利用できる MCP サーバーです。コンテキスト、決定事項、学びを保存し、後から自然言語検索で呼び出せます。
理由
AI アシスタントはセッションが変わるとすべてを忘れてしまいます。Collective Memory はその問題を解決します。重要な情報を保存し、意味で検索し、積み重ねていけるコンテキストを構築します。
機能
- セマンティック検索 — キーワードではなく意味でメモリを検索します(OpenAI の埋め込み表現+LanceDB)
- 自動重複排除 — 類似度が 95%を超えるほぼ同一の情報は保存しません
- プロジェクトごとの分類 — プロジェクト単位でメモリを整理します
- 種類の分類 —
decision、milestone、context、learning、session_summaryに分類します - 設定不要のストレージ — 組み込みベクトルデータベースを使用するため、サーバーは不要です
インストール
npm install -g collective-memory
または、クローンしてビルドします。
git clone https://github.com/Hustada/collective-memory.git
cd collective-memory
npm install
npm run build
セットアップ
1. OpenAI API キーを取得する
埋め込み表現の生成に必要です。platform.openai.com で取得してください。
2. Claude Code に追加する
~/.claude/settings.json の mcpServers に追加します。
{
"mcpServers": {
"collective-memory": {
"type": "stdio",
"command": "npx",
"args": ["collective-memory"],
"env": {
"OPENAI_API_KEY": "sk-..."
}
}
}
}
ソースからインストールした場合は、次のように追加します。
{
"mcpServers": {
"collective-memory": {
"type": "stdio",
"command": "node",
"args": ["/path/to/collective-memory/dist/index.js"],
"env": {
"OPENAI_API_KEY": "sk-..."
}
}
}
}
3. CLAUDE.md に使用方法の指示を追加する
グローバルな ~/.claude/CLAUDE.md に追加します。
## Memory
Collective Memory is active. Two tools:
- `remember(content, project?, type?, tags?)` — Persist important context
- `recall(query, project?, type?, limit?)` — Search memory
**On session start**: Run `recall("recent decisions and context")` to load relevant memory.
When to remember: after decisions, milestones, completed work, learned patterns.
When to recall: session start, context switches, referencing past work.
Types: decision, milestone, context, learning, session_summary.
ツール
remember
セマンティック埋め込み表現とともにメモリを保存します。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
content | string | はい | 保存するメモリです。具体的で、それだけで意味が通じる内容にしてください |
project | string | いいえ | プロジェクトのコンテキスト(例:「myapp」、「client-x」) |
type | string | いいえ | 次のいずれか:decision、milestone、context、learning、session_summary |
tags | string[] | いいえ | 分類用のタグ |
保存したメモリの ID を返します。重複排除された場合は既存の ID を返します。
recall
セマンティック類似度でメモリを検索します。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
query | string | はい | 自然言語による検索クエリ |
project | string | いいえ | 特定のプロジェクトに絞り込みます |
type | string | いいえ | 特定のメモリの種類に絞り込みます |
limit | number | いいえ | 結果の最大件数(デフォルト:10) |
類似度スコア付きの、一致するメモリの配列を返します。
CLI
コマンドラインからも使用できます。
# Store a memory
collective-memory remember --content "Decided to use PostgreSQL for the auth service"
# Search memories
collective-memory recall --query "database decisions" --limit 5
# Pipe content from stdin
echo "Long content here" | collective-memory remember --content-stdin --project myapp
設定
| 環境変数 | デフォルト | 説明 |
|---|---|---|
OPENAI_API_KEY | (必須) | 埋め込み表現の生成に使用する OpenAI API キー |
COLLECTIVE_MEMORY_PATH | ~/.collective-memory/data | ストレージの保存場所 |
動作の仕組み
- 保存:OpenAI の
text-embedding-3-small(768 次元)を使用してコンテンツを埋め込みます - 重複排除:保存前に、類似度が 95%を超える既存のメモリがないか確認します
- インデックス作成:組み込みベクトルデータベースの LanceDB に保存します
- 検索:クエリを埋め込み、コサイン類似度で照合します
データ
メモリはローカルの ~/.collective-memory/data(または COLLECTIVE_MEMORY_PATH)に保存されます。LanceDB データベースのため、持ち運び可能で、サーバープロセスも不要です。
メモリをエクスポートするには:
npm run export # Outputs to viz/memories.json
可視化するには:
npm run dash # Opens UMAP visualization at localhost:3333
ライセンス
MIT
クレジット
The Victor Collective が開発しました。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。