mcpField
R
remem-mcp — Local-first MCP Memory + CodeGraph + Wiki

remem-mcp — Local-first MCP Memory + CodeGraph + Wiki

ローカル
github.comメモリ・ナレッジ96 週間前に更新

remem-mcp — Local-first MCP Memory + CodeGraph + Wiki について

remem-mcpは、コーディングエージェント向けにローカルのSQLiteメモリ、コード索引、Wikiを提供し、エラーや判断を記録して後のセッションで検索できます。クラウドやデータベースサーバーは不要で、Gitを通じてチームとメモリを共有できます。

主な機能

  1. 01ローカルSQLiteへのメモリ保存
  2. 02エラーの自動記録とコンテキスト注入
  3. 03tree-sitterによるコード索引
  4. 04シンボル検索と呼び出し元分析
  5. 05メモリの検索・整理・減衰
  6. 06Gitエクスポートによるメモリ共有

活用シーン

  1. 01コンテキスト圧縮後に以前の判断を想起
  2. 02再試行前に過去のエラーを検索
  3. 03呼び出し元やコードへの影響範囲を特定
  4. 04Git経由でチームとメモリを同期

MCP 対応

MCPサーバーとして、クライアントにrecall、capture、CodeGraph、Wiki、フィードバックのツールを公開します。フックにより、セッション中のメモリ注入と保存も行います。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"tinhien11-remem": {
"command": "npx",
"args": [
"-y",
"remem-mcp"
]
}
}
}
起動コマンドnpx -y remem-mcp

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

パッケージ
npmremem-mcp0.5.17

ツール

48

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

パラメーター型必須説明
modeenumいいえ検索モード。hybrid | keyword | vector
typeenumいいえメモリの種類で結果を絞り込みます。チェックポイント/タスクを除外するには 'decision'、過去の失敗などを対象にするには 'error' を使用します。conversation | decision | learning | task | error | atom
limitintegerいいえ結果の最大件数。
querystringはい自然言語クエリ。このテキストを使って BM25 検索とベクトル検索を行います。
formatenumいいえ応答形式。ベンチマークなどの構造化データには 'json' を使用します。デフォルトは 'text' です。text | json
offsetintegerいいえページネーションのオフセット。次のページの結果を取得するには、これを使用します。
task_idstringいいえタスク ID。特定のタスクごとにメモリを分離するには、これを使用します。キャプチャをタスクに関連付けると、より細かく分離できます。
team_idstringいいえチーム ID。チームごとにメモリを分離するには、これを使用します。設定すると、すべてのクエリがこの値で絞り込まれます。
user_idstringいいえユーザー ID。これを使用すると、チーム内でユーザーごとにメモリーを分離できます。team_id と併せて設定すると、クエリは両方で絞り込まれます。
agent_idstringいいえエージェント ID。チーム内でエージェントの役割ごとにメモリを分離するには、これを使用します。デフォルトは検出されたエージェントです。
max_tokensintegerいいえ応答内の最大トークン数。結果がこの値を超えると、ツールはテキストを切り詰めます。
session_keystringいいえセッションキー。デフォルトは hash(cwd) です。別のプロジェクトのメモリを呼び出すには、これを使用します。

詳細

remem-mcp

npm version GitHub stars License: MIT Benchmark

コーディングエージェントが同じ間違いを繰り返さなくなります。

コンテキストの圧縮後も保持される、ローカルファーストのメモリーです。あらゆるエラーから学習し、次の試行の前に修正方法を挿入し、Git リポジトリと同期するため、チーム全員で共有できます。

API キー不要。クラウド不要。データベースサーバー不要。SQLite ファイルだけです。


インストール

npx remem-mcp setup

ZCode、Claude Code、Cursor、Devin、Codex を自動検出します。MCP サーバーとフックを登録します。


クイックスタート

  1. エージェントを再起動します(終了して再度開きます)
  2. 「何を覚えていますか?」と尋ねます
  3. エージェントが過去のコンテキストを思い出せば、メモリーは動作しています

エージェントに次のように伝えられます:

  • 「src のコードをインデックス化して」→ CodeGraph がシンボルをインデックス化します
  • 「関数 X を呼び出している箇所を見つけて」→ 呼び出し元を分析します
  • 「何を覚えていますか?」→ 過去のコンテキストを呼び出します

自動的に行われる処理

タイミング処理
セッション開始時過去のエラー、判断、ペルソナをエージェントのコンテキストに挿入します
各プロンプト一致するメモリーをエージェントのコンテキストに挿入します
コマンド失敗時エラーをメモリーとして自動的に記録します
コンテキスト圧縮時圧縮後にメモリーを再挿入します
セッション終了時ワーカーが事実を自動抽出し、要約を統合してペルソナを更新します

コマンドを実行する必要はありません。エージェントは回答前に recall() を呼び出し、作業後に capture() を呼び出します。スキルがそのように指示します。


仕組み

AI Agent (ZCode / Claude Code / Devin / Cursor / Codex)
    │
    ├── MCP tools ──▶ recall, capture, codegraph_*, wiki_*, feedback
    │
    └── Hooks ──▶ SessionStart, UserPromptSubmit,
                  PostToolUse, PostCompaction, SessionEnd
                        │
                        ▼
              SQLite (memory.db)

  L0 captures → L1 atoms → L2 scenarios → L3 persona
  (raw)        (facts)      (summaries)    (preferences)

  CodeGraph: symbols + calls + imports (tree-sitter, 9 languages)
  Memory links: Hebbian co-retrieval (frequently co-retrieved = stronger)

LLM API キーは不要です — ルールベースの抽出とキーワードのグループ化を使用します。


CodeGraph

tree-sitter による構造的なコードインデックス化です。エージェントはシンボルを見つけるために grep の代わりに codegraph_search を使用します。

npx remem-mcp index --path src              # index a directory
npx remem-mcp search-code --query "parseTar"  # find symbols
npx remem-mcp callers <id>                  # who calls this?
npx remem-mcp impact <id>                   # blast radius

9 言語:TS/JS/Python/Go/Rust/Java/C/C++/C#。6 つの戦略による呼び出し解決(import-map → same-module → unique-name → suffix → fuzzy)。標準ライブラリの呼び出しは除外されます。

リポジトリファイルシンボル呼び出し時間
remem-mcp793016,4563s
AZR Go4553,41741,603111s
Orca TS3,0007,63278,981705s

何が違うのか

remem-mcpMem0Claude MEMORY.mdMneme
圧縮後も保持はいはい — クラウドいいえ — 200 行の上限はい
エラーから学習はい — 自動いいえいいえいいえ
検索ハイブリッド BM25 + ベクトル + エンティティベクトルのみなしベクトル + グラフ
メモリーのリンクヘブ則による共検索なしなしグラフ
減衰/忘却はいいいえいいえいいえ
CodeGraphはい — 6 つの戦略による呼び出し解決いいえいいえいいえ
トークンの外部化はい — Mermaid キャンバスいいえいいえいいえ
セットアップ1 コマンドAPI キー + クラウド組み込みソースからビルド
費用無料$19–249/月無料無料

便利なコマンド

npx remem-mcp status           # health + hooks + DB + CodeGraph
npx remem-mcp viewer           # web UI at localhost:7331
npx remem-mcp errors           # error dashboard
npx remem-mcp recent [N]       # recent captures
npx remem-mcp help all         # full list of 40+ subcommands

設定

すべての設定にはデフォルト値があります。設定ファイルは任意です:~/.config/remem-mcp/config.json。

設定環境変数デフォルト
DB パスREMEM_DB_PATH~/.local/share/remem-mcp/memory.db
プロジェクト間メモリーREMEM_GLOBAL_SESSION_KEY(未設定)
統合フロー(F1+F2+F3)REMEM_FLOW(未設定。full に設定)
フックのフィードバックを抑制REMEM_QUIET(未設定。1 に設定)

グローバルメモリーポリシー — REMEM_GLOBAL_SESSION_KEY を設定すると、プロジェクト間メモリーを自動的に読み取ります。ユーザーが明示的にグローバルへの保存を求めない限り、記録内容はプロジェクト内にとどまります。求められた場合は、session_key: "global" を使用します。通常の記録内容を自動的にグローバルとして分類しないでください。

チーム共有 — npx remem-mcp sync-export を実行すると、.remem-mcp/memory-export.jsonl が書き出されます。これを Git にコミットしてください。チームメンバーは git pull で同じメモリーを取得できます。

リポジトリごとの記録除外 — プロジェクトのルートに .remem.toml を配置します:

[capture]
ignore_paths = ["node_modules", "dist", ".git", "*.min.js"]

ベンチマーク

ベンチマークremem-mcpMem0メモリなし
AMB(L1/L2/L3)100/100/100——
LoCoMo(長い会話のQA)9592.5—
PersonaMem(パーソナライズ)100—48
LongMemEval(ICLR 2025)9694.4—
bash scripts/bench-all.sh --quick   # AMB only (~2 min)

アーキテクチャ

システム図、スキーマ、パフォーマンスの詳細については、ARCHITECTURE.md をご覧ください。

クレジット

コア部分は TencentDB Agent Memory(MIT、Tencent 2026)をベースにしています。CodeGraph の呼び出し解決は Codebase-Memory(arXiv:2603.27277)を応用しています。リコールの向上は Akita On Rails による ai-memory を応用しています。コンテキスト検索は Anthropic(2024)を利用しています。

ライセンス

MIT。LICENSE をご覧ください。

コメント

MCP は初めてですか?

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

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