Context Mode|AIエージェントのコンテキストを98%削減するMCPサーバー
Context Modeは、AIコーディングエージェントのコンテキストウィンドウを最適化するMCPサーバーです。ツールの出力をサンドボックス化し、SQLiteとBM25検索を用いてセッションメモリを保持します。
ポイント
- コンテキストを98%削減。生のツール出力をサンドボックスに逃がし315KBを5.4KBに圧縮。
- セッションの永続化。会話が圧縮されても編集履歴やタスクをSQLiteに保持し忘却を防止。
- コードでの思考を強制。LLMに直接ファイルを読ませず、集計スクリプトを実行させ結果のみを取得。
概要・解決する課題
AIエージェントがPlaywrightのスナップショットを取得したり、多数のGitHub課題を読み込んだりすると、大量の生データが瞬時にコンテキストを埋め尽くします。会話のトークン上限に達してエージェントが会話を圧縮すると、編集中のファイルや直前のエラーを忘れてしまう課題がありました。
Context Modeは、ツールの実行をサンドボックス化し、生の出力をコンテキストウィンドウから排除するMCPサーバーです。ファイル編集やタスクの履歴をSQLiteに保存し、FTS5によるBM25検索で必要な情報だけを検索・抽出することで、コンテキストの消費を大幅に抑制します。
ただし、フックに対応していないプラットフォームで利用する場合は、自動ルーティングが機能しないため、手動でルーティングファイルをコピーして配置する必要があります。
なぜ注目されているか
LLMのコンテキスト制限が拡大した一方で、エージェントの自律稼働に伴う「MCPツールの出力肥大化」と「会話圧縮による文脈の喪失」が新たな開発のボトルネックとなっています。この「もう半分のコンテキスト問題」に、インデックス化とローカルでのコード実行というアプローチで直接応えたことで支持を集めています。
主なユースケース
- 大量のファイルを跨ぐ分析処理
エージェントに50個のファイルをすべて読み込ませる代わりに、JavaScriptスクリプトを自動生成して実行させ、その結果だけを出力することでコンテキストを節約します。
ctx_execute("javascript", ` const files = fs.readdirSync('src').filter(f => f.endsWith('.ts')); files.forEach(f => console.log(f + ': ' + fs.readFileSync('src/'+f,'utf8').split('\\n').length + ' lines')); `); - 長時間の連続コーディングセッション 会話の圧縮が発生した状態でも、過去の編集履歴や決定事項をSQLiteから検索し、直前の開発タスクをスムーズに継続させます。
動作環境
- Node.js: v22.5以上(またはBun)
- データベース: SQLite(FTS5サポート必須)
- 対応クライアント: Claude Code v1.0.33以上、Gemini CLIなど17のプラットフォーム
- ライセンス: Elastic License 2.0(ソースアベイラブル。個人・社内利用や組み込みは自由だが、第三者向けにマネージドサービスとしてホスティング提供することは禁止)
始め方(クイックスタート)
Claude Code環境では、以下のコマンドでプラグインマーケットプレイスから直接インストールできます。
/plugin marketplace add mksglu/context-mode
/plugin install context-mode@context-mode
インストール後、Claude Codeを再起動または /reload-plugins を実行し、以下の診断コマンドで動作を検証します。
/context-mode:ctx-doctor
診断ツールの各項目に [x] が表示されれば、ランタイムやフック、FTS5、プラグイン登録が正常に機能しています。詳細は公式リポジトリを参照してください。
こんな人におすすめ
- AIコーディングエージェントを使っていて、すぐにコンテキスト上限に達してしまう開発者
- 会話が長くなるとエージェントが編集中のファイルを忘れてしまい、作業が手戻りすることに不満がある人
- 開発コンテキストの消費量や削減効果を、実機で可視化して評価したい人
関連リソース [PR]
※ Amazon アソシエイト・リンクを含みます。リンク経由の購入で当サイトが収益を得る場合があります。
本記事は GitHub Trending を元に自動生成しています。最新情報は公式リポジトリをご確認ください。