mcpField
T
token-savior

token-savior

ローカル
github.com/Mibayy開発ツール1.2k2 週間前に更新

token-savior について

Token Saviorは、AIコーディングエージェント向けのMCPサーバーです。シンボル単位のコードナビゲーション、セッションをまたぐ永続メモリー、Bashコマンド処理を組み合わせ、フックとプロファイルで機能を設定できます。

主な機能

  1. 01シンボルと呼び出しグラフによるコード検索
  2. 02永続的なプロジェクトメモリーの保存と検索
  3. 03実行前のBashコマンド書き換え
  4. 04コマンド出力の圧縮と保存
  5. 05ts init CLIによるフック設定

活用シーン

  1. 01ファイル全体を読まずに関連コードを特定
  2. 02コーディングセッション間でプロジェクトの決定事項を引き継ぐ
  3. 03選択したBashコマンドのモデル入力を削減

MCP 対応

コードナビゲーション、メモリー、Bash、発見用ツールをMCPクライアントに提供します。プロファイルで利用可能なツール群を制御し、`ts init`で対応エージェントのフックを設定できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"mibayy-token-savior": {
"command": "uvx",
"args": [
"token-savior-recall"
],
"env": {
"WORKSPACE_ROOTS": "<WORKSPACE_ROOTS>",
"TOKEN_SAVIOR_CLIENT": "<TOKEN_SAVIOR_CLIENT>",
"TOKEN_SAVIOR_PROFILE": "<TOKEN_SAVIOR_PROFILE>"
}
}
}
}
起動コマンドuvx token-savior-recall
設定が必要な環境変数
WORKSPACE_ROOTSComma-separated list of absolute paths to project roots to index.
TOKEN_SAVIOR_CLIENTシークレットOptional client identifier (e.g. 'claude-code', 'cursor', 'hermes') for usage attribution.
TOKEN_SAVIOR_PROFILEシークレットManifest size. 'optimized' (recommended) advertises the Pareto-optimal 15-tool set; 'auto' sizes it from your own usage; 'full' advertises every tool; 'compact-only' if you already run symbol navigation elsewhere.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypitoken-savior-recall4.13.0

ツール

69

掲載時のツール一覧 · 2 週間前に更新

このツールにパラメーターはありません。

詳細

Token Savior

1 つの MCP サーバー、1 つのプロファイル。トークンを 80%削減しながら tsbench で 97.9%を達成。 AI コーディングエージェント向けの構造的なコードナビゲーション、永続メモリ、Bash コマンドの書き換え機能。

PyPI Benchmark Python 3.11+ MCP CI

mibayy.github.io/token-savior -- プロジェクトサイトおよびベンチマークのランディングページ ベンチマークのソースおよびフィクスチャは現在公開されていません(下記の スコアの再現 を参照)

Claude Code 単体と Token Savior を併用した Claude Code の比較:新規トークン数は 92,609 対 38,150、コストは 45%減

2026-10-07 に測定した v4.23 の 31 秒間の映像 · フル動画を視聴(MP4、音声あり)


ベンチマーク — 実際のコーディングタスク 96 件(Claude Opus 4.7、2026 年 5 月)
通常の Claude CodeToken Savior を使用
スコア141 / 180(78.3%)188 / 192(97.9%)
タスクあたりのアクティブトークン数17 2213 395(-80%)
タスクあたりの経過時間110.6 s18.9 s(-83%)

optimized プロファイルを使うと再現できます(環境変数は 1 つ)。この数値を出したハーネスについては以下で説明しています。現時点でそのリポジトリは公開されていないため、数値は独立して検証されたものではなく、報告値としてご覧ください。

再測定の結果が 2026-08-09 に公開され、2026-08-10 に撤回されました。 小規模な置き換え用ハーネスによる新規トークンの削減量が報告されていました。しかし、その数値はこのサーバーをまったく測定していませんでした。143 件のベンチマークセッションのうち、Token Savior のツールを呼び出したのはわずか 1 件でした。ハーネスを実行したクライアントでは MCP の遅延ツール読み込みが有効になっていたため、18 個のツールすべてがモデルのマニフェストに表示されず、代わりに ToolSearch で検索する必要がありました。モデルはツールを一度も認識せず、Grep と Read に切り替えていました。実行されたのは grep が 66 回、read が 30 回、MCP 呼び出しが 1 回でした。「プロファイル」間で異なっていたのはキャッシュ済みプレフィックスのサイズであり、エージェントの動作ではありませんでした。

数値そのものよりも、そこから得た教訓のほうが重要です。MCP サーバーのベンチマークでは、そのツールが実際に呼び出されたことを確認する必要があります。 私たちのベンチマークにはその確認がなく、同一のエージェントを問題なく比較してしまいました。現在はその確認をハーネスに追加しています。

したがって、上記の見出しの数値は、前述のとおり、報告値であり未検証のままです。

2026-10-07 に、ツールが実際に呼び出された状態で再測定しました。 このリポジトリの固定コピー(コミット 9d15a1e、CLAUDE.md なし)で同じ 8 件のタスクを実行し、Claude Haiku 4.5 を使用しました。通常の Claude Code と、alwaysLoad を使った auto プロファイルを比較しています。ハーネスは Token Savior のセッションで実際にサーバーが呼び出されたことを確認します。

3 回実行、平均 ± 標準偏差通常の Claude Codev4.23.0 auto
コスト、8 件のタスク$0.226 ± 0.011$0.123 ± 0.020(-45%、範囲 -39%~-53%)
新規トークン数92 609 ± 6 73138 150 ± 7 618(-59%)
TS を使用したセッション数—23 / 24
経過時間、8 件のタスク157 ± 26 s216 ± 9 s(+40%)

48 件すべてのセッションが成功しました。v4.22.0 は 1 回の測定で 14% 削減し、8 件中 5 件のセッションでツールを使用しました。同じリポジトリで 2026-10-08 に測定した編集タスク(1 900~3 700 行のファイルを対象に 3 件、コードとモジュールのテストを実行して評価、4 回実行)では、両方の条件で全セッションが成功しました。コストはばらつきが大きく、改善したとは言い切れません(実行ごとに -54%~+16%)。ネイティブの Edit では Read の一部だけで済むため、削減できるものがほとんど残っていません。

ベンチマークの各セッションで新しいサーバーを起動し、まずリポジトリをインデックス化するため、経過時間は増えています。長時間のセッションなら、インデックス化は最初の 1 回だけで済みます。v4.22.0 から v4.23.0 で変わったのは主に説明文です。search_codebase は各検索結果に該当する関数名を表示するようになり、ツールの説明では、どのネイティブ呼び出しを置き換えるかを明確にしました。


このリポジトリにスターを付けたのは誰ですか?

starscope

2026 年 6 月 30 日、GitHub はリポジトリの管理者とコラボレーター以外がスターを付けたユーザーやウォッチャーのリストを見られないように制限し、「自分のリポジトリにスターを付けたのは誰か」を調べるツールが一斉に使えなくなりました。自分が所有するか、プッシュ権限を持つリポジトリだけを読み取る仕組みだからこそ、今も使えるツールを作り直しました。starscope は、リポジトリにスターを付けた人やフォークした人を影響力順に表示し、GitHub プロフィールで公開している場合は、その人のソーシャルアカウントも表示します。

このリポジトリで starscope が算出した数値は、1,147 人、公開ソーシャルアカウントを持つ人が 27%、最もフォロワー数が多い人は 18,922 人です。氏名の一覧を見られるのはリポジトリの所有者だけです。公開ページには集計結果のみが表示されます。

新機能

リリースノートは、コードとの不整合が生じない場所で管理されています。

  • 全履歴についてはCHANGELOG.md
  • タグ付きビルドについてはリリース
  • pipで実際にインストールされるものについてはPyPI

クイックスタート

pip install "token-savior-recall[mcp]"

MCP の設定に追加します(例:Claude Code)。

{
  "mcpServers": {
    "token-savior-recall": {
      "command": "/path/to/venv/bin/token-savior",
      "alwaysLoad": true,
      "env": {
        "WORKSPACE_ROOTS": "/path/to/project1,/path/to/project2",
        "TOKEN_SAVIOR_CLIENT": "claude-code",
        "TOKEN_SAVIOR_PROFILE": "optimized"
      }
    }
  }
}

"alwaysLoad": true は Claude Code(2.1.28x 以降)で重要です。これがないと、サーバーのすべてのツールが ToolSearch の背後に置かれ、モデルはすでに読み込まれている Read や Grep を使おうとします。このオプションが存在する前に、このプロジェクトのベンチマークで測定したところ、143 セッション中 Token Savior ツールを呼び出したのは 1 セッションだけでした。このオプションを有効にすると、マニフェストのコストは 1 セッションあたり数千のキャッシュ済みトークンで済みます。

これだけです。TOKEN_SAVIOR_PROFILE=optimized は、tsbench で最高の結果を出すパレート最適な設定を提供します。以下をまとめています。

  • tiny_plus(15 個の高頻度ツールのマニフェスト)
  • 薄型の inputSchema(マニフェストを -44% 削減)
  • キャプチャサンドボックスを無効化
  • プロジェクト間の安全性を確保するため、メモリフックを制限

ほかに調整は必要ありません。


有効化(Bash の圧縮+書き換え)

Bash の圧縮と PreToolUse リライターはオプトインです。2 つの環境変数と CLI の呼び出しが必要です。

export TS_BASH_COMPACT=1       # PostToolUse output compactors (34 of them)
export TS_BASH_REWRITE=1       # PreToolUse command rewriter (10 rules)

ts init --agent claude --yes   # auto-merge hooks into ~/.claude/settings.json

ts init はべき等です。既存のフック項目を検出し、(matcher, command) で重複を排除して、統合差分を表示します。書き込み前に settings.json を .bak-YYYYMMDD-HHMMSS(UTC)にバックアップします。対応エージェントは以下のとおりです。 claude、cursor、gemini、codex、openclaw。プレビューするには --dry-run を、ユーザーレベルの設定に書き込むには --global を指定してください。

書き換えをすべて記録するオプションの監査ログ:

export TS_BASH_REWRITE_LOG=$HOME/.local/state/token-savior/rewrites.jsonl

コンパクターカタログ(34)

ファミリーコンパクター
gitstatus、diff、log、push/pull、commit、add、fetch、checkout、branch、worktree list、stash list
ghrun list、run view、pr diff、pr view、issue view、repo view
test/lintpytest、jest、vitest、eslint、biome、cargo test、cargo build/clippy、tsc
cloudkubectl get、kubectl logs、aws sts、aws ec2、aws lambda、aws logs、aws iam、aws dynamodb、aws s3
dockerdocker ps、docker logs
packagingnpm/yarn/pnpm list、pip list/show
shell catch-allsgrep、find、cat、curl

各コンパクターは純粋関数(I/O なし、グローバル変数なし)で、トークン効率の高い形式を返します。マッチャーが一致しない場合、ディスパッチャーは None を返し、既存のサンドボックス経路はそのまま維持されます。複合コマンド(cd ... && cmd)は、最後の意味のあるセグメントにフォールバックします。

これらは PostToolUse で実行されるため、現在のターンを短縮しません。 フックはツールの実行後に呼び出されるため、コンテキストを追加することはできますが、削除することはできません。コンパクトな形式は生の出力の下に追加され、生の出力も残ります。得られるのは永続性です。完全な出力はキャプチャサンドボックスに送られ、コンテキストの圧縮後も保持されます。モデルに届く情報を実際に減らすには、PreToolUse リライター(TS_BASH_REWRITE=1)を使用してください。実行前にコマンドを書き換えます。


ts_discover -- 見逃した TS の活用機会を発見

エージェントが実際に行った操作よりも TS ツールのほうが低コストで済んだパターンを探すために、Claude Code のトランスクリプトをスキャンする新しい MCP ツールです。

ts_discover()                       # active project, last 30 days
ts_discover(project=None)           # ALL transcript projects
ts_discover(format="adoption")      # TS vs native ratio per session
ts_discover(format="adoption_json") # same, JSON

検出対象:Read->Grep->Read の連鎖、連続した find_symbol、get_edit_context を使わない編集、memory_index を使わない memory_search、コードファイルに対するネイティブシェルの使用。引数は処理の要となるキーに絞り込まれます(PII セーフ)。mtime による高速スキップに対応した JSONL ストリームを出力します。


ts init CLI

ts init --agent claude [--global] [--dry-run] [--yes]
ts init --agent cursor
ts init --agent gemini
ts init --agent codex
ts init --agent openclaw

対象エージェントの設定ファイルの場所を検出し、Token Savior のフック設定(PostToolUse と PreToolUse)をディープマージして、既存のフックを保持し、重複を排除して、統合差分を表示します。settings.json.bak-YYYYMMDD-HHMMSS(UTC)にバックアップします。再実行しても何も変更されません。


概要

Claude Code は、3行について質問に答えるためにファイル全体を読み込み、セッションが終わるとすべてを忘れてしまいます。Token Savior はこの両方を解決します。さらに第3の軸として、コードを読み取る合間にターンの予算を膨らませる、ノイズの多い Bash 出力を、コマンドの実行前に書き換えることで抑制します。

関数、クラス、インポート、呼び出しグラフなどのシンボル単位でコードベースにインデックスを作成するため、モデルは cat ではなくポインターを使って移動できます。実測で、170以上の実セッションにおいて注入される文字数を97%削減しました。

その上に、永続メモリエンジンを搭載しています。すべての判断、バグ修正、規約、ガードレール、セッションの要約を SQLite WAL + FTS5 + ベクトル埋め込みに保存し、ベイズ的な有効性とROIに基づいて順位付けして、次のセッションの開始時にコンパクトな差分として再注入します。

さらにその上に、v4.1以降では Bash コンパクターと PreToolUse リライターを搭載しています。ベンチマークの数値は上記をご覧ください。

この2つのうち、実際にターンを短縮するのはどちらで、短縮しないのはどちらか。 2026-08-09に測定しました。この違いは明白ではないため、はっきり述べておく価値があります。

  • PreToolUse リライターは、コマンドの実行前にコマンドを書き換えるため、より小さな出力が生成され、より小さな出力がモデルに届きます。これは現在のターンを実際に削減します。
  • PostToolUse コンパクターは、ツールの処理が返ってきた後に実行されます。PostToolUse フックにできるのはコンテキストの追加だけです。フックが実行される時点で、未加工の出力はすでに送信されています。コンパクトな表示は追加されるだけで、元の出力を置き換えるものではありません。コンパクターが実際にもたらす価値は別のものであり、それでも有用です。出力全体がキャプチャサンドボックスに保持され、コンテキストの圧縮後も残るため、再実行せずに後から照会できます。

ターンを短縮したい場合は、TS_BASH_REWRITE=1 に設定します。コンテキストの圧縮をまたいでコマンド出力が失われるのを防ぎたい場合は、TS_BASH_COMPACT=1 に設定します。


プロファイルの比較

プロファイル公開されるツールマニフェストのトークン数使用する場面
optimized15約1.5 KT推奨されるデフォルト — tsbench でパレート優位
auto適応型約1~2 KTクライアントごとのテレメトリーベース(実験的)
tiny6約0.6 KT最小限のホットループ
lean51約4 KTレガシー — より広い機能範囲
compact-only1約0.3 KTBash レイヤーのみ(リライター + キャプチャ) — すでに別の場所でシンボルナビゲーションを実行している場合
full68約6 KTすべてを公開

おそらく optimized が最適です。


隣接ツールとの連携

Token Savior は複数のレイヤーにまたがりますが、隣接するツールのほとんどはそのうちの 1 つだけを担います。レイヤーごとに重複を無効にできるため、すでに使っている側を無効にすれば、通常は両方を実行しても問題ありません。これを整理してくれた @chirag127 に感謝します(#45)。

ツールレイヤー重複対応方法
RTK(現在、リポジトリにアクセスできません)PostToolUse Bash 出力の圧縮同じレイヤーで、同じ PostToolUse の制限があります。どちらも現在のターンを短縮しませんどちらか一方を選びます。RTK に任せるには TS_BASH_COMPACT=0 を設定します
serenaシンボルグラフナビゲーションfind_symbol / get_dependents と直接重複しますserena をナビゲーターとして使う場合は、TS を compact-only で実行します
codebase-memory永続的なコードグラフメモリエンジンと重複しますTS_MEMORY_DISABLE=1
Ponytail、Caveman出力側の圧縮(コードと文章)一部重複します。Token Savior には、ツールに組み込まれた、オプトイン方式の Ponytail スタイルの規律(TS_DISCIPLINE=1)が含まれています補完的なため、設定は不要です

これらのツールにはない、Token Savior が担うレイヤーは、PreToolUse Bash リライター(出力後ではなく、コマンドの実行前に短縮します)、インデックスとの同期を保つ構造的な編集、そして監査ツール(detect_breaking_changes、find_dead_code、analyze_config)です。

Bash レイヤーだけを使いたい場合は、TOKEN_SAVIOR_PROFILE=compact-only を指定すると、単一のツールだけを公開し、コンパクターとリライターは実行したままにします。この 2 つのうち、現在のターンを短縮するのはリライターです。


トークンの削減量

操作通常の ClaudeToken Savior削減量
find_symbol("send_message")41M 文字(全体を読み込み)67 文字-99.9%
get_function_source("compile")grep + cat の連鎖4.5K 文字直接取得
get_change_impact("LLMClient")不可能16K 文字新機能
96 タスクの tsbench(Opus、通常と ts の比較)17 221 アクティブ/タスク3 395 アクティブ/タスク-80%
7 日間の Bash 出力ベンチマーク(v4.3)約 30 K トークン/週約 9.6 K トークン/週約 20.4 K/週

インストール

pip(MCP サーバー)
pip install "token-savior-recall[mcp]"
# Optional hybrid vector search:
pip install "token-savior-recall[mcp,memory-vector]"
uvx(venv、クローン不要)
uvx token-savior-recall
Claude Code のワンライナー
claude mcp add token-savior -- /path/to/venv/bin/token-savior
開発
git clone https://github.com/Mibayy/token-savior
cd token-savior
python3 -m venv .venv
.venv/bin/pip install -e ".[mcp,dev]"
pytest tests/ -q

テストスイートの結果:main で 1898 件成功、2 件スキップ。Python 3.11 / 3.12 / 3.13 で CI は成功しています。


自分でベンチマークを実行する

上記のコンパクターの数値は、実際の Claude Code のトランスクリプトをディスパッチャーで再生して算出しています。scripts/ に 2 つのスクリプトがあります。

python3 scripts/bench_compactors_real.py       # match rate + mean savings
python3 scripts/bench_compactors_unmatched.py  # top unmatched commands

1 つ目は ~/.claude/projects/*/*.jsonl を走査し、すべての Bash 出力をレジストリ経由で再生して、ファミリーごとの削減量と全体の一致率を報告します。2 つ目は一致しなかったコマンドを分類し、ヒストグラムから次のコンパクターの対象がすぐにわかるようにします。

tsbench のスコアを再現する

2026-08-09 に確認した正直な状況: これらの手順が参照していたベンチマークのリポジトリは 404 を返し、上記の BENCHMARK-SUMMARY リンクも同様です。実行できない手順を残すのではなく、数値をその方法に基づいて評価できるよう、ハーネスの動作を以下に示します。

  • 4 つの仕掛けを埋め込んだ、生成されたおもちゃのリポジトリ(決定論的なシード)。同じシンボルの二重定義、3 段階の呼び出しチェーン、a -> b -> c -> a のインポート循環、名前に有効な関数名が含まれる未使用の関数です。
  • 読み取り専用の 8 つのタスクを、expected リストと forbidden リストに照らして機械的に採点します。重要なのは forbidden リストです。回答に正解と誤答の両方が含まれていても、正解だけを見る採点器なら正解と判定されてしまいます。
  • sans_ts の対照群では、通常の Read/Grep/Glob を実行します。これがなければ、ベンチマークは Token Savior のプロファイル同士を比較するだけで、「役に立たない」と結論づけられず、その結果「役に立つ」とも結論づけられません。

再構築する際に知っておくべき注意点が 1 つあります。ハーネスは claude -p を起動し、~/.claude/settings.json を継承します。マシン上で Token Savior の PreToolUse フックが 1 つでも有効になっていると、対照群にも適用され、比較結果が歪められます。両方の群で無効にしてください(TS_GUARD_OFF=1 TS_READ_GUARD=0 TS_BASH_REWRITE=0)。


おまけ:MCP を使わないエージェント向け ts CLI

MCP を使わないエージェント(Cursor、Aider、Continue、スクリプト、CI)向けに、ts コマンドから一部のツールをシェル経由で利用できます。

ts use /path/to/project
ts get my_function          # JSON output
ts search 'pattern'
ts daemon start             # ~145ms per call vs 1.5s cold fork
ts init --agent cursor      # wire up Bash hooks for non-Claude agents

Claude Code では、CLI よりもコストが低いことが測定されているため、MCP サーバーの使用を推奨します。CLI は移植性が必要な場合に利用してください。


環境変数

すべて任意です。=1 と表示されている値は、他の値を受け付けません。正確に 1 を設定してください。bool と表示されている値は 1/true/yes を受け付けます(記載がある場合は on も受け付けます)。

サーバーとツールのマニフェスト
変数デフォルト用途
WORKSPACE_ROOTScurrent dirインデックスを作成するプロジェクトルートをカンマ区切りで指定します。Codex の注意点:Codex は MCP サーバーの環境変数をホワイトリストでフィルタリングするため、エクスポートしたシェル変数は渡されません。config.toml の [mcp_servers.token-savior] env(または env_vars)に設定してください
PROJECT_ROOT—WORKSPACE_ROOTS の代わりに単一のルートを指定します
CLAUDE_PROJECT_ROOT—意図的にアクティブプロジェクトを上書きします(Token Savior 独自の仕様であり、ホスト側では設定されません)。有効な場合は登録され、他のすべての起動時シグナルより優先されます
TS_STICKY_ACTIVEoff (bool, on ok)アクティブプロジェクトを固定します。明示的な project= ヒントと絶対パス引数は引き続き各呼び出しを振り分けますが、共有デフォルトを変更する呼び出しはなくなります。兄弟関係にあるワークツリーで並列エージェントを実行する場合に使います
TOKEN_SAVIOR_PROFILEfullツールプロファイルです。クイックスタート設定と ts init が推奨する値の optimized は、パレートマニフェストを提供し、薄型スキーマを有効にして、マニフェストからキャプチャツールを除外します
TS_THIN_SCHEMAS=1off (optimized では on)冗長なツールスキーマをマニフェストから取り除きます
TS_DISCIPLINEoff (bool)Ponytail 風のセッション指示です。get_edit_context で範囲を限定した最小限の完全な変更、search_codebase で見つかったものの再利用、スキップした内容を締めくくる一文を求めます。デフォルトではオフです。tsbench では測定可能な効果がない一方、セッションごとに 3〜4%余分にコストがかかります
TS_PROMPTSon (bool)review/audit/lean の MCP プロンプト(Claude Code のスラッシュコマンド)です。呼び出すまではコストがかかりません。0 で削除します
TS_AUTO_HOT_K8テレメトリ駆動の auto プロファイルで公開されるホットツールの数です(ツールは全部で 13 個)
TS_LEVEL_BANDITofflevel が指定されていない場合に、Thompson サンプリングのバンディットで get_function_source/get_class_source の詳細レベルを選択します。デフォルトではオフです。ソースの代わりに要約が選ばれる傾向があったためです
TS_EXECUTE_MAX_CHARS60000ts_execute の結果の上限です。超過した場合、返される値は切り詰められ、その旨が報告されます
TS_GUARD_READ_FREE_LINES200規律ガード:インデックス済みコードのファイル全体を読み取る Read は、この行数まで許可されます
TOKEN_SAVIOR_CHAIN_NUDGEon0/false/off で、ツール連鎖の促しを無効にします
TS_MEMORY_DISABLE=1offメモリエンジンを無効にします(クリーンコンテキストのワークロード向け)
TS_CAPTURE_DISABLED=1off読み取り側のキャプチャサンドボックスをスキップし、マニフェストからキャプチャツールを除外します(これを切り替えるプロファイルはありません。optimized はキャプチャツールを非表示にするだけです)
TS_CODE_MODE_DISABLE=1offコードモードツールを無効にします
TS_CODE_MODE_NODEnodeコードモードのサンドボックスで使用する Node バイナリです
TS_RESOURCES_DISABLEDoff (bool)観測結果を ts://obs/{id} MCP リソースとして公開しません
TS_WARM_STARToff (bool)起動時にプロジェクトスロットを事前構築します
TOKEN_SAVIOR_NO_WARMUPoff (bool)ts_search の埋め込みのウォームアップをスキップします
TS_SEARCH_COLD_DELEGATEoff (bool, on ok)コールド状態での ts_search 呼び出しを、実行中の ts デーモンに委任します
TS_SOCK/tmp/ts.sockts デーモンの Unix ソケットです(CLI とコールド状態での委任に使用)
TOKEN_SAVIOR_CLIENTauto-detectedテレメトリ/クライアント検出用のクライアントラベル(claude-code など)です
TOKEN_SAVIOR_SESSION_LABEL—セッションテレメトリに付加する自由形式のラベルです
インデックス作成
変数デフォルト目的
INCLUDE_PATTERNSbuilt-in listコロン区切りの glob。デフォルトのインクルードリストを置き換えます
EXCLUDE_PATTERNSbuilt-in listコロン区切りの glob。デフォルトの除外リストを置き換えます
EXCLUDE_EXTRA—デフォルトの除外リストに追加される、コロン区切りの glob
TOKEN_SAVIOR_EXCLUDE_PATTERNS—インデクサーレベルで追加される、コロン区切りの glob
TOKEN_SAVIOR_MAX_FILE_SIZE500000インデックスを作成するファイルの最大サイズ(バイト)
TOKEN_SAVIOR_MAX_FILES10000プロジェクトごとの最大ファイル数
TOKEN_SAVIOR_WATCHERautoファイルウォッチャー:auto / on / off
TS_WATCHER_FORCE_POLLINGoffポーリング方式のウォッチャーバックエンドを強制します
Claude Code のフック
変数デフォルト目的
TS_CAPTURE_THRESHOLD_BYTES4096サンドボックスに格納するツール出力の最小サイズ
TS_CAPTURE_REPLACE=1off強制置換:インライン出力を無視し、URI に対して capture_get を呼び出すようエージェントに指示します
TS_CAPTURE_TTL_DAYS30この日数より古いキャプチャは次回の capture_put 時に削除されます。0 にすると GC が無効になります
TS_BASH_COMPACT=1offPostToolUse のコンパクター。コンパクション後も出力を保持します。現在のターンは縮小しません(上記の注記を参照)
TS_COMPACT_INLINE_THRESHOLD4096ハイブリッドモード:コンパクト化した結果がこのサイズを超えると、元の出力全体もサンドボックスに格納されます
TS_COMPACT_TINY_THRESHOLD256ハイブリッドモード:コンパクト化した結果がこのサイズを下回ると、サンドボックスを常にスキップします
TS_BASH_REWRITE=1offPreToolUse の Bash コマンド書き換え機能を有効にします
TS_BASH_REWRITE_LOG—すべての書き換えを記録する JSONL 監査ログ
TS_HOOK_MINIMAL=1offSessionStart のメモリーフックが Memory Index ブロックのみを出力します
メモリー関連の追加設定
変数デフォルト目的
TS_VIEWER_PORToff観察内容を表示するウェブビューアーのポート(未設定の場合は無効)
TS_AUTO_EXTRACT=1 + TS_API_KEYoffメモリー観察内容を LLM で自動抽出します(Anthropic API キーが必要)
TS_MODELclaude-sonnet-4-6自動抽出モデルの上書き設定
TOKEN_SAVIOR_MEMORY_AUTO_SAVE=1offメモリー観察内容を自動保存します
TELEGRAM_BOT_TOKEN + TELEGRAM_CHAT_ID—重要な観察内容のフィード
ストレージ、ダッシュボード、デバッグ
変数デフォルト目的
TOKEN_SAVIOR_STATS_DIR~/.local/share/token-saviorテレメトリーと統計データのディレクトリ
TOKEN_SAVIOR_DASHBOARD_HOST127.0.0.1ダッシュボードのバインド先ホスト
TOKEN_SAVIOR_DASHBOARD_PORT8921ダッシュボードのポート
TOKEN_SAVIOR_INCLUDE_TMP_PROJECTSoff (bool)ダッシュボードに一時ディレクトリ内のプロジェクトも表示します
TOKEN_SAVIOR_DEBUG=1offデバッグログ
TOKEN_SAVIOR_TRACEoff (bool)MCP リクエストのライフサイクルトレース

設定項目ではありません:CLAUDECODE、CLAUDE_CODE_ENTRYPOINT、CLAUDE_PROJECT_DIR、 CLAUDE_CONTEXT_REMAINING_PCT、CODEX_*、HERMES_* は、ホスト/クライアントの 検出と起動時のプロジェクトヒントに使用されます。これらは環境によって設定されるため、ユーザーが設定するものではありません。 (CLAUDE_PROJECT_DIR は Claude Code が実際にエクスポートする値です。常にメインのチェックアウトを示し、セッションが作業する ワークツリーを示すことはありません。そのため、起動ディレクトリがリンクされたワークツリーである場合は、起動ディレクトリが優先されます。 CLAUDE_PROJECT_ROOT は設定項目の表に移動しました。これを設定するものはなく、設定できるのはユーザーだけです。)

名前に関する注意:ベンチマークのスニペットにある TS_PROFILE はtsbench の変数です。 サーバーが読み取るのは TOKEN_SAVIOR_PROFILE です。


ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。