mcpField
A
agentfit

agentfit

ローカル
github.comAI・エージェント120 週間前に更新

agentfit について

agentfitは、トークン数を推定し、モデルのコンテキスト予算に合わせてチャット履歴を整理するMCPサーバーです。指定したメッセージを残しながら履歴を調整したいMCPクライアント向けです。

主な機能

  1. 01テキストやメッセージのトークン推定
  2. 02複数のモデル推定方式に対応
  3. 03トークン予算に合わせた履歴整理
  4. 04削除方法と保持メッセージの指定
  5. 05組み込み推定方式の一覧表示

活用シーン

  1. 01会話履歴のトークン数の確認
  2. 02モデル上限内への会話の調整
  3. 03システムプロンプトや指定ターンの保持

MCP 対応

stdio経由で、トークン推定、メッセージ整理、推定方式一覧のツールをMCPクライアントに提供します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"mukundakatta-agentfit": {
"command": "npx",
"args": [
"-y",
"@mukundakatta/agentfit-mcp"
]
}
}
}
起動コマンドnpx -y @mukundakatta/agentfit-mcp

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

パッケージ
npm@mukundakatta/agentfit-mcp0.1.0

ツール

3

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

パラメーター型必須説明
inputanyはいチャットメッセージの文字列または配列。
modelstringいいえ任意のモデル名(例:"gpt-5"、"claude-sonnet-4-6")。最も近い推定器ファミリーが選択されます。
overheadnumberいいえメッセージごとのトークンオーバーヘッド(デフォルト値はモデルファミリーによって異なり、通常は 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 シリーズの一部です。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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