Skip to main content
Glama

Technocore Memory MCP

MCP 互換の AI エージェント向け、暗号化・DID 署名付きのクロスセッションメモリ。受け渡しは Technocore 経由で行われます。

このプロジェクトは、エージェントに「ローカルセッションを越えて存続できる、小さくて持ち運び可能なチェックポイントレーン」を提供します。

  1. Ed25519 の did:key アイデンティティとメモリキーを 1 つずつローカルで生成します。

  2. 両方のシークレットは、scrypt + AES-256-GCM を使ってローカルボールトに暗号化されます。

  3. DID が、非公開かつ所有可能な d-p-* Technocore ルームをクレームします。

  4. 各 JSON チェックポイントはローカルで暗号化され、Technocore の署名付きレーンへ追記されます。

  5. 同じ 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 ワークフローに結び付けられています。

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.txt

init は既存のボールトを上書きしません。ボールトとパスフレーズを別々にバックアップしてください。どちらを失っても、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.txt

4. 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 つのツールを公開します:

ツール

説明

memory_status

読み取り専用の所有権とチェックポイントのヘルスチェック。

load_memory

最新に観測されたチェックポイントを読み取って復号します。

memory_history

状態本体なしでチェックポイントのメタデータを一覧表示します。

save_memory

外部の 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 は各権利者の商標です。

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables AI memory persistence and secure credential management via vault tools for MCP-compatible clients like Claude Desktop, Cursor, and VS Code.
    12
    9 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables 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 npm
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    Provides local-first durable memory and session continuity for AI coding agents over MCP, enabling context across restarts without cloud services or telemetry.
    1
    MIT