mcpField
M
Mindtrail

Mindtrail

ローカル
github.com/RohitDeshmukh-1メモリ・ナレッジ12 週間前に更新

Mindtrail について

Mindtrailは、コーディングエージェント向けのローカル優先型メモリMCPサーバーです。プロジェクトの情報や個人の好みをセッションやツール間で保持し、ローカルのSQLiteファイルに保存します。キーワード検索とベクトル検索を組み合わせ、更新や完全削除にも対応します。

主な機能

  1. 01プロジェクトと個人の記憶を保持
  2. 02ローカルSQLite保存
  3. 03キーワードとベクトルのハイブリッド検索
  4. 04Gitリモートに基づく自動スコープ設定
  5. 05記憶の置き換え、履歴管理、削除
  6. 06検索、エクスポート、診断用CLI

活用シーン

  1. 01後のセッションでプロジェクトの規約を想起
  2. 02コーディングツール間で記憶を共有
  3. 03古いプロジェクト情報を更新
  4. 04保存した記憶をエクスポートまたは完全削除

MCP 対応

MindtrailはMCPクライアントに`remember`、`recall`、`forget`ツールを提供し、追加のメモリ管理ツールも有効にできます。サーバーの指示により、エージェントがツールを使うタイミングを判断できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"rohitdeshmukh-1-mindtrail": {
"command": "uvx",
"args": [
"mindtrail"
]
}
}
}
起動コマンドuvx mindtrail

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

パッケージ
pypimindtrail0.1.1

ツール

3

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

パラメーター型必須説明
kindanyいいえsemantic:長期的な事実や好み、episodic:起きた出来事、temporal:期間限定の事実、reflective:観察されたパターン。
scopeenumいいえ"project" はこのリポジトリ、"personal" はユーザーを指します。project | personal
contentstringはい単独で意味が通じる事実、好み、決定、または出来事を 1 つ記述します。
replacesanyいいえこれが置き換える古いメモリの ID。
importancenumberいいえ0 = 些細,1 = 重要。

詳細

🧭 Mindtrail

AI エージェントがたどれる足跡を残しましょう。

MCP 経由でコーディングエージェントに永続的なローカルファーストのメモリを提供します。エージェントに一度伝えれば、 次回以降のセッションでもその内容を覚えています。

PyPI MCP Registry CI Python License: MIT

インストール · 日々の使い方 · 仕組み · ベンチマーク · ドキュメント


新しいエージェントセッションは毎回、何も知らない状態から始まります。コーディング規約をもう一度説明し、好みを改めて伝え、先週決めたことを説明し直す必要があります。Mindtrail は、Model Context Protocol を通じてエージェント間で共有できる長期メモリを提供します。あるセッションが学んだことを、後続のあらゆるセッションで(どのツールでも)呼び出せます。

  • 🔌 あらゆる MCP クライアントで使えます。 Claude Code、Claude Desktop、Cursor、VS Code、Codex、ご自身のエージェント間で、1 つのメモリを共有できます。
  • 🏠 ローカルファーストでプライベートです。 お使いのマシン上に SQLite ファイルを 1 つ保存します。アカウントも API キーもテレメトリーも不要です。
  • ⚡ コマンド 1 つでインストールできます。 PyPI と公式の MCP Registry で公開されています。uv を使えば、事前のインストールも不要です。
  • 🗂️ スコープは自動的に設定されます。 リポジトリに関する情報はリポジトリに紐づき(git リモートから検出)、個人の好みはどこへ行っても引き継がれます。
  • 🔎 ハイブリッド検索に対応しています。 キーワード検索(BM25)とベクトル検索を統合して順位付けし、各結果の順位付けシグナルも表示します。
  • 🛡️ デフォルトで安全です。 認証情報の保存を拒否し、呼び出したメモリには信頼できないデータとして印を付け、確実に削除します。

実際に役立つのでしょうか?

Claude Code の実際のセッションを使ってテストしました。あるセッションで、ユーザーがプロジェクトに関する事実をさりげなく伝えます(「参考までに、このプロジェクトでは pnpm を使っています」)。その後、新しいセッションで、その事実に依存するタスクが与えられます(「lodash を追加するにはどうすればよいですか?」)。エージェントには Mindtrail を使うよう指示していません。

事実を自動で保存した後続のセッションで適用した
Mindtrail なしの Claude Code–0/12
mindtrail[semantic] を使った Claude Code36/3636/36

メモリがなければ、エージェントは毎回、いつものやり方で答えます。たとえば npm install lodash を実行したり、間違った形式のコミットメッセージを書いたり、ポート 5433 ではなく 5432 を使ったりします。Mindtrail があれば、まず確認し、プロジェクトに合った答えを得られます。これは小規模なテストであり(12 個の事実を 3 回ずつ実行、モデル 1 つ、空のリポジトリ)、大規模なコードベースでのタスク成功率を測るものではありません。 手法、生データ、再現方法。

インストール

Mindtrail には Python 3.11 以降が必要です。最も手軽な方法は uv です。uvx が Mindtrail を必要に応じてダウンロードして実行するため、クライアントに追加するだけで使えます。サーバーの初回起動時に、埋め込みモデル(約 210 MB)がバックグラウンドでダウンロードされます。

Claude Code
claude mcp add mindtrail --scope user -- uvx --from "mindtrail[semantic]" mindtrail serve

--scope user を指定すると、すべてのプロジェクトで Mindtrail を利用できます。claude mcp list で確認してください。

Cursor と VS Code

Cursor にインストール VS Code にインストール

Claude Desktop、Windsurf、その他の JSON 設定クライアント

クライアントの MCP 設定に追加します(Claude Desktop の場合:Settings → Developer → Edit Config):

{
  "mcpServers": {
    "mindtrail": {
      "command": "uvx",
      "args": ["--from", "mindtrail[semantic]", "mindtrail", "serve"]
    }
  }
}
Codex
# ~/.codex/config.toml
[mcp_servers.mindtrail]
command = "uvx"
args = ["--from", "mindtrail[semantic]", "mindtrail", "serve"]
uv を使わない場合

pipx(または pip)で CLI を一度インストールし、クライアントから mindtrail serve を指定します:

pipx install "mindtrail[semantic]"
mindtrail init                                             # downloads the model now and prints client configs
claude mcp add mindtrail --scope user -- mindtrail serve   # Claude Code

最小限のインストールにしたい場合は、[semantic] を外してください。Mindtrail はモデルをダウンロードせず、意味ではなく単語でマッチングします(より優れたセマンティック検索を参照)。 その他のクライアントとトラブルシューティングについては、docs/integrations.md をご覧ください。

試してみる
Session 1 › FYI, this project uses conventional commits and squash merges.
Session 2 › Write a commit message for these changes.
            → the agent recalls the convention and writes "feat(api): add pagination to /orders"
アップグレード

uvx は新しいリリースを自動的に取得します(uvx --refresh ... を実行すると確認を強制します)。pipx の場合は、 pipx upgrade mindtrail を実行してください。記憶は ~/.mindtrail に保存され、アップグレード後も保持されます。 変更内容については、変更履歴をご覧ください。

日常的な使い方

特別なコマンドは必要ありません。いつもどおり作業すれば、エージェントが何を記憶するか判断します。

  • 一度伝えるだけで記憶されます。 「release ブランチからデプロイします」、「unittest より pytest が好きです」、「不安定なテストはタイムゾーンのバグで、TZ=UTC に固定して修正しました」などです。エージェントはこうした事実を自動で保存します。確実に記憶させたい場合は、「覚えておいて……」と伝えてください。
  • プロジェクト用と個人用。 リポジトリに関する事実は、同じ git リモートのすべてのクローンで共有されるプロジェクト領域に保存されます。「短い回答が好きです」のようなあなたに関する事実は個人用領域に保存され、すべてのプロジェクトで適用されます。
  • 変化にも対応します。 「npm から pnpm に移行しました」と伝えると、エージェントは古い記憶と新しい記憶を両方残すのではなく、古い記憶を置き換えます。古い記憶は履歴として保持されますが、以後は呼び出されません。
  • 記憶している内容を確認できます。 「このプロジェクトについて何を覚えていますか?」と尋ねるか、ターミナルで mindtrail list や mindtrail recall "<question>" を実行してください。
  • いつでも忘れさせられます。 チャットで「ステージング URL を忘れて」と伝えるか、mindtrail forget <id> を実行してください。削除は取り消せません。
  • ツールを自由に切り替えられます。 同じ Mindtrail に接続した Claude Code、Cursor、Codex は記憶を共有するため、あるツールで教えた規約はすべてのツールで認識されます。

保存に適した情報は、規約、コマンド、担当者、設定ファイルの場所、決定事項とその理由、厄介なバグの根本原因などです。コードや git の履歴にすでに記載されていることを保存する必要はありません。シークレットは自動的に拒否されます。

仕組み

エージェントは 3 つのツールを利用し、Mindtrail のサーバー指示によって使用するタイミングが示されます。

ツール機能
remember事実、好み、決定事項、出来事を 1 つ、プロジェクトまたは個人用の領域に保存します。古くなった記憶を置き換えるには replaces を指定します。
recall現在のプロジェクトと個人用領域から、関連する記憶を検索します。関連する情報がない場合は何も返しません。
forget記憶を完全に削除します。

MINDTRAIL_TOOLS=full を設定すると、さらに 4 つのツールが使えます。search_memory(領域、種類、有効性によるフィルタリング)、get_context(トークン予算内でプロンプトにそのまま使えるブロックを取得)、update_memory(バージョン履歴を残して編集)、get_memory です。

これらのツールを支えるのは、重複の統合、置き換え、有効期間、バージョン履歴、ハイブリッドランキングに対応した、十分にテストされた小規模なエンジンです。docs/architecture.md をご覧ください。

ターミナルからメモリーを管理する

mindtrail recall "how do we deploy?"   # search project + personal memory
mindtrail remember "Staging is at staging.example.com" --scope project
mindtrail list                         # newest first
mindtrail forget <id>                  # permanent delete
mindtrail export -o memories.jsonl     # everything you've stored, as JSON Lines
mindtrail doctor                       # diagnose the install

より優れた意味検索

デフォルトの埋め込みモデルは、単語や単語の一部を照合します。意味に基づいて検索する場合(「どうやってデプロイする?」→「デプロイは GitHub Actions 経由で行う」)、ローカルのニューラルモデルをインストールしてください。CPU で動作し、API キーも必要ありません。

pipx install "mindtrail[semantic]"   # or use the uvx config above
mindtrail init        # downloads the model once (~210 MB) and re-indexes existing memories

ダウンロードサイズを小さくする場合(67 MB、検索精度はやや低下します)は、 MINDTRAIL_EMBEDDING_MODEL=BAAI/bge-small-en-v1.5 を設定してください。別のモデルで保存されたメモリーは、次回サーバーの起動時に自動的に再埋め込みされます。

検索ベンチマーク

エージェントのテストについては、実際に役立つのでしょうか?をご覧ください。調整には一度も使用していない、開発者メモリーに関する質問の2つのホールドアウトセット(合計82件)での結果です(手法)。

recall@1recall@5言い換えの recall@5「何も保存されていない」と正しく回答古い/無関係な情報の漏えい
デフォルトのインストール58–64%68–75%44–46%82–100%0%
mindtrail[semantic]82–90%93–94%85–89%100%0%

これは、私たちが作成した小規模な合成検索ベンチマークです。再現するには mindtrail bench を実行するか、独自のデータセットを追加してください。

Python から使用する

from mindtrail import MemoryService

memory = MemoryService.from_config()
memory.remember("The API uses FastAPI and PostgreSQL", space_id="project:shop")
print(memory.get_context("add a new endpoint", space_ids=["project:shop"]).text)

プライバシーとセキュリティ

すべてのデータは、お使いのマシン上の ~/.mindtrail/mindtrail.db に保存されます。Mindtrail は、API キー、トークン、秘密鍵と思われる内容の書き込みを拒否します。forget は削除したデータをディスク上で上書きします。また、呼び出されたメモリーは信頼されていない参照データとしてマークされるため、エージェントがその中に保存された指示に従うことはありません。問題の報告については SECURITY.md をご覧ください。

ロードマップ

  • コアエンジン:ハイブリッド検索、重複排除、置き換え、有効期間、履歴
  • プロジェクトのスコープ設定を自動で行う MCP サーバーと CLI
  • CI の検索ベンチマークスイート(recall@k、MRR、回答保留率、漏えい率)
  • PyPI と公式 MCP Registry で公開(v0.1.0)
  • マルチテナント分離に対応した PostgreSQL + pgvector バックエンド
  • ワンクリック OAuth コネクターを備えたホスト型リモート MCP
  • Web メモリービューアー(閲覧、編集、削除、エクスポート)
  • エンティティグラフ、矛盾の検出、メモリーの統合

コントリビューション

Issue と PR を歓迎します。セットアップ方法は CONTRIBUTING.md をご覧ください。スイート全体は約15秒で実行できます。Mindtrail によってコードベースを何度も説明し直す手間が省けたら、⭐ を付けていただくと、ほかの人にも見つけてもらいやすくなります。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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