/ ディレクトリ / プレイグラウンド / Context Mode
● コミュニティ mksglu ⚡ 即起動

Context Mode

作者 mksglu · mksglu/context-mode

サンドボックス ツールの出力と SQLite でのセッション状態の保持 — トークンの無駄が 98% 削減され、圧縮の記憶喪失がなくなりました。

コンテキスト モードは、「LLM が何をしていたかを忘れた」問題を 2 つの方法で解決します。まず、サンドボックス ツールはコンテキスト ウィンドウから生データをキャプチャします (プレイライト スナップショット: 56 KB → インデックス付き、エージェントは必要なものを検索します)。第 2 に、セッションごとの SQLite イベント ログはコンテキストの圧縮に耐え、モデルは元の場所を正確に取得します。 12 のプラットフォーム向けにプラグイン + MCP として出荷されます。

なぜ使うのか

主な機能

ライブデモ

実際の動作

context-mode-mcp.replay ▶ 準備完了
0/0

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "context-mode-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "context-mode"
      ]
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "context-mode-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "context-mode"
      ]
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "context-mode-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "context-mode"
      ]
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "context-mode-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "context-mode"
      ]
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "context-mode-mcp",
      "command": "npx",
      "args": [
        "-y",
        "context-mode"
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "context-mode-mcp": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "context-mode"
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add context-mode-mcp -- npx -y context-mode

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: Context Mode

未加工のツール出力でコンテキストを無駄にするのはやめましょう

👤 セッション中にコンパクションを実行するクロード コードのヘビー ユーザー ⏱ ~15 min intermediate

使うタイミング: エージェントが 30 分後には「忘れて」しまい、再読み込みで $$ を消費してしまうと感じます。

前提条件
  • クロードコード v1.0.33+brew upgrade claude-code or npm update -g @anthropic-ai/claude-code
フロー
  1. インストール
    /plugin marketplace add mksglu/context-mode
    /plugin install context-mode@context-mode✓ コピーしました
    → Plugin registers hooks + 6 sandbox tools
  2. 確認する
    /context-mode:ctx-doctor✓ コピーしました
    → All checks [x]
  3. 通常の使用
    Now do a big task that would normally blow context — e.g. analyze all .log files under /var/log✓ コピーしました
    → ctx_execute used instead of raw Read; output indexed not dumped
  4. 貯蓄をチェックする
    /context-mode:ctx-stats✓ コピーしました
    → Per-tool reduction ratio reported

結果: 同じタスクですが、圧縮までに 10 倍の時間がかかり、エージェントはそれを記憶します。

注意点
  • Other MCPs bypass the routing — Pass their tool calls through ctx_batch_execute for consistent accounting
組み合わせ: セレナ

モデルが圧縮された後、長時間のタスクをシームレスに再開

👤 開発者による数時間にわたるエージェント セッション ⏱ ~5 min beginner

使うタイミング: タスクが大きすぎて 1 つのコンテキスト ウィンドウに収まりません。

フロー
  1. --Continue で開始する
    [CLI flag] claude --continue✓ コピーしました
    → Prior session's SQLite loaded
  2. 観察する
    What did I last ask you about? What tasks are in progress?✓ コピーしました
    → Accurate recap from FTS5 index, not hallucinated

結果: 本当に再開可能なワークフロー。

注意点
  • Forgetting --continue starts fresh — Persistence requires --continue; absence means deliberate fresh start

組み合わせ

他のMCPと組み合わせて10倍の力を

context-mode-mcp + serena

Serena for semantic code nav, context-mode for keeping its output out of context

ルックアップには serena を使用し、結果の後処理には ctx_execute を使用します。✓ コピーしました
context-mode-mcp + playwright

Page snapshot output stays sandboxed

Playwright を介してページのスナップショットを作成し、コンテキスト モードで保持させます。ダンプする代わりに検索します。✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
ctx_execute code: str (js/python) スクリプトを実行してデータを処理します。必要なものだけを出力する free
ctx_batch_execute ops: [{tool, args}] サンドボックスを介して複数のツール呼び出しをラップする free
ctx_index content: str, tags?: [] 後で取得できるようにデータを隠しておく free
ctx_search query: str セッションインデックスから取得 free
ctx_fetch_and_index url: str URL を取得し、文脈から切り離して検索可能にします free
ctx_stats none 保存されたコンテキストの量を確認する free

コストと制限

運用コスト

APIクォータ
地元
呼び出しあたりのトークン
劇的な削減 — 実際のセッションでは 98% と見積もられています
金額
無料(ELv2ライセンス)
ヒント
セッションが大規模であればあるほど、大きなメリットが得られます - 長時間のタスクに使用します

セキュリティ

権限、シークレット、影響範囲

認証情報の保管: ~/.context-mode/ のセッション SQLite
データ送信先: None

トラブルシューティング

よくあるエラーと対処法

ctx-doctor でフックが欠落していることが示される

インストール後に Claude Code を完全に再起動します。フックは起動時に登録します

確認: Re-run /context-mode:ctx-doctor
サンドボックスはコードを実行しません

ノード/Python ランタイムがありません。医師がどちらかを教えてくれます。 brew/asdf でインストールします。

検索しても何も返されない

FTS5 がビルドされたことを確認します: sqlite3 ~/.context-mode/session.db "SELECT name FROM sqlite_master"。壊れた場合は再取り付けしてください。

代替案

Context Mode 他との比較

代替案代わりに使う場面トレードオフ
Raw Claude Code (no plugin)コンパクションに到達しない短いセッションコンテキストの保存なし
claude-memサンドボックス ツール パラダイムを使用せずにメモリ層が必要な場合異なるトレードオフ - メモリのみ、ツール出力サンドボックスなし

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る