MemoryLake
すべての記事に戻る
Tutorial2026年6月5日5 分で読了

ステートレスMCPサーバーに永続的な記憶を追加する方法

モデルコンテキストプロトコルの2026年改訂では、プロトコルレベルのセッションが削除されました — `Mcp-Session-Id`ヘッダーは消え、任意のリクエストが任意のサーバーインスタンスに到達できるようになりました。これはスケーリングにとっての勝利です:ステートレスサーバーはスティッキーなルーティングなしでプレーンなラウンドロビン負荷分散器の背後で動作します。しかし、実際の問題が浮上します:サーバーが状態を保持しない場合、長期的な記憶はどこに存在するのでしょうか?このガイドでは、セッション機構を再導入することなく、ステートレスMCPサーバーに永続的な記憶を追加する方法を示します。

短い答え

サーバーをステートレスのままにし、記憶をサーバーがリクエストごとにクエリする外部レイヤーに移動します。MemoryLakeプロジェクトを作成し、MCPサーバーエンドポイントを生成し、ステートレスサーバーがそれを通じてコンテキストを読み書きできるようにします — 状態はMemoryLakeに存在するため、任意のインスタンスが任意のリクエストに応じてすべてを思い出すことができます。

ステートレスと記憶が矛盾しない理由

2026年のMCP変更は、以前は絡み合っていた2つの事柄を分離します:輸送と状態。ステートレスサーバーは輸送に関するものであり、クライアントを1つのインスタンスに固定するための接続ごとのセッションはありません。アプリケーションに記憶があるかどうかについては何も言っていません。間違いは、プロセス内に記憶を保存することで、スティッキーセッションを強制し、2つ目のインスタンスが立ち上がるとすぐに水平スケーリングを破壊します。

クリーンなパターンは、記憶を外部化することです。サーバーは薄いステートレスリクエストハンドラーのままで、記憶レイヤーが耐久性、取得、履歴を所有します。すべてのインスタンスが同じストアを指すため、任意のノードがリクエストを処理でき、完全なコンテキストを確認できます。これは、2026年にエコシステム全体が決定したのと同じ分割です — 実行時コンテキストとは別の回復可能ストレージ — MCPレイヤーに適用されます。

始める前に

必要なもの:

  • 無料のMemoryLakeアカウント
  • ステートレスMCPサーバー(またはステートレスにリファクタリング中のもの)
  • サーバーが保持する必要のあるコンテキスト — 事実、ルール、またはファイル(PDF、Word、Excel、PowerPoint、Markdown、または画像)

ステートレスMCPサーバーに永続的な記憶を追加する方法(ステップバイステップ)

ステップ1:記憶プロジェクトを構築する

MemoryLakeにサインインし、プロジェクト管理を開きます。プロジェクトを作成をクリックし、名前を付けます(例えば、「ステートレスサーバーの記憶」)。ドキュメントドライブを開き、アップロードを使用してファイルを追加し、次にドキュメントタブ → ドキュメントを追加 → 確認をクリックして添付します。記憶タブ → 記憶を追加 → 保存を通じて耐久性のあるルールを追加します。

ステップ1:記憶プロジェクトを構築する
ステップ1:記憶プロジェクトを構築する

ステップ2:MCPサーバーエンドポイントを生成する

MCPサーバータブ → MCPサーバーを追加 → 説明を記入します(例えば、「ステートレスサーバーバックエンド」)→ 生成。MemoryLakeはキーIDシークレット、およびエンドポイントURLを返します。シークレットは一度だけ表示されるため、すぐにコピーしてください。

ステップ2:MCPサーバーエンドポイントを生成する
ステップ2:MCPサーバーエンドポイントを生成する

ステップ3:サーバーからリクエストごとに記憶をクエリする

ステートレスハンドラー内で、MemoryLakeのエンドポイントURLシークレットBearerトークンとして呼び出し、各リクエストでコンテキストを読み書きします。呼び出しはステートレスであり、リクエストごとに認証されるため、負荷分散器の背後にある任意のサーバーインスタンスが任意のクライアントにサービスを提供し、完全な履歴を思い出すことができます。設定リファレンスについては、MCPセットアップガイドを参照してください。[MemoryLakeを無料で試す]

ステップ3:サーバーからリクエストごとに記憶をクエリする
ステップ3:サーバーからリクエストごとに記憶をクエリする

プロセス内の状態とMemoryLake

次元プロセス内の状態MemoryLake
インスタンス再起動後も生存いいえはい
ラウンドロビン負荷分散で動作いいえ(スティッキーが必要)はい
サーバーインスタンス間で共有いいえはい
バージョン管理いいえはい(Gitスタイルの履歴)
データ所有権あなたのものですが、揮発性あなたが所有します(AES-256、耐久性)
ベンチマークLoCoMo #1 — 94.03%

ヒントとベストプラクティス

  • 記憶エンドポイントをキャッシュではなく依存関係として扱う — リクエスト時にコンテキストを読み取ることで、任意のインスタンスが正確な状態を保つことができます。
  • プロジェクトをテナントまたはワークスペースでスコープ設定し、ステートレスサーバーがユーザーごとの状態を保持せずに読み取りをルーティングできるようにします。
  • ローテーション時にBearerトークンを再生成します。ステートレスサーバーはセッションを消耗することなく新しい資格情報を取得します。
  • 耐久性のあるルールを記憶エントリに保持し、ドキュメントドライブにバルクコンテキストを保持します — 小さなルールは迅速に取得されます。

トラブルシューティング

  • 異なるインスタンスが異なるコンテキストを返す: すべてのインスタンスが同じエンドポイントURLとプロジェクトを指していることを確認し、ローカルストアではないことを確認してください。
  • 認証が断続的に失敗する: Bearerトークンが共有設定から読み取られていることを確認し、1つのインスタンスに埋め込まれていないことを確認してください。
  • 「シークレットが見つかりません」: シークレットは一度だけ表示されます。MCPサーバータブで新しいキーを取り消し、生成します。

サーバーをステートレスに保ち、記憶を保持する

状態を一度外部化すれば、MCPサーバーは長期的な記憶を失うことなく水平にスケールします。

よくある質問

ステートレスMCPサーバーに記憶はありますか?

はい。ステートレス性は輸送に関するものであり、アプリケーションに関するものではありません。記憶をサーバーがリクエストごとにクエリする外部レイヤーに移動すれば、任意のインスタンスがステートレスのまま完全なコンテキストを思い出すことができます。

スティッキーセッションなしでMCPサーバーに永続的な記憶を追加するにはどうすればよいですか?

状態を外部化します。すべてのサーバーインスタンスを同じMemoryLakeエンドポイントに向け、Bearer認証されたリクエストを介して、記憶がプロセスの外に存在し、スティッキーなルーティングが不要になるようにします。

2026年のMCP改訂は記憶を破壊しますか?

いいえ。プロトコルレベルのセッションを削除することで輸送状態が削除され、アプリケーションの記憶は残ります。外部の記憶レイヤーはステートレスモデルにきれいに適合します。

2026年にMCPサーバーの状態はどこに存在すべきですか?

実行時コンテキストとは別の耐久性のある外部ストアに — エコシステムが2026年に標準化した回復可能ストレージと実行時コンテキストの分割です。

記憶レイヤーのデータは安全ですか?

MemoryLakeはAES-256で暗号化され、ISO 27001、SOC 2タイプII、GDPR、およびCCPAに認証されています。あなたは自分のデータを所有し、エクスポートまたは永久に削除することができます。