メモリキャッシュサーバー
言語モデルのインタラクション間でデータを効率的にキャッシュすることでトークンの消費量を削減するモデルコンテキストプロトコル(MCP)サーバー。トークンを使用するあらゆるMCPクライアントおよび言語モデルで動作します。
インストール
Smithery経由でインストール
Smithery経由で Claude Desktop のメモリ キャッシュ サーバーを自動的にインストールするには:
npx -y @smithery/cli install @tosin2013/mcp-memory-cache-server --client claude手動でインストールする
リポジトリをクローンします。
git clone https://github.com/tosin2013/mcp-memory-cache-server.git
cd mcp-memory-cache-server依存関係をインストールします:
npm installプロジェクトをビルドします。
npm run buildMCP クライアント設定に追加:
{
"mcpServers": {
"memory-cache": {
"command": "node",
"args": ["/path/to/ib-mcp-cache-server/build/index.js"]
}
}
}MCPクライアントを使用するとサーバーが自動的に起動します
Related MCP server: Memory Cache MCP Server
動作確認
サーバーが正常に動作している場合は、次のように表示されます。
ターミナルにメッセージが表示される:「メモリ キャッシュ MCP サーバーが stdio で実行されています」
同じデータに複数回アクセスする際のパフォーマンスが向上
あなたによる操作は必要ありません。キャッシュは自動的に行われます。
サーバーが実行中であることは、次の方法で確認できます。
MCPクライアントを開く
サーバーを起動したターミナルでエラーメッセージを探す
キャッシュの恩恵を受ける操作を実行する(同じファイルを複数回読み取るなど)
構成
サーバーはconfig.jsonまたは環境変数を通じて設定できます。
{
"maxEntries": 1000, // Maximum number of items in cache
"maxMemory": 104857600, // Maximum memory usage in bytes (100MB)
"defaultTTL": 3600, // Default time-to-live in seconds (1 hour)
"checkInterval": 60000, // Cleanup interval in milliseconds (1 minute)
"statsInterval": 30000 // Stats update interval in milliseconds (30 seconds)
}構成設定の説明
maxEntries (デフォルト: 1000)
キャッシュに保存できるアイテムの最大数
キャッシュが無制限に大きくなるのを防ぐ
超過すると、最も古い未使用のアイテムが最初に削除されます
最大メモリ(デフォルト:100MB)
最大メモリ使用量(バイト単位)
過剰なメモリ消費を防ぐ
超過すると、最も最近使用されていないアイテムが削除されます
defaultTTL (デフォルト: 1時間)
デフォルトでアイテムがキャッシュに保持される期間
この時間が過ぎるとアイテムは自動的に削除されます
古いデータがメモリを消費するのを防ぐ
checkInterval (デフォルト:1分)
サーバーが期限切れのアイテムをチェックする頻度
値を低くすると、メモリ使用量がより正確になります
値を大きくするとCPU使用量が減ります
statsInterval (デフォルト:30秒)
キャッシュ統計の更新頻度
ヒット/ミス率の精度に影響します
キャッシュの有効性を監視するのに役立ちます
トークン消費量を削減する方法
メモリキャッシュサーバーは、ユーザーと言語モデル間で再送信が必要となるデータを自動的に保存することで、トークンの消費量を削減します。特別な操作は必要ありません。MCPクライアントを介して言語モデルとやり取りすると、キャッシュは自動的に実行されます。
キャッシュされるものの例をいくつか示します。
1. ファイルコンテンツのキャッシュ
ファイルを複数回読み取る場合:
初回: ファイルの全コンテンツが読み込まれ、キャッシュされます
次回以降: ファイルを再度読み込む代わりに、キャッシュからコンテンツが取得されます。
結果: 繰り返しファイル操作に使用されるトークンが少なくなる
2. 計算結果
計算や分析を実行する場合:
初回: 完全な計算が実行され、結果がキャッシュされます
次回以降: 入力が同じであれば、結果はキャッシュから取得されます
結果: 繰り返し計算に使用されるトークンが少なくなる
3. 頻繁にアクセスされるデータ
同じデータが複数回必要な場合:
初回: データが処理され、キャッシュされる
それ以降: TTLが期限切れになるまで、データはキャッシュから取得されます。
結果:同じ情報にアクセスするために使用するトークンが少なくなる
自動キャッシュ管理
サーバーは、次の方法でキャッシュ プロセスを自動的に管理します。
最初に遭遇したときにデータを保存する
利用可能な場合はキャッシュされたデータを提供する
設定に基づいて古いデータや未使用データを削除する
統計による効果の追跡
最適化のヒント
1. 適切なTTLを設定する
頻繁に変更されるデータの場合は短くなります
静的コンテンツの場合は長め
2. メモリ制限を調整する
高いほどキャッシュが増えます(トークンの節約が増えます)
メモリ使用量が気になる場合は低くする
3. キャッシュ統計を監視する
高いヒット率 = トークンの節約
ヒット率が低い = TTLまたは制限を調整する
環境変数の設定
MCP 設定の環境変数を使用して config.json 設定を上書きできます。
{
"mcpServers": {
"memory-cache": {
"command": "node",
"args": ["/path/to/build/index.js"],
"env": {
"MAX_ENTRIES": "5000",
"MAX_MEMORY": "209715200", // 200MB
"DEFAULT_TTL": "7200", // 2 hours
"CHECK_INTERVAL": "120000", // 2 minutes
"STATS_INTERVAL": "60000" // 1 minute
}
}
}
}カスタム構成ファイルの場所を指定することもできます。
{
"env": {
"CONFIG_PATH": "/path/to/your/config.json"
}
}サーバーは次のことを行います。
ディレクトリ内のconfig.jsonを探します
環境変数のオーバーライドを適用する
どちらも指定されていない場合はデフォルト値を使用する
キャッシュの実際のテスト
キャッシュの動作を確認するには、次のシナリオを試してください。
ファイル読み取りテスト
大きなファイルを読み取って分析する
ファイルについて同じ質問をもう一度する
ファイルの内容がキャッシュされるため、2回目の応答は速くなるはずです。
データ分析テスト
いくつかのデータの分析を実行する
同じ分析を再度依頼する
2回目の分析ではキャッシュされた結果を使用する必要があります
プロジェクトナビゲーションテスト
プロジェクトの構造を調べる
同じファイル/ディレクトリを再度クエリする
ディレクトリリストとファイルの内容はキャッシュから提供されます
次のことに気づけば、キャッシュは動作しています。
繰り返し操作に対する応答が高速化
変更されていないコンテンツに関する一貫した回答
変更されていないファイルを再度読み込む必要はありません