【ITニュース解説】Solving response Token 25k limit Wall: Introducing mcp-cache
2025年10月01日に「Dev.to」が公開したITニュース「Solving response Token 25k limit Wall: Introducing mcp-cache」について初心者にもわかりやすく解説しています。
ITニュース概要
AIの情報処理でデータ量上限エラーが多発。これを解決するのが「mcp-cache」。大きな応答データを自動キャッシュし、AIが効率よく使える。既存システム変更なく導入でき、AI開発をスムーズに進める。
ITニュース解説
現代のITシステム開発や自動化の分野では、AI、特に大規模言語モデル(LLM)の活用が急速に進んでいる。ウェブサイトの自動操作やコードの解析、テストの自動化といった作業において、AIは非常に強力なツールとして期待されている。しかし、このようなAIを実際に業務で利用しようとすると、しばしば「Response exceeds maximum allowed tokens (25,000)」というエラーに遭遇し、作業が中断されるという問題が発生していた。これは、AIが大量の情報を処理する際に、データ量の限界に直面することを意味する。
具体的に言うと、「トークン」とは、AIがテキストを処理する際の最小単位のようなもので、単語や記号、句読点などがそれぞれトークンとして数えられる。文章やデータが長くなればなるほど、多くのトークンを消費する。この25,000トークンという制限は、AIモデル自体の処理能力によるものではなく、AIが外部のシステムと連携するために使われる「MCPサーバー」という部分に設けられた上限だった。MCPサーバーは、AIがウェブページの情報を取得したり、GitHubのリポジトリを分析したりする際に、それらの外部システムとAIとの間で情報のやり取りを仲介する役割を担っている。つまり、AIがウェブページの内容やGitHubのプルリクエスト(コードの変更提案)の差分、デザインツールのFigmaからエクスポートされたデータなどをMCPサーバーを通じて取得しようとしても、そのデータ量が25,000トークンを超えてしまうと、MCPサーバーがAIに情報を渡すことができず、エラーになってしまうのだ。
例えば、一般的なウェブページのDOM(ドキュメントオブジェクトモデル。ウェブページの構造を表すデータ)は1.3MBにもなり、これは約15万4千トークンに相当する。GitHubのプルリクエストの差分も3万6千トークン、Figmaのエクスポートデータに至っては35万1千トークンにもなることがある。これらの数字は、MCPサーバーの2万5千トークンという上限を大幅に超えてしまう。そのため、AIに実際のウェブページを分析させたり、大きなプルリクエストをレビューさせたりしようとすると、必ずこの壁にぶつかっていた。多くの開発者がChrome MCPサーバーやGitHub MCPサーバー、Playwright MCPサーバーなどで同様のエラーに直面しており、この問題は「おもちゃのような簡単な例では動くが、現実世界の複雑なデータには対応できない」という形で、AI活用の大きな障壁となっていたのである。
この深刻な問題に対し、開発者が「mcp-cache(エムシーピーキャッシュ)」という革新的な解決策を開発した。mcp-cacheは、MCPサーバーが生成する応答を管理するツールで、トークン上限の問題を自動的に解決する。その仕組みは、「透明なプロキシ」として機能する点にある。プロキシとは、ネットワークの間に立ち、データのやり取りを仲介・管理する代理人のようなものだ。mcp-cacheはAI(例えばClaude Desktop)と既存のMCPサーバーの間に位置し、MCPサーバーがAIに送信しようとする応答を「傍受」する。
もしその応答データが大規模でトークン制限を超えそうな場合、mcp-cacheはその完全なデータをローカルに保存(キャッシュ)する。そして、AIには完全なデータそのものではなく、そのデータの「要約」と、保存されたデータを検索するための「クエリツール」だけを返す。AIは、この要約を見て必要に応じてキャッシュされたデータの中から特定の情報を検索する。例えば、「DOMを取得して支払いフォームを見つけて」とAIに指示した場合、mcp-cacheがない状態ではデータが大きすぎてエラーになっていた。しかしmcp-cacheがあれば、まずDOM全体がキャッシュされ、「resp_xyz」という識別子で保存されたことがAIに伝えられる。次にAIが「支払いに関するアクションを持つフォームを表示して」と尋ねると、mcp-cacheはキャッシュされたデータの中からその情報を探し出し、AIに適切な結果を返すのだ。これにより、AIはトークン制限に引っかかることなく、巨大なデータに対しても効率的に作業を行えるようになる。
mcp-cacheの最も優れた点の一つは、その「設定不要(Zero Configuration)」であることだ。既存のMCPサーバーを起動するコマンドの前に、mcp-cacheのコマンドを追加するだけで、すぐに機能し始める。サーバー側の設定変更も、AIクライアント側の変更も一切必要ない。この手軽さから、Playwright、Chrome、GitHub、Filesystemといった様々なMCPサーバーに対応し、Python、Node.js、Go、Rustなど、どのような言語で書かれたサーバーでも動作する。
実際にmcp-cacheを導入したことで、具体的な成果も出ている。例えば、Eコマースサイトのテストでは、以前は25万トークンを超えるアクセシビリティツリー(ウェブページの構造と要素の情報を詳細に記述したデータ)が取得できずエラーになっていたが、mcp-cacheを使うことで、この巨大なデータをキャッシュし、AIが特定の要素を分析できるようになり、複雑な多ページフローの自動化に成功している。パフォーマンス面でも優れており、通常の応答に対するオーバーヘッドは10ミリ秒未満と非常に小さく、キャッシュされたデータへのクエリも200ミリ秒未満で完了する。さらに、キャッシュヒット率(要求されたデータがキャッシュ内に見つかる割合)は90%以上と高く、効率的な運用が可能になっている。
将来の展望も描かれている。現在のmcp-cacheはローカルファイルベースでデータをキャッシュしているが、今後はRedisのような分散キャッシュシステムを導入し、複数のチームで共有できるような仕組みを検討している。さらに、AIの能力を最大限に引き出すために、ベクトル埋め込みやセマンティック検索といった高度な技術の導入も視野に入れている。これにより、組織全体で共有されたキャッシュの中から「私たちのチェックアウトフローに似たページを見つけて」といった意味的な検索が可能になったり、コンプライアンス監査のために履歴を追跡したり、キャッシュされた応答から知識グラフを構築したりといった、より高度なAI活用が期待されている。
mcp-cacheは、AIクライアントを自動で識別し、そのクライアントに応じたトークン制限に調整する「クライアント認識インテリジェンス」も備えているため、手動での設定は不要だ。また、キャッシュされたデータに対する強力なクエリインターフェースも特徴の一つだ。特定の文字列を検索するテキスト検索、JSON形式の構造化データから特定の要素を抽出するJSONPath、そして複雑なパターンに一致する情報を探す正規表現など、多様な方法で必要な情報を効率的に取り出すことができる。
このmcp-cacheは、AI活用における現実的な課題を解決し、開発者の作業を効率化するための非常に有用なツールである。npmを通じて簡単にインストールし、既存のMCPサーバーコマンドの前にmcp-cacheコマンドを追加するだけで、誰でもすぐに試すことができる。このツールは、開発者がAIを使ってより高度で複雑な自動化を実現するための大きな一歩となるだろう。