RemembrallMCP
👁 License: MIT
👁 Crates.io
👁 CI
👁 Docker
AIエージェントのための永続的な知識メモリとコードインテリジェンス。Rustコア、Postgres + pgvector、MCPプロトコルを採用。
課題: AIコーディングエージェントはステートレスです。すべてのセッションがゼロから始まり、過去の決定事項の記憶も、コードベースの全体像の理解も、変更による影響範囲の把握もできません。
解決策: RemembrallMCPは、ほとんどのメモリツールが提供していない2つの機能を提供します。
1. 永続的メモリ - セッション間をまたいで保持される決定事項、パターン、組織的な知識。ハイブリッドセマンティック+全文検索により、関連するコンテキストを即座に見つけ出します。
2. コード依存関係グラフ - tree-sitterで構築されたコードベースのライブマップ。8言語にわたる関数、クラス、インポート、呼び出し関係を網羅します。「これを変更すると何が壊れるか?」という問いに対し、エージェントが何かに触れる前に、ミリ秒単位で回答を得られます。
remembrall_recall("authentication middleware patterns")
-> 3 relevant memories from past sessions
remembrall_index("/path/to/project", "myapp")
-> Builds dependency graph: 847 symbols, 1,203 relationships
remembrall_impact("AuthMiddleware", direction="upstream")
-> 12 files depend on AuthMiddleware (with confidence scores)
remembrall_store("Switched from JWT to session tokens because...")
-> Decision stored for future sessionsコードグラフが重要な理由
RemembrallMCPがない場合、エージェントはセッションごとにコードベースをゼロから探索します。Claude CodeはExploreエージェントを生成し、Codexは数十のファイルを読み込み、Cursorはディレクトリをgrepします。これらはすべて、何が何を呼び出しているかを理解するためだけにトークンと時間を浪費しています。「この関数の呼び出し元をすべて見つける」という単一のタスクでさえ、複数のツール呼び出しを通じて数千トークンを消費する可能性があります。
RemembrallMCPがあれば、同じクエリは単一のremembrall_impact呼び出しとなり、探索トークンゼロで1ms未満で結果が返ります。依存関係グラフはすでに構築され、待機しているからです。
RemembrallMCPなし | RemembrallMCPあり | |
「UserServiceを呼び出しているのは?」 | エージェントがgrepし、8〜15ファイルを読み込み、サブエージェントを生成 |
|
「認証ミドルウェアはどこで定義されている?」 | エージェントがglobし、一致箇所を読み込み、フィルタリング |
|
「キャッシュについてどう決めた?」 | エージェントはコンテキストを持たず、あなたに尋ねる |
|
一般的な探索コスト | 質問ごとに5,000〜20,000トークン | 約200トークン(ツール呼び出し+応答) |
節約効果はコードベースの規模に応じて拡大します。小規模なプロジェクトではエージェントがgrepして読み進めることも可能ですが、500ファイル規模のモノレポでは、その探索がボトルネックとなります。エージェントはコンテキスト制限に達したり、複数のサブエージェントを生成したり、モジュール間の依存関係を見落としたりします。RemembrallMCPのグラフクエリは、構造が実行時ではなくPostgresに事前インデックスされているため、プロジェクトサイズに関係なく10ms以下に収まります。
これが、毎回コードベースを探索するエージェントと、すでに理解しているエージェントとの違いです。
ベンチマーク
RemembrallMCPは現在、以下の2つの側面でベンチマークされています。
コードタスクにおけるエージェントの生産性 - pallets/click v8.1.7(594シンボル、1,589関係)でテスト。5つの同一コーディングタスクをRemembrallMCPの有無で実行。完全なレポート。
メモリ想起の品質 - 検索品質、フィルタリング、エッジケース、ランキング、レイテンシをカバーする31の正解クエリに対するローカル想起ハーネスを実行。
メトリクス | RemembrallMCPなし | RemembrallMCPあり | デルタ |
合計ツール呼び出し (5タスク) | 112 | 5 | -95.5% |
推定トークン数 | ~56,000 | ~1,000 | -98.2% |
質問あたりの平均ツール呼び出し | 22.4 | 1.0 | -95.5% |
節約効果は大規模なコードベースでさらに高まります。Clickは約90ファイルですが、500ファイル以上のモノレポでは、RemembrallMCPなしのエージェントは比例して多くの探索呼び出しが必要になる一方、グラフクエリはサイズに関係なく10ms以下を維持します。
メモリ想起メトリクス | 結果 |
パスしたクエリ | 31 / 31 |
Recall@5 | 0.917 |
Precision@5 | 0.619 |
MRR | 0.908 |
p95レイテンシ | 14ms |
ベンチマークを自分で実行するには、ハーネスとタスク定義についてbenchmarks/を参照してください。
メモリ検索、長期記憶、コードグラフの正確性、エージェントの生産性にわたるより広範なベンチマーク戦略については、docs/benchmark-roadmap.mdを参照してください。
要件
Docker(最も簡単なセットアップ)またはPostgreSQL 16とpgvector
GitHub取り込み用: GitHub CLI (
gh) がインストールされ、認証済みであること
Related MCP server: smriti
クイックスタート
オプション1: Docker Compose(最も簡単)
git clone https://github.com/cdnsteve/remembrallmcp.git
cd remembrallmcp
# Start Postgres + initialize schema + download embedding model
docker compose up -d
# Verify it's running
docker compose exec remembrall remembrall status以上です。pgvector付きのPostgres、スキーマ、埋め込みモデルが自動的にセットアップされます。データベースとモデルキャッシュは再起動後も保持されます。
MCPサーバーを実行するには:
docker compose run --rm remembrallオプション2: 事前ビルド済みバイナリのダウンロード
# macOS (Apple Silicon)
curl -fsSL https://github.com/cdnsteve/remembrallmcp/releases/latest/download/remembrall-aarch64-apple-darwin.tar.gz | tar xz
sudo mv remembrall /usr/local/bin/
# Linux (x86_64)
curl -fsSL https://github.com/cdnsteve/remembrallmcp/releases/latest/download/remembrall-x86_64-unknown-linux-gnu.tar.gz | tar xz
sudo mv remembrall /usr/local/bin/
# Initialize (sets up Postgres via Docker, creates schema, downloads model)
remembrall initオプション3: ソースからビルド(Rust 1.94+が必要)
cargo build -p remembrall-server --release
# Binary is at target/release/remembrall
remembrall initMCPクライアントへの接続
Codex
Codexは同じMCPサーバー定義形式を使用します。サーバーをremembrallとして登録し、インストールされたバイナリまたはローカルのリリースビルドを指定します。
remembrallがPATHにインストールされている場合:
{
"mcpServers": {
"remembrall": {
"command": "remembrall"
}
}
}ローカルのソースチェックアウトから実行する場合:
{
"mcpServers": {
"remembrall": {
"command": "/path/to/remembrallmcp/target/release/remembrall",
"env": {
"DATABASE_URL": "postgres://postgres:postgres@localhost:5450/remembrall"
}
}
}
}CodexからDocker Composeを使用する場合:
{
"mcpServers": {
"remembrall": {
"command": "docker",
"args": ["compose", "-f", "/path/to/remembrallmcp/docker-compose.yml", "run", "--rm", "-T", "remembrall"]
}
}
}サーバーを追加した後、Codexを再起動して再接続し、ツールを読み込んでください。
Claude Code、Cursor、およびその他のMCPクライアント
プロジェクトの.mcp.jsonに追加します(Claude Code、Cursor、およびMCP互換クライアントで動作します)。
事前ビルド済みバイナリまたはソースからビルドした場合:
{
"mcpServers": {
"remembrall": {
"command": "remembrall"
}
}
}Docker Composeを使用する場合:
{
"mcpServers": {
"remembrall": {
"command": "docker",
"args": ["compose", "-f", "/path/to/remembrallmcp/docker-compose.yml", "run", "--rm", "-T", "remembrall"]
}
}
}ソースから実行する場合(PATHにインストールされていない):
{
"mcpServers": {
"remembrall": {
"command": "/path/to/remembrallmcp/target/release/remembrall",
"env": {
"DATABASE_URL": "postgres://postgres:postgres@localhost:5450/remembrall"
}
}
}
}MCPクライアントを再起動します。9つのツールすべてが自動的に利用可能になります。
試してみる
> "Store a memory: We chose Postgres over MongoDB because our query patterns
are relational. Type: decision, tags: database, architecture"
> "Recall what we know about database decisions"
> "Index this project and show me the impact of changing UserService"MCPツール
メモリ
ツール | 説明 |
| メモリの検索 - RRF融合によるハイブリッドセマンティック+全文検索 |
| 決定事項、パターン、知識をベクトル埋め込みで保存 |
| 既存のメモリを更新(コンテンツ、要約、タグ、重要度) |
| UUIDでメモリを削除 |
| GitHubリポジトリからマージ済みPRの説明を一括インポート |
| ディレクトリ内のMarkdownファイルをスキャンし、メモリとして取り込む |
コードインテリジェンス
ツール | 説明 |
| プロジェクトディレクトリを解析して依存関係グラフを作成(8言語) |
| 影響範囲分析 - 「これを変更すると何が壊れるか?」 |
| プロジェクト全体で関数やクラスがどこで定義されているかを探す |
対応言語
言語 | 拡張子 | 品質スコア |
Python | .py | A (94.1) |
Java | .java | A (92.6) |
JavaScript | .js, .jsx | A (92.0) |
Rust | .rs | A (91.0) |
Go | .go | A (90.7) |
Ruby | .rb | B (87.9) |
TypeScript | .ts, .tsx | B (84.3) |
Kotlin | .kt, .kts | B (82.9) |
スコアは、自動化された正解テストを使用して、実際のオープンソースプロジェクト(Click, Gson, Axios, bat, Cobra, Sidekiq, Hono, Exposed)に対して測定されました。
コールドスタート
新しいRemembrallMCPインスタンスには知識がありません。取り込みツールを使用して、既存のプロジェクト履歴からブートストラップしてください。
GitHub PR履歴から:
> remembrall_ingest_github repo="myorg/myrepo" limit=100gh経由でマージ済みPRを取得し、タイトルと本文をメモリに要約し、プロジェクトごとにタグ付けします。本文が50文字未満のPRはスキップされます。コンテンツのフィンガープリントによる重複排除により、繰り返し実行しても再取り込みを防ぎます。
Markdownドキュメントから:
> remembrall_ingest_docs path="/path/to/project"ディレクトリツリーを走査し、すべての.mdファイルを見つけ、H2セクションヘッダーで分割し、各セクションを検索可能なメモリとして保存します。node_modules、.git、targetなどのディレクトリはスキップします。README、ARCHITECTURE、ADR、およびその他のドキュメントに適しています。
プロジェクトごとに一度ずつ実行してください。取り込み後、remembrall_recallは即座にコンテキストを把握します。
アーキテクチャ
Source Code Organizational Knowledge
| |
v v
Tree-sitter Parsers Ingestion Pipeline
(8 languages) (GitHub PRs, Markdown docs)
| |
v v
+--------------------------------------------------+
| Postgres + pgvector |
| |
| memories (text + embeddings + metadata) |
| symbols (functions, classes, methods) |
| relationships (calls, imports, inherits) |
+--------------------------------------------------+
|
MCP Server (stdio)
|
Any MCP-compatible AI agent解析: tree-sitter (Rustバインディング、パイプラインにPythonは不使用)
埋め込み: fastembed (all-MiniLM-L6-v2, 384次元, プロセス内ONNX Runtime)
検索: ハイブリッドRRF (セマンティックコサイン類似度 + 全文tsvector)
グラフクエリ: サイクル検出と信頼度減衰を伴う再帰的CTE
トランスポート: rmcp経由のstdio
CLIコマンド
コマンド | 説明 |
| データベース、スキーマ、埋め込みモデルのセットアップ |
| MCPサーバーの実行(サブコマンドなしのデフォルト) |
| Dockerデータベースコンテナの起動 |
| Dockerデータベースコンテナの停止 |
| メモリ数、シンボル数、接続状態の表示 |
| 一般的な問題のチェック(Docker, pgvector, スキーマ, モデル) |
| スキーマの削除と再作成(全データを削除) |
| バージョンと設定パスの表示 |
設定
設定ファイル: ~/.remembrall/config.toml (remembrall initで作成)
環境変数は設定ファイルの値よりも優先されます:
変数 | 説明 |
| PostgreSQL接続文字列 |
| データベーススキーマ名 (デフォルト: |
プロジェクト構造
crates/
remembrall-core/ # Library - parsers, memory store, graph store, embedder
remembrall-server/ # MCP server + CLI binary
remembrall-test-harness/ # Parser quality testing against ground truth
remembrall-recall-test/ # Search quality testing
docs/ # Architecture and test plan docs
test-fixtures/ # Ground truth TOML files for 8 languages
tests/ # Recall test fixturesパフォーマンス
操作 | 時間 |
メモリ保存 | 7ms |
セマンティック検索 (HNSW) | 1ms未満 |
全文検索 | 1ms未満 |
ハイブリッド想起 (エンドツーエンド) | 約25ms |
影響分析 | 4-9ms |
シンボル検索 | 1ms未満 |
89個のPythonファイルのインデックス作成 | 2.3s |
ライセンス
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Appeared in Searches
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/roboticforce/remembrallmcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
