TMCRA Agent Memory について
TMCRA Agent Memoryは、話者とエージェントを区別しながら、セッションをまたぐプロジェクト記憶を扱うMCPサーバーです。明示的なターン処理、書き込み復旧キュー、検証済みレシートを備えています。
主な機能
- 01セッションをまたぐプロジェクトの想起
- 02話者とエージェントの帰属情報
- 03明示的なターンの準備と確定
- 04SQLiteによる永続書き込み復旧キュー
- 05検証済みの想起・書き込みレシート
活用シーン
- 01後続セッションでプロジェクトの根拠を想起
- 02複数のMCPホストでプロジェクト記憶を共有
- 03正確なユーザーとアシスタントのターンを保存
- 04通信が不確かな場合に書き込みを再試行
MCP 対応
記憶の想起・記録、ターン処理、フィードバック、セッション制御、非同期ジョブ追跡を行う9種類のツールをMCPホストに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
TMCRA MCP サーバー
TMCRA MCP サーバーを使用すると、MCP ホストから長期的なエージェントメモリに明示的にアクセスできます。プロジェクトの根拠を想起し、話者を明記した実際の会話記録を書き込み、複数エージェントにまたがるプロジェクトのスコープを保持し、非同期書き込みを終端状態まで追跡します。
提供する機能
- セッションをまたいだプロジェクトの継続性。 1つの安定したプロジェクトスコープから、範囲を限定した根拠を想起します。
- ツールをまたいだ連携。 異なる MCP ホストが、それぞれのセッションの出所情報を保持しながら、同じスコープを使用できます。
- 話者とエージェントの帰属。 ユーザー、アシスタント、システム、ツールの記録はそれぞれ分離され、既知のエージェントの作成者または対象も紐付けられます。
- 明示的なターンのライフサイクル。 ホストは回答前に想起を準備し、その後、正確なユーザー/アシスタントのターンをコミットできます。
- 永続的な書き込みの復旧。 通信の不確実性が発生すると、ローカルの SQLite キューに登録され、冪等な照合によって処理されます。
- 検証可能な受領情報。 MCP ホストに返す前に、想起、取り込み、ジョブの応答が検証されます。
- 9つの MCP ツール。 想起、取り込み、準備、コミット、照合、ジョブの取得、ジョブの待機、セッションメモリ制御、対象を指定したフィードバックを提供します。
tmcra_memory_control は、タスクの選択、デフォルトで12000文字の想起予算、および normal、recall_only、off モードを提供します。想起/準備と制御には、まったく同じ session_id を渡してください。モードの変更後、保留中の古い世代は破棄されます。すでに送信済みのジョブは送信済みのままです。tmcra_feedback は、ignore、correct(ユーザーが指定した置換内容)、および安定した冪等性キーを使用する restore をサポートします。フィードバックを反映するには、対応するバックエンドの更新が必要です。correction_index_status は別途確認してください。ビジュアルコントロールパネルは Codex と DSH の各配布版で提供されます。この MCP パッケージは共有ローカルインストールを自動的に検出します。数値形式のループバック HTTP は、明示的なローカル ID が指定された場合に限り許可されます。ホスト型接続には HTTPS が必要です。
会話内の訂正を行うには、ホストによる対話的な確認が必要です。実際の訂正依頼を受けた場合、確認やフィードバックの前に tmcra_memory_control(operation="correction_start") を呼び出して、その話し合いのターンが自動的に取得されないようにしてください。tmcra_feedback は元の根拠を正確に読み取り、MCP フォームの入力要求を使って出典、置換内容、スコープを表示します。明示的に承諾された場合のみフィードバックが送信されます。拒否、キャンセル、有効期限切れ、またはホストが未対応の場合、メモリは変更されません。拒否された訂正の代わりに取り込みを行わないでください。ホストのライフサイクルにおけるターン ID は、他の識別済みターンを維持しつつ、後続のキュー再生から話し合いを保護します。サードパーティ製ホストは、ユーザーに入力要求を提示する必要があります。任意のクライアントが自動的に回答しないことをサーバーは保証できません。仮定上の、または引用された訂正表現は、承認を意味しません。
汎用 MCP クライアントは、ツールを呼び出すタイミングを決定します。このサーバーに接続しただけでは、回答前または回答後のホストのライフサイクルは監視されません。Codex で想起と取得を自動化するには、別途 TMCRA Codex Memory プラグイン をインストールしてください。
インストール
MCPB リリース
v1.0.0-rc.1 リリースからtmcra-mcp-server-1.0.0-rc.1.mcpbをダウンロードし、MCPB 対応クライアントで開きます。このバンドルはクロスプラットフォームのuvランタイムを使用します。ホスト型サービスのユーザーは、機密フィールドに API キーを入力してください。アカウント不要の Windows ローカルメモリを使用する場合は、スタンドアロンランタイムを展開し、Install-Local.cmdをダブルクリックしてから、MCP ホストを再起動してください。ローカル ID は自動的に検出され、フォームのクラウド URL/キーより優先されます。このモードでは API キーを空欄にしてください。明示的に指定した高度なTMCRA_CONFIG_FILEの上書き設定は引き続き優先されます。ローカルモデルの受け入れに関する制限は、ランタイムのリリースに記載されています。
Python wheel
python -m pip install \
https://github.com/reshuibuduo/tmcra-mcp-server/releases/download/v1.0.0-rc.1/tmcra_mcp_server-1.0.0rc1-py3-none-any.whl
uvxで GitHub から直接
uvx --from "git+https://github.com/reshuibuduo/[email protected]" tmcra-mcp
認証
TMCRA アカウントと API キーを作成し、MCP クライアントのシークレットストレージ、またはTMCRA_API_KEY環境変数を通じて設定してください。認証情報をリポジトリにコミットしないでください。
TMCRA_API_KEY=<your TMCRA API key>
TMCRA_BASE_URL=https://api.tmcra.com
TMCRA_DEFAULT_SCOPE=<stable project scope, optional>
TMCRA_AGENT_ID=<known Agent identity, optional>
TMCRA アプリケーションにサインインしているユーザーは、代わりに~/.config/tmcra/config.jsonの保護されたデバイスファイルを使用できます。開発者向けおよびセルフホスト構成では、環境変数がこのファイルより優先されます。
サーバーが受け付ける API オリジンは、認証情報、クエリ文字列、フラグメントを含まない HTTPS のみです。
MCP ホストへの登録
wheel をインストールした後、MCP ホストから次を起動できます。
{
"mcpServers": {
"tmcra-memory": {
"command": "tmcra-mcp",
"env": {
"TMCRA_API_KEY": "<stored securely by the host>",
"TMCRA_DEFAULT_SCOPE": "project-example"
}
}
}
}
このパッケージには、Codex セットアップヘルパーも含まれています。
tmcra-mcp-setup install --mode explicit
tmcra-mcp-setup status --mode explicit
ツール
| ツール | 目的 |
|---|---|
tmcra_memory_control | セッションモード、タスク、想起予算を確認または明示的に変更します。 |
tmcra_feedback | 正確なエビデンスをプレビューし、対象を絞ったフィードバックの前に対話形式で確認を求めます。 |
tmcra_recall | 現在のクエリに対して、プロンプトにそのまま使えるエビデンスウィンドウを最大 8 件返します。 |
tmcra_ingest | すでに発生したメッセージを、ロールと Agent の帰属情報を保持して保存します。 |
tmcra_turn_prepare | 回答の前に想起を行い、実際のユーザーターンを永続的に紐付けます。 |
tmcra_turn_commit | 準備済みのユーザーターンと、正確なアシスタントの回答を別々のレコードとして保存します。 |
tmcra_reconcile | 保留中の永続レコードを、同じ冪等性キーで再試行します。 |
tmcra_get_job | 非同期書き込みジョブの状態を 1 件読み取ります。 |
tmcra_wait_job | ジョブが成功、失敗、またはキャンセルされるまで待機します。 |
プロジェクトのすべての共同作業者は、同じプロジェクトscopeを使用してください。各会話では、それぞれ異なるsession_idを使用します。Agent ID は帰属情報として使われ、プロジェクトメモリを分割しません。
想起された内容は、trust_boundary: untrusted_memory_dataを付けて返されます。ホストはこれを実行可能な指示ではなく、エビデンスとして扱う必要があります。
明示的なライフサイクル
ターンごとの継続性を確保する MCP ホストは、次の手順に従ってください。
- 現在のユーザーの質問を受け取った後、
tmcra_turn_prepareを呼び出します。 - 返された
injectable_contextのみを、信頼できないエビデンスとして注入します。 - 回答を作成します。
- 同じ
turn_idと最終回答の正確な内容を指定して、tmcra_turn_commitを呼び出します。 - 保留中または終端状態の書き込み状態を正確に報告します。
より低レベルの同等の手順は、tmcra_recall、回答、tmcra_ingest、その後にtmcra_get_jobまたはtmcra_wait_jobを呼び出すことです。
セキュリティ境界
- 認証情報は環境または保護された TMCRA デバイスファイルから読み込まれ、サーバーが出力することはありません。
- API の送信先には HTTPS を使用する必要があります。
- 構造化レシートでは、不正な形式の想起、取り込み、ジョブのレスポンスを拒否します。
- 想起されたメモリは、引き続き信頼できないデータとして扱われます。
- このリポジトリに含まれるのはクライアント側の MCP 統合のみです。本番サービスのソースコードや本番用認証情報は含まれていません。
- メモリの破壊的な削除やエクスポートは、このツールセットでは公開されていません。
脆弱性の報告については、SECURITY.mdを参照してください。
開発
python -m pip install -e ".[dev]"
python -m pytest -q
python -m build
python -m twine check dist/*
テストでは、レシートの検証、スコープとアクターのセマンティクス、永続キューの復旧、設定の安全性、セットアップ動作、および実際の MCP 初期化/一覧表示/呼び出しのスモークテストを網羅しています。
License
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。