agentfit について
agentfitは、トークン数を推定し、モデルのコンテキスト予算に合わせてチャット履歴を整理するMCPサーバーです。指定したメッセージを残しながら履歴を調整したいMCPクライアント向けです。
主な機能
- 01テキストやメッセージのトークン推定
- 02複数のモデル推定方式に対応
- 03トークン予算に合わせた履歴整理
- 04削除方法と保持メッセージの指定
- 05組み込み推定方式の一覧表示
活用シーン
- 01会話履歴のトークン数の確認
- 02モデル上限内への会話の調整
- 03システムプロンプトや指定ターンの保持
MCP 対応
stdio経由で、トークン推定、メッセージ整理、推定方式一覧のツールをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
3掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| input | any | はい | チャットメッセージの文字列または配列。 |
| model | string | いいえ | 任意のモデル名(例:"gpt-5"、"claude-sonnet-4-6")。最も近い推定器ファミリーが選択されます。 |
| overhead | number | いいえ | メッセージごとのトークンオーバーヘッド(デフォルト値はモデルファミリーによって異なり、通常は 4~6)。 |
詳細
agentfit-mcp
@mukundakatta/agentfit 用の MCP サーバーです。 Claude Desktop、Cursor、Cline、Windsurf、Zed など、あらゆる MCP クライアントから、必要に応じてトークン数を推定したり、チャット履歴をモデルのコンテキスト予算内に収めたりできます。
npx -y @mukundakatta/agentfit-mcp
3 つのツールがあります。
count_tokens— 文字列またはチャットメッセージ配列のトークン数を、モデルごとの推定器ファミリー(openai、anthropic、google、llama、default)を使って推定します。fit_messages—maxTokensの予算を下回るまで、チャット履歴からメッセージを削除します。drop-oldest、drop-middle、priority の各戦略に対応し、preserveSystem、preserveFirstN、preserveLastNを尊重します。list_estimators— 組み込みの推定器ファミリーを一覧表示します。
クライアントに追加する
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または %APPDATA%\Claude\claude_desktop_config.json(Windows)を編集します。
{
"mcpServers": {
"agentfit": {
"command": "npx",
"args": ["-y", "@mukundakatta/agentfit-mcp"]
}
}
}
Cursor
~/.cursor/mcp.json:
{
"mcpServers": {
"agentfit": {
"command": "npx",
"args": ["-y", "@mukundakatta/agentfit-mcp"]
}
}
}
Cline / Windsurf / Zed
上記と同じ形式です。このサーバーは stdio 経由でプレーンな MCP を使用するため、stdio MCP サーバーに対応するクライアントであれば利用できます。
ツールの例
count_tokens:
{ "input": "hello world", "model": "claude-sonnet-4-6" }
戻り値:
{ "tokens": 4, "model": "claude-sonnet-4-6" }
fit_messages:
{
"messages": [
{ "role": "system", "content": "You are precise." },
{ "role": "user", "content": "long context..." },
{ "role": "assistant", "content": "..." },
{ "role": "user", "content": "final question" }
],
"maxTokens": 8000,
"model": "claude-sonnet-4-6",
"preserveSystem": true,
"preserveLastN": 2,
"strategy": "drop-oldest"
}
戻り値:
{
"messages": [...],
"dropped": [...],
"tokens": { "before": 12000, "after": 7800, "budget": 8000 },
"fit": true
}
fit_messages は常に構造化された結果を返し、通信経由で例外を送出することはありません。保護対象外のメッセージをすべて削除しても予算内に収まらない場合は、部分的な結果とともに fit: false を返すため、呼び出し元が次の対応を判断できます。
専用の MCP サーバーを用意する理由
@mukundakatta/agentfit は、依存関係のない JavaScript ライブラリです。このパッケージはこれを MCP サーバーとしてラップすることで、MCP 対応の AI アシスタントから利用できるようにします。Claude に「この文字起こしのトークン数はいくつ?」や「システムプロンプトと直近 2 ターンを保持して、このチャットを 8k トークンに収めて」と尋ねると、アシスタントがこれらのツールを直接呼び出します。
関連する MCP サーバー
すべて @mukundakatta/*-mcp の agent-stack シリーズの一部です。
@mukundakatta/agentfit-mcp— フィットさせる。(本パッケージ)@mukundakatta/agentguard-mcp— サンドボックス化する。@mukundakatta/agentsnap-mcp— テストする。@mukundakatta/agentvet-mcp— 審査する。@mukundakatta/agentcast-mcp— 検証する。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。