mcpField
L
longmem

longmem

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

longmem について

longmemは、CursorとClaude Codeのコーディングエージェント向けの永続メモリMCPサーバーです。セマンティック検索とキーワード検索を組み合わせ、プロジェクトやセッションをまたいだ解決策の再利用を支援します。設定、レビュー、データ交換用のコマンドラインツールも備えています。

主な機能

  1. 01セマンティック検索とキーワード検索
  2. 02過去の解決策の保存と検索
  3. 03プロジェクトをまたぐメモリ共有
  4. 04設定、状態確認、レビュー用CLI
  5. 05メモリエントリーのインポートとエクスポート

活用シーン

  1. 01別プロジェクトで修正方法を再利用
  2. 02繰り返し発生するバグの過去の解決策を検索
  3. 03保存した解決策をチームで共有

MCP 対応

IDEがlongmemをMCPサーバーとして必要に応じて起動します。保存済みの解決策を検索、保存、修正、補足、管理するツールを提供します。

設定

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

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

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

パッケージ
pypilongmem0.2.1

ツール

11

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

パラメーター型必須説明
tagsanyいいえ検索を絞り込むための任意のキーワード(ライブラリ名、フレームワーク、エラーの種類、ツール名など)。例:['kubernetes','oom','python']。
problemstringはい解決しようとしている問題を説明してください。
categorystringいいえ問題の領域。次のいずれか:ci_cd、containers、infrastructure、cloud、networking、observability、auth_security、data_pipeline、ml_training、model_serving、experiment_tracking、llm_rag、llm_api、vector_db、agents、database、api、async_concurrency、dependencies、performance、testing、architecture、other。不明な場合は 'other' を使用してください。
languagestringいいえ該当する場合は、プログラミング言語を入力してください。例:'python'、'typescript'。
thresholdanyいいえ最小類似度(0~1)。デフォルトでは config.toml の similarity_threshold(デフォルト値は 0.85)を使用します。

詳細

longmem

AI コーディングアシスタントのための、プロジェクトをまたいで使えるメモリ。
同じ問題を二度解くのはやめましょう。

PyPI Python 3.11+ License: MIT Tests Coverage Open Issues Closed Issues marerem/longmem MCP server


半年後、別のプロジェクトでAIが同じバグを解決します。同じ定型コードを書き、同じパターンを説明します。答えはすでにわかっていたのに。

longmem は、あらゆるプロジェクトやセッションで使える永続的なメモリをAIに提供します。ゼロから推論する前に、すでに解決したことを検索します。うまくいったら、それを保存します。使い続けるほど、同じことを繰り返さなくて済みます。

You describe a problem
        │
        ▼
  search_similar()
  ┌─────────────────────────────────────────────────────┐
  │  1. pre-filter by category (ci_cd / auth / db / …)  │
  │  2. semantic search  (Ollama or OpenAI embeddings)   │
  │  3. keyword search   (SQLite FTS5 exact match)       │
  │  4. merge + rank results                             │
  └─────────────────────────────────────────────────────┘
        │                          │
   score ≥ 85%               score < 85%
        │                          │
        ▼                          ▼
  cached solution           AI reasons from scratch
  + edge cases                      │
  + team knowledge               "it works"
  (any project)                     │
                                    ▼
                          confirm_solution()
                          saved once — surfaces
                          from every future project

longmem を選ぶ理由

longmemその他
コスト無料 — ローカルの Ollama による埋め込みセッションごとに API 呼び出しが必要
プライバシーデータがマシンの外に出ることはありません観察データを外部 API に送信
プロセス必要に応じて起動し、デーモンは不要バックグラウンドワーカーとポートの開放が必要
IDE 対応Cursor + Claude Code主に 1 つの IDE のみ
検索ハイブリッド:セマンティック検索 + キーワード検索(FTS5)ベクトル検索のみ、またはキーワード検索のみ
チームエクスポート/インポート/共有 DB パス/S3シングルユーザー
ライセンスMITAGPL/プロプライエタリ

クイックスタート

1. インストール

pipx install longmem

2. セットアップ — Ollama を確認し、埋め込みモデルを取得して、IDE の設定を書き込みます

longmem init

3. 各プロジェクトで有効化 — AI にメモリの使い方を伝えるルールファイルをコピーします

cd your-project
longmem install

4. IDE を再起動します。 メモリツールがすべてのチャットで有効になります。

Ollama が必要ですか? ollama.com からインストールし、ollama pull nomic-embed-text を実行してください。または OpenAI を使用できます。詳しくは設定をご覧ください。


仕組み

longmem はMCP サーバーです。IDE が必要に応じて起動します。ワークフローは 2 つのルールに基づいています。

ルール 1 — まず検索します。 AI はバグや質問について推論する前に、search_similar を呼び出します。一致する結果が見つかった場合(コサイン類似度 ≥ 85%)、エッジケースに関するメモとともに、キャッシュされた解決策が返されます。しきい値を下回る場合は、通常どおり解決します。

ルール 2 — 成功したら保存します。 うまくいったことを確認すると、AI は confirm_solution を呼び出します。パラメーターは 1 つだけで、解決策のテキストを指定します。問題のメタデータは、先ほどの検索結果から自動入力されます。

ルールファイル(Cursor 用の longmem.mdc、Claude Code 用の CLAUDE.md)が、この仕組みを自動的に設定します。手動でプロンプトを入力する必要はありません。

AI が保存し忘れましたか? longmem review を実行してください。30 秒で解決策を保存できる対話型 CLI です。

コールドスタート — 初日から価値を引き出す

longmem はエントリーが蓄積されると、最も役立ちます。最も手早くデータを投入する方法は次のとおりです。

オプション 1 — その都度レビューする。 今週、問題を解決するたびに longmem review を実行し、修正した内容を説明します。10 件もあれば、違いを実感できます。

オプション 2 — チームでインポートする。 チームメイトがすでにエントリーを持っている場合、その人がエクスポートし、あなたがインポートします。

# teammate
longmem export team_knowledge.json

# you
longmem import team_knowledge.json

オプション 3 — DB を共有する。 チーム全員で同じ場所を指すように db_path(S3/クラウドの場合は db_uri)を設定します。保存するたびに、その内容がすぐに全員に共有されます。


CLI

コマンド内容
longmem init初回セットアップ:Ollama の確認、モデルのプル、IDE 設定の書き込み
longmem installルールを現在のプロジェクトにコピー
longmem status設定、Ollama への接続状況、エントリー数、DB サイズ
longmem export [file]すべてのエントリーを JSON に出力 — バックアップや共有に使用
longmem import <file>JSON エクスポートを読み込み — チームメイトの参加やマシンの移行に使用
longmem reviewAI が忘れた解決策を手動で保存

引数なしで longmem を実行すると、MCP サーバー(IDE が使用)を起動します。


設定

設定は ~/.longmem/config.toml にあります。すべてのフィールドは省略可能です。ローカルの Ollama インスタンスであれば、デフォルト設定のままで動作します。

OpenAI の埋め込みに切り替える
embedder       = "openai"
openai_model   = "text-embedding-3-small"
openai_api_key = "sk-..."   # or set OPENAI_API_KEY

追加パッケージをインストールします:pip install 'longmem[openai]'

チーム共有データベース

チームメンバー全員の設定で、同じパスを指定します。

# NFS / shared drive
db_path = "/mnt/shared/longmem/db"

または、クラウドストレージを使用します。

# S3 (uses AWS env vars)
db_uri = "s3://my-bucket/longmem"

# LanceDB Cloud
db_uri = "db://my-org/my-db"
lancedb_api_key = "ldb_..."   # or set LANCEDB_API_KEY

共有マウントがない場合は、longmem export/longmem import を使ってスナップショットを配布します。

チームナレッジベース

スタック全体で共通する事実を project="shared" として保存すると、どのリポジトリからでも見つかるようになります。

save_solution(
  problem="why oauth2-proxy uses port 4181 not default 4180",
  solution="General: 4180 is the oauth2-proxy default. 4181 means something else already occupies 4180.\n\nThis team's setup: Sinfonia always runs on 4180. Every other project uses 4181+ by convention.",
  project="shared",
  category="networking",
  tags=["oauth2-proxy", "ports", "nginx"]
)

search_similar はすべてのプロジェクトを検索するため、shared のエントリーは search_by_project を使わなくても、どのリポジトリからでも自動的に見つかります。

3 層の解決策フォーマット — 見つけた人が誰でも使えるように、解決策を記述します。

層範囲保存方法
1. 一般的なパターン汎用 — どのチームでも使用可能解決策のテキストに必ず含める
2. チーム全体の事実スタック全体project="shared"
3. プロジェクトの詳細1 つのリポジトリのみproject="<repo>" + enrich_solution
調整
similarity_threshold = 0.85   # minimum score to surface a cached result (default 0.85)
duplicate_threshold  = 0.95   # minimum score to block a save as a near-duplicate (default 0.95)

MCP ツール

サーバーは 11 個のツールを公開します。最も頻繁に使用するのは次の 2 つです。

  • search_similar — セマンティック検索とキーワード検索を組み合わせたハイブリッド検索です。類似度スコア、エッジケース、およびベクトルの類似性ではなく完全一致するテキストから結果が得られた場合に付く keyword_match フラグとともに、関連度順の一致結果を返します。
  • confirm_solution — 1 つのパラメーターで解決策を保存します。問題のメタデータは直前の検索結果から自動的に入力されます。

全ツール一覧:save_solution、correct_solution、enrich_solution、add_edge_case、search_by_project、delete_solution、rebuild_index、list_recent、stats。

エントリー数が 256 件以上になったら、rebuild_index を 1 回実行してデータベースをコンパクト化し、検索を高速化する ANN インデックスを構築します。


カテゴリーのリファレンス

カテゴリーでベクトル検索の前に絞り込むため、どの規模でも高速に検索できます。

カテゴリー用途
ci_cdGitHub Actions、Jenkins、GitLab CI、ビルドの失敗
containersDocker、Kubernetes、Helm、OOM キル
infrastructureTerraform、Pulumi、CDK、IaC のドリフト
cloudAWS/GCP/Azure SDK、IAM、クォータエラー
networkingDNS、TLS、ロードバランサー、タイムアウト、プロキシ
observabilityロギング、メトリクス、トレーシング、Prometheus、Grafana
auth_securityOAuth、JWT、RBAC、シークレット、CVE
data_pipelineAirflow、Prefect、Dagster、ETL、データ品質
ml_trainingGPU/CUDA、分散トレーニング、OOM
model_servingvLLM、Triton、推論のレイテンシ、バッチ処理
experiment_trackingMLflow、W&B、DVC、再現性
llm_ragチャンキング、埋め込み、検索、再ランキング
llm_apiレート制限、トークンコスト、プロンプトエンジニアリング
vector_dbPinecone、Weaviate、Qdrant、LanceDB
agentsLangChain、LlamaIndex、ツール呼び出し、エージェントのメモリ
databaseSQL/NoSQL、マイグレーション、遅いクエリ
apiREST、GraphQL、gRPC、バージョニング
async_concurrency競合状態、イベントループ、デッドロック
dependenciesバージョンの競合、パッケージング、ロックファイル
performanceプロファイリング、メモリリーク、キャッシュ
testing不安定なテスト、モック、結合テストと単体テスト
architectureデザインパターン、サービス境界、リファクタリング
other上記のどれにも当てはまらない場合

コントリビューション

コントリビューションを歓迎します。このプロジェクトは、利用するコミュニティとともに成長していきます。

バグ修正、新機能、ドキュメントの改善、あるいはユースケースの共有など、どのような貢献も役立ちます。アイデアがプロジェクトに合うかどうかわからない場合は、まず issue を作成してください。一緒に検討しましょう。

はじめに:

git clone https://github.com/marerem/longmem
cd longmem
uv sync --group dev
uv run pytest

初めてのコントリビューションにおすすめ:

  • 新しいカテゴリーの提案
  • 実際のプロジェクトで遭遇したエッジケース
  • IDE との統合(JetBrains、VS Code、Neovim など)
  • エラーメッセージの改善
  • シードデータセット — 独自のエントリーをエクスポートして、スターターパックとして共有する

コードを書かずに貢献する方法:

  • 便利だと思ったらリポジトリにスターを付ける
  • チームと共有する
  • わかりにくい点があれば issue を作成する — わかりにくい UX はバグです

ライセンス

MIT — LICENSE を参照してください。

mcp-name: io.github.marerem/longmem

コメント

MCP は初めてですか?

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

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