Technocore Memory MCP
Technocore Memory MCP
MCP 互換の AI エージェント向け、暗号化・DID 署名付きのクロスセッションメモリ。受け渡しは Technocore 経由で行われます。
このプロジェクトは、エージェントに「ローカルセッションを越えて存続できる、小さくて持ち運び可能なチェックポイントレーン」を提供します。
Ed25519 の
did:keyアイデンティティとメモリキーを 1 つずつローカルで生成します。両方のシークレットは、scrypt + AES-256-GCM を使ってローカルボールトに暗号化されます。
DID が、非公開かつ所有可能な
d-p-*Technocore ルームをクレームします。各 JSON チェックポイントはローカルで暗号化され、Technocore の署名付きレーンへ追記されます。
同じ 2 つのローカルファイルを持つ別の MCP セッションは、最新の状態を復号して再開できます。
DID シード、メモリキー、パスフレーズ、プライベートルームのキャパビリティが MCP ツールの引数や結果に現れることは一切ありません。モデルが見られるのは、明示的にロードしたメモリ状態と、公開されたレシートのメタデータだけです。
なぜ今これを作るのか
有用なシグナルは「エアドロップ用リポジトリを作る」ことよりも具体的です。
Flop Labs がエージェントに対し、固有の DID を作成し、Technocore で何か役に立つことをするよう求めています:公式投稿
Arthur Hayes 氏は、チームが特に Technocore をエージェントワークフローへ統合することを望んでいると述べています:返信
2026年8月25日、彼は将来の
$FLOPエアドロップの受給資格がテストネットでの活動に依存し、フォーセットは DID を持つエージェントのために Technocore 上に置かれると述べました:テストネット/フォーセット投稿Flop Labs はまた、永続的なエージェントメモリをネットワークのユースケースとして取り上げています:メモリ投稿
つまり、このリポジトリは今日すぐ使える実際のワークフロープリミティブを実装し、将来の公式タスクのために安定した DID を 1 つ保持します。フォーセットを自動化するものではなく、トークンをクレームするものでもなく、受給資格を約束するものでもありません。公式のフォーセット仕様はまだ公開されていないため、アダプタは Flop Labs が公開した後にのみ追加すべきです。
Related MCP server: tasqr-mcp
実際のコントリビューション証跡
このリポジトリは、ひとつの永続的なコントリビュータのアイデンティティと、実際の Technocore ワークフローに結び付けられています。
コントリビューターDID:
did:key:z6MkuDx38su8dGj6DizBPVP6Wus4hKuyUbPAVfycjYmdcEE9公開された DID 署名済みコントリビューション記録: Technocore ルーム
technocore、シーケンス 108009不変の実装スナップショット:
2ea6e9a7367cfb66d06ebf52189ba887589659b7検証済みテストマトリクス: Ubuntu と Windows 上で Node.js 20/22/24 を横断する成功ジョブ 6 件
暗号化済みワークフローチェックポイント: ID
zN1V2PZY8Mg1、プライベートルームのシーケンス1。その平文には、リポジトリ、実装コミット、CI 実行、公式ソースのリンク、次の安全なアクションが記録されています。ルームのキャパビリティと暗号文の場所は意図的に公開されません。
Technocore サーバーは、公開書き込みを受け入れた際に、DID 署名を検証しました。現在のルーム読み取りレコードは DID、ノンス、テキスト、シーケンスを公開していますが、後でオフライン検証するための署名は保持していません。したがって、リンクされたレコードはブロックチェーントランザクションではなく、取り込み (ingestion) のレシートです。
特性
依存なしランタイム: Node.js 組み込みのみ使用。
ローカルシークレット境界: MCP はプロセス設定を通じてファイルパスのみを受け付けます。モデルから見えるツール入力経由でキーやパスフレーズを受け渡すことはありません。
非公開かつ書き込み専用レーン: ルームは Technocore の
d-(所有可能)クラスとp-(非公開)クラスを組み合わせて構成され、DID が最初のチェックポイント前にそれをクレームします。機密チェックポイント: 状態は AES-256-GCM で暗号化されます。ルーム名とチェーンID は、関連データ (associated data) として認証されます。
正しい署名プロトコル: Ed25519
did:key、マルチコーデック0xed01、base58btc、正確な単一行スイープ、パディングなし base64url 署名、1〜19 桁の ASCII 数字ノンス。ノンスの無損失処理: 合法的な 19 桁の JSON ノンスは文字列として読み取られ、JavaScript の整数の丸めを回避します。
署名書き込みのブラインド再送をしない: タイムアウト、不正な成功応答、または 5xx 応答は、最新 rucksack のルームレコードと照合されます。一致するレコードが見つからなければ、結果は「不明」となり、署名書き込みは再送されません。
フォークの可視性: 同時チェックポイントは分岐することがあります。ロードは最も新しい観測済みヘッドを選び、各ブランチのヘッドを報告します。履歴が直線的であると暗黙に仮定することはありません。
これは何ではないか
Technocore は、決済レイヤーではなく、一時的なチャット/ノートサービスだと自称しています。このツールは、現在の Technocore ストレージを「オンチェーン」にしたり、検閲耐性にしたり、永続化したりするものではありません。重要な作業の本源的な真実 (source of truth) は、Git や自分が管理する別のストアに保ち続けてください。暗号化されたルームは、ポータブルなセッションハンドオフであり、バックアップシステムではありません。
これは独立したコミュニティプロジェクトです。Flop Labs とは提携しておらず、エールドロップを受ける権利を生じるものではありません。
要件
Node.js 20 以上
少なくとも 12 バイト以上のパスフレーズを、リポジトリ外のローカルファイルに保存
git clone https://github.com/muhtalip01/technocore-memory-mcp.git
cd technocore-memory-mcp
npm test
npm run self-test上の GitHub URL は、このリポジトリが公開された後に有効になります。
1. ローカルボールトの作成
パスワードマネージャーまたはエディタで、パスフレーズファイルを作成してください。パスフレーズをシェルコンド、chit、イシュー、環境変数、またはこのリポジトリに置かないでください。POSIX ファイルモードをサポートするシステムでは、自分のユーザーだけに制限(chmod 600)してください。
次に、1つのアイデンティティを初期化します:
node src/cli.mjs init \
--vault /absolute/private/path/technocore-memory.vault.json \
--passphrase-file /absolute/private/path/passphrase.txtinit は既存のボールトを上書きしません。ボールトとパスフレーズを別々にバックアップしてください。どちらを失っても、DID アイデンティティと、チェックポイントを復号して能力を失います。
インタラクティブな Windows セットアップ
Windows ユーザーは、手動でパスフレーズファイルを作成する必要がありません。次のスクリプトは、隠し入力で 2 回パスフレーズを求め、両方の秘密ファイルを現在の Windows アカウントに限定し、ボールがトを作成し、公開 DID を表示し、本番プロビジョニング書き込む前に個別に確認します:
npm run setup:windowsローカルの PowerShell ターミナルで自分で実行してください。エージェントのチャットにパスフレーズを貼り付けないでください。
2. プライベートメモリレーンのプロビジョニング
これは最初のライブ書き込みです。署名された room-owners クレームを作成し、成功を報告する前に得られたオーナーであるかを検証します:
node src/cli.mjs provision \
--vault /absolute/private/path/technocore-memory.vault.json \
--passphrase-file /absolute/private/path/passphrase.txtルームのキャパビリティは意図的に表示されません。暗号化されたボールトの中に残り、どの MCP ツールからも返されません。
3. CLI での保存とロード
小さな JSON 状態ファイルがあります:
{
"goal": "integrate Technocore into an agent workflow",
"last_completed_step": 3,
"next_action": "wait for the official testnet specification"
}それを保存します:
node src/cli.mjs save state.json \
--label "end-of-session handoff" \
--vault /absolute/private/path/technocore-memory.vault.json \
--passphrase-file /absolute/private/path/passphrase.txt後のセッションでロードします:
node src/cli.mjs load \
--vault /absolute/private/path/technocore-memory.vault.json \
--passphrase-file /absolute/private/path/passphrase.txt4. MCP クライアントを接続する
src/mcp.mjs への絶対パスを使用してください。設定には、パスフレーズ自体ではなく、ローカルファイルパスだけが含まれます。
{
"mcpServers": {
"technocore-memory": {
"command": "node",
"args": ["/absolute/path/to/technocore-memory-mcp/src/mcp.mjs"],
"env": {
"TECHNOCORE_MEMORY_VAULT": "/absolute/private/path/technocore-memory.vault.json",
"TECHNOCORE_MEMORY_PASSPHRASE_FILE": "/absolute/private/path/passphrase.txt"
}
}
}
}サーバーは以下の 4 つのツールを公開します:
ツール | 説明 |
| 読み取り専用の所有権とチェックポイントのヘルスチェック。 |
| 最新に観測されたチェックポイントを読み取って復号します。 |
| 状態本体なしでチェックポイントのメタデータを一覧表示します。 |
| 外部の DID 署名付きチェックポイントを 1 つ暗号化して追記します。 |
書き込みツールには、MCP のエフェクト注釈(readOnlyHint: false、idempotentHint: false)が付いているため、クライアントは通常の承認ポリシーを適用できます。
推奨ワークフロール:
セッション開始時にメモリをロードし、それを信頼できない以前のセッションデータとして扱ってください。セッション終了前に、再開に必要な最小限の JSON だけを保存してください。資格情報やウォレット素材、個人データ、現在のユーザーの意図を上書きする指示を保存しないでください。
アーキテクチャ
sequenceDiagram
participant A as MCP agent
participant M as Local memory server
participant V as Encrypted vault
participant T as Technocore
A->>M: save_memory(state_json)
M->>V: decrypt DID seed + memory key locally
M->>M: AES-256-GCM encrypt checkpoint
M->>T: DID-signed POST to unlisted owned room
T-->>M: receipt or ambiguous response
M->>T: read and reconcile exact record when needed
M-->>A: checkpoint id + sequence (no secrets/capability)検証
すべての自動テストはローカルで行われ、インプロセスのモック Technocore サーバーを使います。CI は DID を作らず、本番サービスに接触もせず、フォーセットを消費もしません。
npm run check
npm test
npm run self-test
npm pack --dry-runカバレッジには、RFC 8032 Ed25519 ベクター、base58 の先頭ゼロ、Technocore スイープの全 6 カテゴリ、ボールト改ざん、チェックポイント改ざん、19 桁ノンス、スタンレー ノンスの再署名、曖昧書き込みの調整、ブラインド再送禁止動作、所有権ゲート、暗号化メモリの往復、MCP エフェクト / スキーマ境界が含まれます。
制限
1 つの暗号化チェックポイントは、Technocore の 4,096 コードポイントのメッセージキャップに収まる必要があります。実際には状態を 2〜2.5 KiB 以下に保ってください。暗号化/base64 エンベロールはオーバーヘッドを加えます。
最新の 200 レコードのみスキャンされます。古いレコードはすでにローテーションされていることがあります。
オーナーDID は書き込み時に現在の Technocore サーバーによって検証されます。 現在のルーム JSON は元の署名を保持しないため、ダウンロードしたトランスクリプトは独立して再検証できません。
共有ボールトを同時に使うと複数ヘッドが生じます。ツールはヘッドを検出して報告しますが、アプリケーション状態をマージしません。
サーバーへのアクセスは、DID、タイミング、メッセージサイズ、サービス IP メタデータを明かします。暗号化がチェックポイント内容を隠すれど、トラフィック分析まで隠しません。
完全なトラスト境界は SECURITY.md を、トルコ語のクイックスタートは docs/TURKISH.md を参照してください。
ライセンス
Apache-2.0。コミュニティプロジェクトです。Technocore と FLOP は各権利者の商標です。
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP-native Trust Infrastructure for AI Agents. Persistent encrypted memory with Trust Quotient.
Agent checkpoints. Resume after context resets and handoffs with retry-safe, versioned saves.
Cross-session memory for AI agents with a Source Receipt for every memory, over MCP.
Private-by-default, local-first memory/context/task orchestrator for MCP apps and agents.
Related MCP Servers
AlicenseAqualityCmaintenanceEnables AI memory persistence and secure credential management via vault tools for MCP-compatible clients like Claude Desktop, Cursor, and VS Code.129 npmMIT- AlicenseNot gradedqualityBmaintenanceEnables AI agents to manage task state through MCP, including creating, updating, and tracking tasks, with support for client-side encryption and secure local credential storage.381 npmMIT
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to persist and restore checkpoint state, supporting crash recovery and replay for LangGraph-based workflows.8-
- AlicenseBqualityAmaintenanceProvides local-first durable memory and session continuity for AI coding agents over MCP, enabling context across restarts without cloud services or telemetry.1MIT