Context Optimizer について
Context Optimizer は、GitHub Copilot、Cursor、Claude Desktop などの AI コーディングアシスタントに、必要な情報だけを抽出するツールを提供する MCP サーバーです。大きなファイルやターミナル出力でチャットのコンテキストが埋まることを防ぎたい開発者に向けています。
主な機能
- 01ファイルから特定の情報を抽出
- 02コマンド実行と LLM による結果の抽出
- 03先行するコマンド出力に対する追加質問
- 04Exa.ai を用いたクイックおよび詳細なウェブ調査
- 05パス検証とコマンドフィルタリングによるセキュリティ制御
活用シーン
- 01大きなファイルに特定の関数や import 文が含まれるか確認
- 02長いビルドやテストのログからエラーを抽出
- 03技術選定の前に最新のベストプラクティスをウェブで調査
MCP 対応
本プロジェクトは MCP サーバーとして、askAboutFile、runAndExtract、askFollowUp、researchTopic、deepResearch などのツールを MCP 対応アシスタントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Context Optimizer MCP サーバー
GitHub Copilot、Cursor AI、Claude Desktop などの MCP 対応アシスタントを含む AI コーディングアシスタント向けに、コンテキスト最適化ツールを提供する Model Context Protocol(MCP)サーバーです。大きなターミナル出力やファイルの処理でコンテキストを無駄にするのではなく、必要な情報だけを抽出できるようにします。
この MCP サーバーは、VS Code Copilot Context Optimizer extensionを進化させたもので、MCP 対応アプリケーション全般との互換性を備えています。
🎯 解決する問題
AI コーディングアシスタント(Copilot、Claude Code、Cursor など)を使っていて、次のような経験はありませんか?
- 🔄 アシスタントが会話を何度も圧縮・要約し、その過程で少しずつコンテキストが失われていきます。
- 🖥️ アシスタントが重要な情報だけを必要としているのに、ターミナル出力が数百行にわたってコンテキストを埋め尽くします。
- 📄 特定のことを1つ確認したいだけなのに、大きなファイルがコンテキストを圧迫します。
- ⚠️ 「コンテキストの上限に達しました」というメッセージでワークフローが中断されます。
- 🧠 コンテキストがあふれ、アシスタントが会話の前半を「忘れて」しまいます。
- 😫 会話が長くなると、推論の品質が低下します。
根本原因:アシスタントが次のようなことをするときです。
- ターミナルコマンドを実行した後、ビルド、テスト、lint などの長いログを読み取る。
- 質問に答えるために、コード全体が必要ないにもかかわらず、大きなファイル(または複数のファイル)をすべて読み取る。
- 何かのやり方を調べるために、ウェブ上の複数のページを読み取る。
- または、単に長い会話を続ける。
アシスタントは、次のいずれかの状態になります。
- 会話履歴の圧縮、要約、切り捨てを始める。
- 推論の品質が低下する。
- 以前のコンテキストや決定を見失う。
- 集中力を失い、役に立たなくなる。
解決策:
このサーバーは、MCP 対応アシスタントに、必要な情報だけを抽出する専用ツールを提供します。チャットのコンテキストを整理して、データの管理ではなく、問題解決に集中できるようにします。
機能
- 🔍 ファイル分析ツール(
askAboutFile)- ファイル全体を読み込まずに、特定の情報を抽出します - 🖥️ ターミナル実行ツール(
runAndExtract)- コマンドを実行し、LLM 分析を用いて関連情報を抽出します - ❓ 続きの質問ツール(
askFollowUp)- 以前のターミナル実行について会話を続けます - 🔬 リサーチツール(
researchTopic、deepResearch)- Exa.ai の API を使用してウェブ調査を実施します - 🔒 セキュリティ制御 - パス検証、コマンドフィルタリング、セッション管理
- 🔧 複数の LLM に対応 - Google Gemini、Claude(Anthropic)、OpenAI で動作します
- ⚙️ 環境変数による設定 - システム環境変数で API キーを管理します
- 🏗️ シンプルな設定 - 環境変数のみを使用し、管理する設定ファイルはありません
- 🧪 包括的なテスト - 単体テスト、統合テスト、セキュリティ検証
クイックスタート
1. グローバルにインストールします:
npm install -g context-optimizer-mcp-server
2. 環境変数を設定します(OS ごとの手順についてはdocs/guides/usage.mdを参照してください):
export CONTEXT_OPT_LLM_PROVIDER="gemini"
export CONTEXT_OPT_GEMINI_KEY="your-gemini-api-key"
export CONTEXT_OPT_EXA_KEY="your-exa-api-key"
export CONTEXT_OPT_ALLOWED_PATHS="/path/to/your/projects"
3. MCP クライアントの設定に追加します:
claude_desktop_config.json(Claude Desktop)のmcpServersや、mcp.json(VS Code)のserversのように設定します。
"context-optimizer": {
"command": "context-optimizer-mcp"
}
OS ごとの環境変数の設定や AI アシスタントの設定を含む完全なセットアップ手順については、**docs/guides/usage.md**を参照してください。
利用可能なツール
-
askAboutFile- ファイル全体をチャットのコンテキストに読み込まずに、ファイルから特定の情報を抽出します。ファイルに特定の関数が含まれているかの確認、import/export 文の抽出、ファイル全体を読まずにその目的を把握する場合に最適です。 -
runAndExtract- ターミナルコマンドを実行し、LLM による分析を使って関連情報を効率的に抽出します。セキュリティ検証、タイムアウト、後続の質問に対応するセッション管理を備えた、対話を必要としないコマンドをサポートします。 -
askFollowUp- コマンドを再実行せずに、以前のターミナル実行についての会話を続けます。以前のrunAndExtract呼び出しに関する完全なコンテキスト(コマンド出力全体や実行の詳細など)にアクセスできます。 -
researchTopic- Exa.ai のリサーチ機能を利用して、ソフトウェア開発に関するトピックを迅速かつ集中的に調査します。最新のベストプラクティス、実装ガイダンス、進化し続けるテクノロジーに関する最新情報を取得できます。 -
deepResearch- Exa.ai の包括的な機能を利用して、綿密な調査と分析を行います。重要な意思決定、複雑なアーキテクチャ計画に最適です。戦略的な技術選定、アーキテクチャ計画、長期的なロードマップの策定に役立ちます。
ツールの詳細なドキュメントと例については、docs/tools.md と docs/guides/usage.md を参照してください。
ドキュメント
すべてのドキュメントは docs/ ディレクトリにまとめられています。
| トピック | 場所 | 説明 |
|---|---|---|
| アーキテクチャ | docs/architecture.md | システム設計とコンポーネントの概要 |
| ツールリファレンス | docs/tools.md | ツールの完全なドキュメントと例 |
| 使用ガイド | docs/guides/usage.md | セットアップと設定の全手順 |
| VS Code のセットアップ | docs/guides/vs-code-setup.md | VS Code 固有の設定 |
| トラブルシューティング | docs/guides/troubleshooting.md | よくある問題と解決方法 |
| API キー | docs/reference/api-keys.md | API キーの管理 |
| テスト | docs/reference/testing.md | テスト用フレームワークと手順 |
| 変更履歴 | docs/reference/changelog.md | バージョン履歴 |
| コントリビューション | docs/reference/contributing.md | 開発ガイドライン |
| セキュリティ | docs/reference/security.md | セキュリティポリシー |
| 行動規範 | docs/reference/code-of-conduct.md | コミュニティのガイドライン |
クイックリンク
- はじめに:セットアップの全手順については
docs/guides/usage.mdを参照してください - ツールリファレンス:ツールの詳細なドキュメントについては
docs/tools.mdを確認してください - トラブルシューティング:よくある問題については
docs/guides/troubleshooting.mdを確認してください - VS Code のセットアップ:VS Code の設定については
docs/guides/vs-code-setup.mdに従ってください
テスト
# Run all tests (skips LLM integration tests without API keys)
npm test
# Run tests with API keys for full integration testing
# Set environment variables first:
export CONTEXT_OPT_LLM_PROVIDER="gemini"
export CONTEXT_OPT_GEMINI_KEY="your-gemini-key"
export CONTEXT_OPT_EXA_KEY="your-exa-key"
npm test # Now runs all tests including LLM integration
# Run in watch mode
npm run test:watch
手動テスト
AI アシスタントを使った包括的なエンドツーエンドテストについては、手動テストのセットアップガイド を参照してください。このガイドでは、現実的なシナリオを通じてすべてのツールを検証する、ワークフローベースのテストプロトコルを説明しています。
テストのセットアップの詳細については、docs/reference/testing.md を参照してください。
コントリビューション
コントリビューションを歓迎します。開発ワークフロー、コーディング規約、テスト、プルリクエストの送信に関するガイドラインについては、docs/reference/contributing.md をお読みください。
コミュニティ
- 行動規範:docs/reference/code-of-conduct.md を参照してください
- セキュリティレポート:責任ある脆弱性開示については、docs/reference/security.md に従ってください
- Issue:バグや機能リクエストには GitHub Issues を利用してください
- プルリクエスト:テストが成功し、ドキュメントが更新されていることを確認してください
- ディスカッション:(有効な場合)自由形式の質問やアイデアの共有に利用してください
ライセンス
MIT License — 詳細については LICENSE ファイルを参照してください。
関連プロジェクト
- VS Code Copilot Context Optimizer – 元となった VS Code 拡張機能(関連プロジェクト)
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。