SurStor Memory について
SurStor Memoryは、ローカルでAIモデルを動かすユーザー向けのメモリノードです。MCP経由で出典付きの記録を保存し、意味検索と完全性検証を行えます。
主な機能
- 01テキストメモリと作業成果物の保存
- 02意味的な類似度によるローカル検索
- 03出典メタデータ付き記録の取得
- 04ハッシュ、署名、セッションチェーンの検証
- 05オフライン検証可能なセッションのエクスポート
- 06信頼済みノード間のオプション同期
活用シーン
- 01会話をまたいだ決定事項や作業背景の想起
- 02保存記録の出典と完全性の確認
- 03独立検証用のセッション書き出し
- 04選択した署名付きメモリのノード間共有
MCP 対応
SurStorは、記録の保存、検索、取得、一覧表示、比較、検証、エクスポートに加え、セッションや価格関連の操作を行う12個のMCPツールを提供します。127.0.0.1:8484でローカルに動作し、MCP対応ホストに接続します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm ghcr.io/surstor/surstor-memory:0.2.0-alpha.3-mcp.1ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ghcr.io/surstor/surstor-memory:0.2.0-alpha.3-mcp.1Streamable HTTPツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
SurStor Memory — 自分で実行するモデルのためのメモリ
ウェブサイト:www.surstor.net
v0.2.0-alpha.3-mcp.1 · 開発者プレビュー
現在のインストールバージョン:0.2.0-alpha.3-mcp.1。Official MCP Registry の掲載情報と一致しています。
これは alpha.3 アプリケーションの MCP パッケージング改訂版です。同梱の
JAR は引き続き 0.2.0-alpha.3 と表示されます。アプリケーションの動作を
変更せず、レジストリの所有者メタデータを追加しています。リリースノートをご覧ください。
テストとフィードバックのための初期段階のソフトウェアです。機能やインターフェースは変更される場合があります。 重要な情報を保存する前に、以下の制限事項をご確認ください。
Apache License 2.0に基づいてライセンスされています。サードパーティ製の依存関係と 同梱アセットには、それぞれのライセンスが適用されます。
プロジェクトの決定事項、有用な回答、作業履歴をご自身のハードウェアに保存し、 ローカル AI が会話をまたいでそれらを取得できるようにします。SurStor Node(v0.2.0-alpha.3) は、MCP を通じて永続的で検査可能な外部メモリを提供します。モデルは 選択した推論アプリケーション内にとどまり、SurStor がメモリを保存して取得します。
まずはこちら:ローカルモデルと一緒にインストールして MCP に接続する — LM Studio のセットアップ、保存と呼び出しの例、Ollama の統合要件を 含みます。コンテナパッケージについては、Docker で実行するをご覧ください。いつものツールをそのまま使い続けられます。
Local model <-> MCP-capable chat or agent application
|
SurStor MCP (localhost:8484)
|
Local records + optional search index
- 承認済みの事実、設定、決定事項、引き継ぎメモをテキストメモリとして保存します。
- ローカルのセマンティック検索で関連する過去の作業を見つけるか、レコード ID で取得します。
- 出典情報を確認し、レコードの整合性を検証して、再利用のためにセッションをエクスポートします。
- 互換性のある MCP ホストを通じて、別のローカルモデルでも同じノードを再利用します。
SurStor は、Covia の
venues、Convex lattice、CAD3 のコンテンツアドレッシングを基盤に構築されたシングルユーザー向けノードであり、Convex
のコンセンサスは実行しません。127.0.0.1:8484 にバインドします。モデルの学習、すべての会話の
自動記録、競合するメモリの自動解決は行いません。
ホストがツールを呼び出す必要があります。関連するレコードをいくつか取得すれば、
履歴全体の繰り返しを避けられます。トークンの節約効果と回答品質は、実際のワークロードで測定する必要があります。
新しい暗号化 venue には、暗号化ストレージガイドと
config/surstor-encrypted.toml を使用してください。このオプトインプロファイルは Etch レコードと
そのインデックスを暗号化し、外部キーを必要とするほか、別個のプレーンテキストのセマンティック
検索インデックスを無効にします。既存の設定が自動的に暗号化されることはありません。
オプションのマルチノードメモリ同期
このチェックアウトには、サーバー経由の中継を含め、信頼済みノード間で選択した署名付きメモリを 双方向に同期するオプトイン機能が含まれています。各ノードは独自の ID と暗号化キーを保持します。セットアップ、セキュリティ、制限事項をご覧ください。 alpha.3 で利用でき、オプションの Docker 同期オーバーレイもあります。venue 全体の 複製と削除の伝播は有効になっていません。
できること
メモリには証拠の追跡記録があります。保存された元の内容を取得し、その完全性を確認できます。有効な署名があっても、保存された主張が真実であることは証明されません。生成されたテキストをすべて事実として扱うのではなく、簡潔で役立つコンテキストを保存してください。
すべての AI 作業成果物(下書き、ツールの結果、パッチ、モデルの出力)は、2 セルの CAD3 レコードとして保存されます。
- セル 1 — コンテンツ。コンテンツアドレス方式(正規化されたエンコーディングの SHA3-256)
- セル 2 — 出所メタデータ:
branch-ref(セル 1 のハッシュ、Merkle バインディング)、セッション ID、エージェント ID、モデルのバージョン、タイムスタンプ、トークン使用量、バージョン管理された料金の内訳+推定コスト+引用された料金表、prev-event(セッションのハッシュチェーン)、および署名なしセルハッシュに対するノードの Ed25519 署名
セッションは追記専用のハッシュチェーン(prev-event リンク)を形成するため、イベントの書き換えや削除を検出できます。コストは、バージョン管理された料金表に基づいて記録時に計算され、レコードに固定されます。過去の成果物の料金が再計算されることはありません。検証時には、元の計算と料金表が再現されます。
コストに関する警告: SurStor は、公開されているプロバイダー料金の特定日時のスナップショットと、呼び出し元から提供された使用量に基づいて API コストを推定します。これらはプロバイダーの請求書ではありません。申告されていない料金、税金、クレジット、サブスクリプション、個別交渉による割引は含まれません。料金が設定されていないレコードは合計から除外され、別途集計されます。従来のセッションでは、対象範囲が不明な場合があります。検証で証明されるのは完全性と計算の正確性であり、請求の正確性ではありません。セッション予算は、プロバイダーの支出上限ではありません。
2026 年 9 月 10 日のスナップショットには、OpenAI、Anthropic、Kimi、Gemini、DeepSeek、Grok の主要モデルエントリが 31 件含まれています。新しい料金計算では、キャッシュ書き込み、キャッシュストレージ、ツール料金、サービス階層、コンテキストのしきい値、時間依存の料金に対応しています。公式ソース、料金、呼び出し元の例、除外事項、移行、検証の動作については、**料金と価格に関するドキュメント**を参照してください。
Docker で実行する
Linux amd64 用のパブリックイメージを
ghcr.io/surstor/surstor-memory:0.2.0-alpha.3-mcp.1 で利用できます。このチェックアウトから:
docker compose -f compose.registry.yaml pull
docker compose -f compose.registry.yaml up -d
MCP を http://127.0.0.1:8484/mcp に接続します。このデフォルトプロファイルでは、暗号化されていないストレージとローカルのセマンティック検索を使用します。暗号化ストレージとバックアップの手順については、Docker ガイドを参照してください。コンテナの実行に、ホストへの Java や Maven のインストールは不要です。Docker Desktop と ARM64 は未テストです。
ビルドと実行
Java 21 以降と Maven 3.7 以降が必要です。Covia 0.9.6-SNAPSHOT がデフォルトのインストール依存関係であり、ルートの pom.xml にある covia.version で設定されています。Maven のバージョンを上書きする必要はありません。
新しいマシンで SurStor をビルドする前に、互換性のある Covia のソースチェックアウトをビルドしてインストールし、ai.covia:covia-core:0.9.6-SNAPSHOT と
ai.covia:venue:0.9.6-SNAPSHOT がローカルの Maven リポジトリに配置されるようにしてください。
# Run inside the compatible Covia source checkout first.
mvn clean install -DskipTests
その後、SurStor リポジトリのルートから以下のコマンドを実行します。スナップショットバージョンがデフォルトですが、不変の上流リビジョンを特定するものではありません。使用した Covia のコミットを記録し、そのビルドに対して SurStor のテストを実行してください。依存関係の互換性については、統合に関する注意事項を参照してください。
プロンプトと応答のキャプチャには、/capture のローカルレビュー画面、組み込みの秘密情報検出、組織単位の除外、フェイルクローズのフィルタリングが追加されました。記録されるのはフィルタリング後のバージョンのみです。自動検出では機密データを見落とす可能性があります。保存する前にすべての項目を確認してください。設定、API の使用方法、互換性の変更、保護の制限については、**プロンプトのキャプチャとプライバシー**を参照してください。
mvn package
java -jar surstor-node/target/surstor-node.jar start --config config/surstor.toml
上記の例では、暗号化されていないプロファイルを使用しています。暗号化を有効にしてインストールするには、暗号化ストレージガイドに従ってください。
このノードは、例のプロファイルでは ~/.surstor-node/ にデータを永続化します(etch ストア+Ed25519 ID キーペア。初回実行時に自動生成されます)。
その他のコマンド:
java -jar surstor-node.jar status # config, identity, budget
java -jar surstor-node.jar verify <bundle.json> # offline verification of an export bundle
MCP の操作
12 個のすべての操作は、http://127.0.0.1:8484/mcp
(tools/list)で MCP ツールとして公開されており、会場組み込みのツールセットも利用できます。
| ツール | 目的 |
|---|---|
surstor_store | 成果物を保存します(content、sessionId、agentId、modelVersion、usage) |
surstor_retrieve | content と完全な来歴メタデータを取得します |
surstor_verify | ブランチ参照、セッションチェーン(詳細)、スケジュール、署名を確認します |
surstor_list | 成果物を一覧表示します。セッションで絞り込むこともできます |
surstor_diff | 2 つのテキスト成果物の統合差分を表示します |
surstor_cost | 1 つのセッションまたはすべてのローカルセッションのコストを集計します |
surstor_sessions | チェーンヘッド、件数、合計を含むセッション一覧を表示します |
surstor_export | セッションを、オフラインで検証可能なポータブル JSON バンドルとしてエクスポートします |
surstor_prices_get | 現在有効な価格スケジュールを表示します |
surstor_prices_put | 新しい価格スケジュールを登録します(今後のコストにのみ適用) |
surstor_search | ローカルのセマンティック検索:自然言語クエリに対して、ランク付けされた成果物 ID と抜粋を返します |
surstor_reindex | エッチストアから検索インデックスを再構築します(消去して再処理) |
ノードはループバックインターフェースのみにバインドされます。匿名のローカル呼び出し元は完全なアクセス権を持ちます
(auth.public.caps: unrestricted)。ループバックに限定することでネットワークへの露出は抑えられますが、ほかの
ローカルプロセスからは引き続きノードにアクセスできます。信頼できるクライアントのみを使用し、
バインド先はローカルに保ってください。クライアントの設定については、MCP のセットアップを参照してください。
改ざんの検出
- コンテンツセルのバイトを反転する →
branchRefのチェックに失敗します - 中間イベントを書き換える →(記録時に保存された)セッションヘッドは偽造を決して参照せず、正当なチェーンは引き続き検証に成功します
- イベントを削除する → 詳細検証/オフラインバンドル検証でチェーンの欠落が報告されます
詳しい手順については docs/tamper-demo.md を参照してください。オフラインバンドル
(surstor_export)は会場なしで検証できます。surstor-node verify bundle.json は
ファイルだけからすべてのハッシュと署名を再計算します(終了コード 0 = 有効)。
テスト
mvn test
テストでは、セル/ユニットのセマンティクス、JSON ラウンドトリップでのハッシュの安定性、エンジンを利用した 改ざんシナリオ、予算の適用、サーバーの実再起動後の永続化、 バージョン管理された課金と料金境界、オフラインエクスポートの検証、 埋め込みの決定性/類似性、Lucene インデックスの 動作、エンジンを利用したセマンティック検索(保存→検索→再インデックス)を確認します。
ローカルのセマンティック検索(v0.2.0-alpha.3)
surstor_search は、単に ID で検索するのではなく、意味に基づいて保存済みの成果物をランク付けします。たとえば、
「プロジェクトの期限はいつですか」という検索で、クライアントの納期に関するメールが見つかります。すべての処理は
ノード上で実行されます。バンドルされた多言語 MiniLM モデル(DJL + ONNX
Runtime 経由の ONNX)が CPU 上でテキストを埋め込み、データディレクトリ内の Lucene HNSW ベクトルインデックスが
クエリに応答します。埋め込み/検索処理で外部 API は呼び出しません。
取得されたコンテンツはクライアントに返されます。推論をローカルに保つには、ホスト側でローカルモデルを使用し、
クラウドへのフォールバックや外部への転送を行わないことも必要です。
インデックス化されるのは、文字列コンテンツのレコードのみです。簡潔なメモリは、contentType: "text" と文字列の content を指定して保存してください。構造化されたプロンプト/レスポンスオブジェクトは
セマンティックインデックス化されません。暗号化ストレージプロファイルではセマンティック検索が無効になります。
代わりにセッション一覧と ID による取得を使用してください。
2 セルの CAD3 レコードが唯一の信頼できる情報源です。埋め込みとインデックスは派生データであり、署名されておらず、
破棄可能です。search-index/ が削除された場合、surstor_reindex は情報を一切失うことなく、
エッチストアから再構築します。インデックス化に失敗しても、保存処理は失敗しません。
設定(デフォルト値を表示):
[search]
enabled = "true"
k_default = "10"
注:アダプターモジュールの JAR は約 190 MB 大きくなります(ONNX ネイティブバイナリと バンドルモデルによるものです)。v0.2 では許容済みです。
注意事項(v0.2.0-alpha.3)
- 現在の料金表は、特定の日付時点の推定スナップショットであり、リアルタイムの料金フィードではありません。 元の8月のプレースホルダーファイルは、履歴確認用に変更せず保持されていますが、デフォルトではなくなりました。以前の組み込みプレースホルダーと完全に一致する場合に限り、自動的に更新されます。カスタム料金表は保持されます。
- 予算の適用範囲はセッション単位です(アダプター設定の
session-budget-usd、デフォルトは5.00)。 - 署名のサポートが追加される前に保存されたアーティファクトは、
signatureチェックに失敗します。新規インストールでは別の新しいデータディレクトリを使用し、必要な既存の記録は保持してください。 - 対応するAPI料金表がないローカルモデル識別子には料金が設定されず、ゼロコストとはなりません。SurStor は電気代やハードウェアのコストを推定しません。
- メモリの自動置換、ユーザー向けの削除ワークフロー、複数ユーザーの分離は、このリリースでは提供されていません。ノード間の同期はオプトインの開発者プレビュー機能です。上記のガイドをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。