Memtrace について
Memtrace は AI コーディングエージェント向けの構造的メモリサーバーで、コードベースをシンボル、呼び出しエッジ、バージョン履歴からなるクエリ可能なナレッジグラフに変換します。セッションをまたいでコードの文脈を共有したい開発者向けで、グラフの構築には LLM 呼び出しではなくローカルの解析を用います。
主な機能
- 01LLM を呼び出さないローカルの Tree-sitter AST 解析
- 02シンボルの完全なバージョン履歴を保持する双時態メモリ
- 03検索、影響分析、時系列分析のための 25 以上の MCP ツール
- 04リポジトリをまたぐ HTTP API トポロジーのマッピング
- 05Louvain によるコミュニティ検出とハイブリッド検索
活用シーン
- 01リファクタリング前のブラストレディウスの見積もり
- 02関数の呼び出し元、呼び出し先、クラス階層の照会
- 03複数のエージェント間での同一の構造的コードコンテキストの共有
MCP 対応
Memtrace は MCP サーバーとして、検索、関係性の照会、影響分析、時系列分析、インデックス作成の機能を MCP ツールとしてクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
エージェントには構造的メモリが必要です。
Syncable 公式の Memtrace。 memtrace.io/docsから始めてください。公式パッケージはnpm の memtrace、公開リポジトリはsyncable-dev/memtrace-publicです。同じ名前の他のプロジェクトとは関係ありません。memtrace --versionをStable and Nightly のリリース履歴と比較してください。
インストールに関するサポートが必要な場合は、オペレーティングシステム、Memtrace のバージョン、正確なエラーを添えて、公式の公開リポジトリに issue を作成してください。共有するログから認証情報や非公開のソースコードを削除してください。Syncable チームがこのパッケージとサポート窓口を管理しています。
📖 ドキュメント · ⭐ スターを付ける · memtrace.io · npm · Discord
Memtrace はコードベースを、AI コーディングエージェントがミリ秒単位でクエリできるライブナレッジグラフに変換します。すべての関数、クラス、呼び出しエッジ、バージョンを、あらゆるセッションにわたって扱い、ファイルを読み直したり、見えないものを壊したりすることはありません。
90 秒以内に、エージェント群で構造的メモリを共有できます。
構造的 · LLM 呼び出しゼロ · 双時制 · 時系列を遡るクエリ · リプレイ対応 · 見落としのあるリファクタリングをゼロに
DeepSeek Harness
Memtrace はDeepSeek Harnessのプラグインとして動作します。まず Harness をインストールし(npm install -g @deepseek-ai/dsh — これはdshコマンドです)、次に Memtrace を追加します。
npx -y @deepseek-ai/dsh plugin --profile web add github:syncable-dev/dsh-plugin-memtrace
続いて、ワークスペースのインデックス作成と、影響範囲、変遷、またはアーキテクチャの概要の取得をエージェントに依頼します。詳細:syncable-dev/dsh-plugin-memtrace。
できること
リリースごとに、3つのことができます。
🧭 同じリポジトリ上で、マージ地獄に陥ることなく複数のコーディングエージェントを実行できます。 各エージェントは同じ呼び出しグラフを読み、影響範囲を把握し、同じ時系列の履歴を引き継ぎます。競合も、古いコンテキストもありません。
🔁 因果関係を完全に把握しながら、あらゆるリファクタリングを再現できます。 エージェントは、何が何に依存しているか、いつ何が変わったかを正確に確認できます。「関数をリファクタリングしたら、誰も気づかないうちに14個のテストが失敗した」という事態はもうありません。
⚡ 5万ファイルのリポジトリを90秒未満でインデックス化できます。 Rust + Tree-sitterにより、APIコストは0ドルです。20以上の言語に加え、フレームワーク対応スキャナー(Vapor、Lapis、Kong、GitHub Actions、Terraform、RLSポリシーなど)を備え、すべてローカルで動作します。コードがマシンの外に出ることはありません。
🆕 LeanCTX Native — 圧縮読み込み、スマートツリー、価値の記録。
get_source_window に4つの新しい圧縮モード、1回の呼び出しで生成するディレクトリマップ、リアルタイムのトークン節約ダッシュボード、静的テーブルを約14%上回るオプトイン方式の適応型学習機能を追加しました。詳細はこちら:docs/leanctx-native.md。v0.3.57以降で利用できます。
https://github.com/user-attachments/assets/e7d6a1e9-c912-4e65-a421-bd0256dffa5a
数値
| 操作 | Memtrace | 最良の代替製品 | Δ |
|---|---|---|---|
| 1,500ファイルのインデックス化 | 1.5s · $0 | Mem0:31 min · $10–50 | 約1,200倍高速 |
| 正確なシンボルクエリ(acc@1、lat) | 96.6% · 0.07 ms | GitNexus:97.0% · 8.95 ms | レイテンシーが128分の1 |
| グラフ呼び出し元の再現率(Django) | 81.6% | GitNexus:5.3% | 15.4倍 |
| 増分再インデックス化 p95 | 42.5 ms | CodeGrapher:613.7 ms | 14.4倍 |
| ハイブリッド acc@1(Django、3Kケース) | 73.9% | GitNexus:38.6% | 1.91倍 |
| PRコードレビューのF1(50 PR) | 0.7268 | Cubic v2:0.6077 | +19.60% |
| RSS/プロセス | 26 MB | ChromaDB:1,060 MB | 41倍省メモリ |
| 言語 | 16以上(Tree-sitter) | 製品により異なる | — |
再現可能なベンチマークスイート: benchmarks/。同じマシン、同じコーパス、同じアダプター契約を使用しています。正解データはPythonのastとpyrightのLSPから取得しており、ツール独自のインデックスからは取得していません。データセット内で特定のシステムが有利になることはありません。
詳細:BENCHMARKS-v0.3.22.md · BENCHMARKS-v0.3.29.md · コードレビュアーのベンチマーク
GitHubスターの増加
アクセスを申し込む
Memtraceはプライベートベータです。フィードバックのサイクルを短く保つため、アクセスを段階的に提供しています。各グループはDiscordチャンネルに参加し、実際のバグ報告に基づく修正を1週間以内にリリースします。
→ memtrace.ioでウェイトリストに登録してください。
すでにアクセスできますか?npm install -g memtrace を実行すれば、90秒でインデックス化を開始できます。詳しいセットアップ手順は以下をご覧ください。
🔒 プライバシー。 Memtraceはすべてお使いのマシン上で動作します。ソースコードが外部に送信されることはありません。ネットワーク通信は、ライセンスの検証、ノード/エッジ数の集計、オプトアウト可能なクラッシュテレメトリーに限られます。ソース、ファイルパス、シンボル名は送信されません。詳細:PRIVACY.md、TELEMETRY.md。
MEMTRACE_TELEMETRY=offでテレメトリーを無効にできます。
Memtraceが存在する理由
コードインテリジェンスツールはすでに優れたものが存在します。GitNexusとCodeGrapherContextは、*「現在リポジトリにあるもの」*に対応するASTベースのグラフを構築します。
Memtraceは、双時間性を備えたエピソード型の構造的ナレッジグラフです。 同じAST基盤を土台に、2つの次元を追加しています。
- 時間的メモリ — すべてのシンボルが完全なバージョン履歴を保持します。6種類のスコアリングアルゴリズム(影響度、新規性、最新性、方向性、複合、概要)により、エージェントはさまざまな時間に関する問いを投げかけられます。「何が変わったのか?」、「何が予想外なのか?」、「何が壊れるのか?」。
- サービス間APIトポロジー — Memtraceはリポジトリ間のHTTP呼び出しグラフをマッピングし、アーキテクチャ全体でどのサービスがどのエンドポイントを呼び出すかを検出します。
さらに、その構造レイヤーは包括的です。
| シンボルはノード | 関数、クラス、インターフェース、型、エンドポイント |
| 関係はエッジ | CALLS、IMPLEMENTS、IMPORTS、EXPORTS、CONTAINS |
| コミュニティ検出 | Louvainアルゴリズムがアーキテクチャ上のモジュールを自動で特定します |
| ハイブリッド検索 | Tantivy BM25 + ベクトル埋め込み + Reciprocal Rank Fusion + クロスエンコーダーによる再ランク付け |
| Rustネイティブ | コンパイル済みバイナリで、Python/JSのランタイムオーバーヘッドがなく、クエリレイテンシはp95で8 ms未満です |
エージェントはコードを検索するだけではありません。コードを記憶します。
Memtraceと汎用メモリシステム(Mem0、Graphiti)の比較
Mem0とGraphitiは、エンティティに関する知識(例:User -> Likes -> Apples)の追跡を目的に設計された、優れた会話メモリエンジンです。この用途では非常に優れています。コードインテリジェンスに特化して使う場合のトレードオフは、グラフの構築にLLM推論を使うため、数千のソースファイルを処理するとコストと時間が増えることです。
Graphitiはadd_episode()を通じてデータを処理し、エピソードごとに複数のLLM呼び出し(エンティティ抽出、関係の解決、重複排除)を実行します。毎分約50エピソード(ソース)の速度では、1,500個のコードファイルの取り込みに1~2時間かかります。
Mem0はclient.add()を通じてデータを処理し、メモリアイテムごとのLLMによる抽出と競合解決を非同期でキューに追加します(ソース)。infer=True(デフォルト)で一括取り込みを行うと、すべてのファイルがLLMパイプラインを経由します。スループットはLLMプロバイダーのレート制限によって制約されます。
どちらも関係を解析するのではなく推論するため、大規模なコードベースではAPIコストが10~50ドル以上に膨らみます。
Memtraceは別のアプローチを取ります。 1,500個のファイルを1.2~1.8秒、0.00ドルでインデックス化します。LLMの呼び出しも、APIコストも、レート制限もありません。ネイティブのTree-sitter ASTパーサーが、決定的なシンボル参照(CALLS、IMPLEMENTS、IMPORTS)をローカルで解決します。トレードオフとして、Memtraceはコードに特化して設計されているため、Mem0やGraphitiのような会話上のエンティティメモリは扱いません。
25 以上の MCP ツール
Memtrace は、Model Context Protocol を通じて、包括的な構造解析ツールキットを提供します。
|
検索と発見
関係性
影響分析
コード品質
|
時間的分析
グラフアルゴリズム
API トポロジー
インデックス作成と監視
|
17 個のエージェントスキル
Memtrace には、エージェントがグラフを使う方法を教えるスキル/ガイダンスが用意されています。依頼内容に応じて自動的に実行されるため、プロンプトエンジニアリングは不要です。
| スキル | 依頼の例… |
|---|---|
memtrace-search | 「この関数を探して」「X はどこで定義されていますか」 |
memtrace-relationships | 「これを呼び出しているのは誰ですか」「クラス階層を表示して」 |
memtrace-evolution | 「今週何が変わりましたか」「これはどのように進化しましたか」 |
memtrace-impact | 「これを変更すると何が壊れますか」「影響範囲」 |
memtrace-quality | 「デッドコードを探して」「複雑度の高い箇所」 |
memtrace-graph | 「アーキテクチャを表示して」「ボトルネックを探して」 |
memtrace-api-topology | 「API エンドポイントを一覧表示して」「サービスの依存関係」 |
memtrace-index | 「このプロジェクトにインデックスを作成して」「このコードベースを解析して」 |
memtrace-cochange | 「これと一緒に何が変わりますか」「隠れた結合」 |
さらに、複数のツールを判断ロジックで連携させる 8 個のワークフロースキルがあります:memtrace-first、codebase-exploration、change-impact-analysis、incident-investigation、refactoring-guide、continuous-memory、episode-replay、session-continuity。
時間的エンジン
さまざまな時間的な問いに対応する 6 種類のスコアリングアルゴリズム:
| モード | 最適な用途 |
|---|---|
compound | 汎用的な「何が変わりましたか?」— 影響度、新規性、直近性を重み付けして組み合わせます |
impact | 「何が壊れましたか?」— 影響範囲で順位付けします(in_degree^0.7 × (1 + out_degree)^0.3) |
novel | 「予想外のことは何ですか?」— 驚き度スコアによる異常検出 |
recent | 「インシデント付近で何が変わりましたか?」— 時間経過に伴う指数減衰 |
directional | 「何が追加され、何が削除されましたか?」— 非対称スコアリング |
overview | モジュールレベルの簡易サマリー |
構造的重要度予算化を使用し、重要度の合計の 80% 以上をカバーする最小限の変更セットを提示します。
互換性
| エディター/エージェント | MCP ツール(25 個以上) | スキル/ガイダンス | インストール |
|---|---|---|---|
| Claude Code | ✅ | ✅ | npm install -g memtrace — 完全自動 |
| Claude Desktop | ✅ | ✅ | 自動 — Claude Code と共有 |
| DeepSeek Harness | ✅ | ✅ | npx -y @deepseek-ai/dsh plugin --profile web add github:syncable-dev/dsh-plugin-memtrace |
| Cursor(v2.4 以降) | ✅ | ✅ | npm install -g memtrace — 完全自動 |
| Codex CLI | ✅ | ✅ | npm install -g memtrace — 完全自動 |
| Windsurf | ✅ | ✅ | npm install -g memtrace — 完全自動 |
| VS Code(Copilot) | ✅ | ✅ | npm install -g memtrace — 完全自動 |
| Hermes | ✅ | ✅ | npm install -g memtrace — 完全自動 |
| OpenCode | ✅ | ✅ | npm install -g memtrace — 完全自動 |
| Kiro | ✅ | Steering | npm install -g memtrace — 完全自動 |
| Cline/Roo Code | ✅ | — | MCP サーバーを手動で追加 |
| 任意の MCP クライアント | ✅ | — | MCP サーバーを手動で追加 |
スキルは、ツールを連携して使う方法をエージェントに教えるワークフロープロンプトです。Kiro は SKILL.md を使用しないため、Memtrace は代わりに同等の自動 Steering ファイルを作成します。
セットアップ
DeepSeek Harness
dsh は Memtrace ではなく、@deepseek-ai/dsh に含まれています。
npm install -g @deepseek-ai/dsh
dsh plugin --profile web add github:syncable-dev/dsh-plugin-memtrace
グローバル CLI を使わない場合:
npx -y @deepseek-ai/dsh plugin --profile web add github:syncable-dev/dsh-plugin-memtrace
このバンドルは Memtrace のスキルを登録し、Harness プロファイル内で memtrace mcp を起動します。初回起動時は npx 経由で Memtrace バイナリを取得する場合があります。npm install -g memtrace と MEMTRACE_BIN=memtrace を使って、ローカルインストールを固定できます。
Claude Code + Claude Desktop
npm install -g memtrace
バイナリ、17 個のスキル、MCP サーバー、プラグイン、マーケットプレイスなど、すべてを処理します。1 つのコマンドで、両方のエディターに対応します。
手動でセットアップする場合:
claude plugin marketplace add https://github.com/syncable-dev/memtrace-public.git
claude plugin install memtrace-skills@memtrace --scope user
claude mcp add memtrace -- memtrace mcp
Cursor
npm install -g memtrace を実行すると、すべてが自動的に処理されます。Cursor v2.4 以降は、Claude と同じ SKILL.md 形式を読み込みます。
プロジェクトローカルにインストールする場合(スキルをリポジトリと一緒に管理できます):
npx memtrace-skills install --only cursor --local
Codex、Windsurf、VS Code、Hermes、OpenCode、Kiro
インストーラーは、新しいエージェント環境向けにスキル/ガイダンスと MCP 設定も作成します。
| エージェント | グローバルスキル/ガイダンス | グローバル MCP 設定 | プロジェクトローカルのサポート |
|---|---|---|---|
| Codex | ~/.agents/skills/ | ~/.codex/config.toml | .agents/skills/、.codex/config.toml |
| Windsurf | ~/.codeium/windsurf/skills/ | ~/.codeium/windsurf/mcp_config.json | .windsurf/skills/。MCP はユーザーレベルのまま |
| VS Code/Copilot | ~/.copilot/skills/ | VS Code のユーザー mcp.json | .github/skills/、.vscode/mcp.json |
| Hermes | ~/.hermes/skills/ | ~/.hermes/config.yaml | ユーザーレベルのみ |
| OpenCode | ~/.config/opencode/skills/ | ~/.config/opencode/opencode.json | .opencode/skills/、opencode.json |
| Kiro | ~/.kiro/steering/ | ~/.kiro/settings/mcp.json | .kiro/steering/、.kiro/settings/mcp.json |
選択した連携機能のみをインストールします。
npx memtrace-skills install --only codex,windsurf,vscode,hermes,opencode,kiro
対応している環境では、プロジェクトローカルの設定をインストールします。
npx memtrace-skills install --only codex,vscode,opencode,kiro --local
その他の MCP クライアント
Cline、Roo Code、または MCP ツールだけが必要なクライアントの場合は、次のサーバーを手動で追加します。
{
"mcpServers": {
"memtrace": {
"command": "memtrace",
"args": ["mcp"],
"env": {}
}
}
}
| エディター | 設定ファイル |
|---|---|
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
| VS Code(Copilot) | プロジェクトルートの .vscode/mcp.json |
| Codex | ~/.codex/config.toml または .codex/config.toml |
| Hermes | ~/.hermes/config.yaml |
| OpenCode | ~/.config/opencode/opencode.json またはプロジェクトの opencode.json |
| Kiro | ~/.kiro/settings/mcp.json または .kiro/settings/mcp.json |
| Cline | 拡張機能パネルの Cline MCP 設定 |
アンインストール
memtrace uninstall # removes skills, MCP server, plugin, settings
npm uninstall -g memtrace
先に npm uninstall を実行済みの場合は、クリーンアップスクリプトが ~/.memtrace/uninstall.js にあります。
node ~/.memtrace/uninstall.js
インストール時のトラブルシューティング
npm install -g memtrace では、小さなメインパッケージとプラットフォーム固有のバイナリ(@memtrace/darwin-arm64、@memtrace/linux-x64、@memtrace/win32-x64 のいずれか)がインストールされます。memtrace start で "Could not find binary for your platform" と表示された場合:
# Re-run install, asking npm to keep optional deps
npm install -g memtrace --include=optional
# Or refresh from latest
memtrace install # built-in self-update
npm install -g memtrace@latest --force
# Or install the platform binary directly (Apple Silicon shown — swap for your platform)
npm install -g @memtrace/darwin-arm64
これは通常、npm がオプションの依存関係をスキップするよう設定されているマシン(企業の npmrc、一部の CI キャッシュなど)でのみ発生します。
言語
プログラミング言語: Rust · Go · TypeScript · JavaScript · Python · Java · C · C++ · C# · Swift · Kotlin · Ruby · PHP · Dart · Scala · Perl · Lua — 関数、クラス、型、呼び出し、複雑度を含む完全な AST。
インフラストラクチャと設定: YAML · HCL / Terraform · JSON · TOML · SQL(RLS 用の PostgreSQL CREATE POLICY を含み、ポリシーから Drizzle / Prisma / TS スキーマシンボルへの言語横断エッジに対応)。
AST レイヤー上の、フレームワークを考慮したスキャナー:
- バックエンド HTTP: Express · NestJS · Encore · Fastify · Vapor · Hummingbird · FastAPI · Flask · Django · Gin · Chi · Echo · Actix · Lapis · Kong · OpenResty · Rails ルート
- フロントエンド / クライアント: RTK Query · TanStack Query · SWR · URLSession · AsyncHTTPClient · axios · fetch · SwiftUI ビュー
- CI / インフラ: GitHub Actions ワークフロー(ジョブ、ステップ、
needs:エッジ) · Terraform 変数 / モジュール / データソース · Helm チャート · K8s マニフェスト - パッケージと依存関係のグラフ:
package.jsonのスクリプト + 依存関係 ·Cargo.tomlの依存関係 ·pyproject.toml(可能な範囲で対応) - データベース: PostgreSQL RLS ポリシー + トリガー + 関数。ORM スキーマへのヒューリスティックなエッジにも対応
要件
Memtrace はローカルで実行されます。初回のインデックス作成は CPU と RAM を多く使用しますが、その後のクエリと増分インデックス作成の負荷は大幅に軽くなります。
| 最小要件 | 推奨要件 | |
|---|---|---|
| CPU | 4 コア | 大規模なモノレポでは 8 コア以上 |
| メモリ | 8 GB RAM | 16~32 GB RAM |
| ディスク | 5 GB の空き容量 | 10~20 GB の空き容量 |
| GPU | 不要 | 不要 |
| Node.js | ≥ 18 | 現行の LTS |
| Git | 時系列分析に必要 | 最良の結果を得るにはリポジトリの全履歴 |
テレメトリ
v0.3.17 以降、Memtrace にはオプトアウト方式のテレメトリが含まれており、誰かが問題を報告する前にクラッシュ、リグレッション、パフォーマンスの問題を検出するのに役立ちます。
- 収集されるデータ: アプリ起動イベント、インデックス作成 / 埋め込みの所要時間、パニックレポート、Memtrace 独自のクレートからの WARN / ERROR ログ行。
- 収集されないデータ: ソースコード、ファイルの内容、シンボル名、埋め込み、リポジトリ名やパス、ブランチ名、コミットデータ。
- サニタイズ: すべてのペイロードは、ディスクに保存される前にサニタイザーを通過し、ホームディレクトリのパス、トークン形式の文字列、メールアドレスが除去されます。
環境変数を 1 つ設定すると無効にできます:
MEMTRACE_TELEMETRY=off memtrace start # per-run
export MEMTRACE_TELEMETRY=off # permanent (~/.zshrc, ~/.bashrc)
または、エディターの MCP 設定に "env": { "MEMTRACE_TELEMETRY": "off" } を指定してください。
ディスク上のキューの構成、受信側でのデータの保存先、送信される内容の確認方法を含む詳細は、TELEMETRY.md をご覧ください。
ライセンスと所有権
プロプライエタリな EULA。 プライベートベータ期間中および一般公開後も、個人の開発者は無料で利用できます。インデクサー + データベース(MemDB)はクローズドソースです。
benchmarks/ のベンチマークスイートは MIT ライセンスです。完全に再現可能で、実行にプロプライエタリなコードは必要ありません。
memtrace.io · Discord · npm · 問題
Syncable が開発 · デンマーク、コペンハーゲン 🇩🇰
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
