Trove について
Troveは、エージェント間で出典付き知識グラフを共有できるオープンソースのMCPメモリサーバーです。履歴と根拠を保持し、ホステッド利用とセルフホストに対応するほか、グラフ確認用ダッシュボードも備えます。
主な機能
- 01エージェント間で長期メモリを共有
- 02事実を引用元テキストに紐付け
- 03履歴の改訂と関係の置き換えを保持
- 04トークン予算に応じたメモリ検索
- 05Obsidianの保管庫をインポート
- 06グラフ閲覧とLint状態のダッシュボード
活用シーン
- 01エージェントのセッション間で決定事項や事実を引き継ぐ
- 02検索した事実の引用元を確認
- 03保存した見解の時間的な変化を確認
- 04Obsidianの保管庫から共有メモリを作成
MCP 対応
Troveは、グラフデータの記憶、取り込み、想起、検索、読み取り、接続、削除を行うツールをMCPクライアントに公開します。利用可能なツールは認証情報のスコープに応じて異なり、リソース、プロンプト、利用指示も提供します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mytrove.in/mcpclaude mcp add --transport http anunay999-trove https://mytrove.in/mcp{"mcpServers":{"anunay999-trove":{"type":"http","url":"https://mytrove.in/mcp"}}}Cursor で開く{"servers":{"anunay999-trove":{"type":"http","url":"https://mytrove.in/mcp"}}}VS Code で開く{"mcpServers":{"anunay999-trove":{"type":"http","url":"https://mytrove.in/mcp"}}}{"mcpServers":{"anunay999-trove":{"serverUrl":"https://mytrove.in/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
Trove
使い続けるほど、より良くなるコンテキスト。
オープンソースのMCPメモリーサーバー:Claude Code、Codex、Cursor、あらゆるMCPクライアントで共有できる、出典付きのメモリーです。
ウェブサイト · クイックスタート · エージェントの使い方 · MCP ツール · OAuth コネクター · llms.txt
Troveは、AIエージェントに共有ナレッジグラフ上の長期記憶を提供するオープンソースのMCPサーバーです。mytrove.inでホスト版を利用するか、セルフホストできます。Claude、Codex、Cursorなど、MCPに対応するあらゆるエージェントが学んだことを書き込み、後のセッションで呼び出せます。しかも、すべての事実は、それを裏付けるソーステキストまでたどれます。メモはいつでも確認でき、矛盾する情報は上書きではなく旧情報として置き換えられ、グラフ全体を組み込みダッシュボードで閲覧できます。
エージェントを接続する
MCPに対応するエージェントをTroveに接続すると、セッションをまたいでグラフの読み書きができます。ダッシュボードの mytrove.in でAPIキーを作成し、次の手順に進んでください。
# Claude Code (hosted)
claude mcp add trove --transport http https://mytrove.in/mcp \
--header "Authorization: Bearer <your trove_ key>"
独自のインスタンスを実行していますか?http://localhost:8787/mcp を使用してください(認証が無効の場合、キーは不要です)。claude.ai/Claude Desktopのコネクターパネルでは、https://mytrove.in/mcp を追加してClerkでサインインしてください。詳しくはdocs/oauth.mdをご覧ください。
エージェントは、用途ごとに動詞を割り当てたシンプルなツールセットを利用できます:remember、recall、grep、read、connect、forget(書き込み専用スコープのキーでは、ingestとキュレーション用ツールも利用できます)。ほかに渡すものはありません。キーがすでに自分のグラフを指しているため、すべてのエージェントで共有できます。
エージェントの使い方 — 一日の終わりに書く日記としてではなく、作業メモリーとして使います。再導出する前に読み込み、セッション中に記録し、小さな要素を多数リンクします。docs/agent-usage.mdをご覧ください。同じ利用方針はMCPサーバー上にもあります(instructions、リソースtrove://doctrine、ツールの説明)。
関連スキル(任意、Claude Code向け)。 MCPツールはどのクライアントでも単独で動作します。Claudeが適切な手順で使えるよう、このリポジトリからスキルを直接インストールできます。再導出する前に呼び出し、根拠を引用し、削除ではなく置き換えます。
npx skills add anunay999/trove -g
すべてのスキルはAPIからも提供されるため、どのエージェントにもスキルを読み、従うよう指示できます。インデックスはmytrove.in/skills.md(および/llms.txt)に、各ファイルは/skills/<name>.mdにあります。同じ手順はMCPプロンプトとしても提供されます。たとえばClaude Codeのセッション内で/mcp__trove__trove-curateを使うと、グラフを整理できます。
キー、スコープ、stdio、保管庫のインポートなど、セットアップの詳細はdocs/quickstart.mdをご覧ください。
得られるもの
- 永続的なエージェントメモリ — エージェントはMCPツール(
remember、ingest)を使って事実、決定事項、メモを保存し、後からrecallで取得できます。recallは、指定したトークン予算に収まるよう、関連性の高いメモリをまとめます。 - 上書きではなく、時間をさかのぼる — 信念には有効期間が記録されます。何かが変わると、古いエッジは削除されず無効化されるため、グラフが任意の時点で何を信じていたかを確認できます。
- 構造上、証拠を保持 — 想起されたアトムは、引用元のテキストに解決されるか、明示的に
AGENT INFERENCEとマークされます。リンターは、証拠のないノード(missing_evidence)をレビュー対象として警告します。 - ダッシュボード — メモリのKPI、書き込み頻度のヒートマップ、リンターの健全性、全文ドキュメントリーダーを備えたインタラクティブな力指向グラフエクスプローラーを利用できます。
- 自分のメモをインポート — Obsidianの保管庫をインポーターに指定すると、それがグラフの種になります。
log.mdのような追記の多いファイルはエントリーごとのエピソードに分割され、重複排除されるため、再インポート時には新しい内容だけが保存されます。
仕組み
Troveは証拠グラフです。出典のある事実は引用テキストまでたどることができ、証拠のない結論はエージェントの推論として明確に示されます。
raw source addressable spans distilled beliefs
┌───────────┐ ingest ┌───────────────┐ remember ┌──────────┐
│ transcript│ ───────► │ text units │ ─────────► │ nodes │
│ page/file │ │ (cited spans) │ (cites) │ + edges │
└───────────┘ └───────────────┘ └──────────┘
▲ recall / grep / read
agents read back here
書き込み。 エージェントはingestで生データを保存し、参照可能なテキスト単位に分割します。次に、保存する価値のある少数の事実をrememberで抽出します。各事実は、小さな意味的ノードとして、根拠となるテキスト単位を引用します。そしてconnectでノードをリンクします。rememberは唯一の書き込み窓口です。タイトルまたはスラッグが完全に一致する既存ノードがあれば改訂し、一致しなければ新規作成するため、エージェントが作成と更新を使い分ける必要はありません。
読み取り。 3つの動詞があり、それぞれ異なる問いに答えます。recallはトークン予算に合わせたコンテキストパックを作成します。ハイブリッドな語彙検索と意味検索でシードを見つけ、グラフを1ホップ拡張し、関連性とACT-R形式の活性化(新しさと頻度)を使って候補をランク付けしてから、貪欲法で指定した予算を満たします。grepはノードと生のソースを対象とした完全一致/正規表現検索です。ポート、スラッグ、エラーなど、検索する文字列がわかっている場合に使います。readはIDまたはスラッグを指定して、1つのノードまたはソースを取得します。
考えを変える。 事実と関係性は上書きされず、記録された履歴を保持します。ノードを改訂するたびに、タイトル、要約、内容のスナップショットが保存されます。read({ asOf })は、その時点までに記録された最新のスナップショットを返し、事実がまだ存在していなかった場合はnullを返します。関係性の置き換えも非破壊的です。supersedesEdgeIdを指定したconnect(またはforget)は古いエッジを失効させます。一方、neighborhoodは、記録時点でのエッジの可視性にasOfを使用し、世界時間でのフィルタリングにはvalidFrom/validUntilを使用します。recallは常に現在の信念に基づいて回答し、asOfを受け付けません。履歴ノードの読み取りで確認できる証拠と注釈は、現在の状態を反映します。
最新状態の維持。 サーバー内のバックグラウンドワーカーが30秒ごとにジョブキューを処理し、新しい書き込みの埋め込み、投影の更新、リンターの実行を行います。スケジュールを設定する必要はありません。
階層化されたツール。 MCPで公開される機能は、認証情報のスコープによってフィルタリングされます。読み取り専用キーで利用できるのはrecall、grep、readのみです。書き込みキーでは、さらにremember、connect、forget、ingest、キュレーションツールを利用できます。管理者キーでは、オペレーターツール(jobs、lint、export_obsidian)も利用できます。表示の違いは利便性のためのものであり、すべての呼び出しでサーバー側のスコープチェックが行われます。
はじめに
ホステッドサービスの**mytrove.in**を利用してください。サインインしてダッシュボードでAPIキーを作成し、エージェントの接続先にhttps://mytrove.in/mcpを指定します。または、約5分で自分で実行できます。
→ docs/quickstart.md — ローカルセットアップ、APIキーとスコープ、エージェントの接続(Claude Code、stdio、claude.ai OAuthコネクター)、Obsidianの保管庫のインポート、意味検索の有効化について説明します。
# the short version, locally
git clone https://github.com/anunay999/trove.git && cd trove
npm install # server + web dashboard
cp .env.example .env
npm run setup # Postgres + schema + migrations
npm run web:build && npm start
# → dashboard at http://localhost:8787
デプロイ
Trove には、本番環境向けの Dockerfile(API とダッシュボードを単一のイメージに収録)と railway.json が含まれています。推奨デプロイ構成は Railway + Supabase Postgres です。カスタムドメインを含む手順については、docs/deployment.md をご覧ください。
詳細はこちら
- docs/quickstart.md — セットアップ、キー、エージェントの接続、ノートのインポート
- docs/oauth.md — claude.ai の OAuth コネクター(Clerk を使用)
- docs/development.md — アーキテクチャ、データモデル、テストスイート、設計の根拠(Trove の開発に取り組む場合は、こちらから始めてください)
- docs/mcp.md — MCP のツールとリソースに関する完全なリファレンス
- docs/agent-api.md — HTTP API の仕様
- docs/cli.md — CLI のリファレンス
- docs/memory-db-design.md — 設計の背景にある調査
コントリビューションとライセンス
プルリクエストを歓迎します。CONTRIBUTING.md をご覧ください。CI では型チェック、ストアのテストスイート、Web ビルドを実行し、main への変更にはレビュー済みの PR が必要です。差分にシークレットや実際の接続文字列を含めないでください。セキュリティ上の問題については、SECURITY.md をご覧ください。
GNU AGPL-3.0 の下でライセンスされています。Trove は自由に使用、変更、セルフホストできます。変更したバージョンをネットワークサービスとして運用する場合は、同じライセンスの下でソースコードを公開する必要があります。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。