AsterMind MCP について
AsterMind MCP は、RAG ワークフローで LLM に送る文章を減らすためのローカル再ランキングサーバーです。スコア付け、絞り込み、トークン数の計測を提供し、データをネットワークに送信しません。
主な機能
- 01検索した文章の再ランキングと絞り込み
- 02トークン予算に合わせたコンテキストの縮小
- 03トークン数の計測と削減量の推定
- 04テキストの検索・分類・比較
- 05信頼度シグナルの提示
活用シーン
- 01RAG ワークフローから送るコンテキストの削減
- 02単一ホップの質問に使う文章の選定
- 03マルチホップ検索での文章保持数の調整
MCP 対応
ローカルでの再ランキング、コンテキスト絞り込み、トークン計測、検索、テキスト分析ツールを MCP クライアントに公開します。AsterMind Community Edition ELM エンジンを使い、処理は端末上で実行されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
10掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| topK | integer | いいえ | 上位 K 件のみを返します(デフォルト:すべて)。 |
| query | string | はい | ユーザーのクエリまたは質問。 |
| documents | array | はい | 並べ替える候補ドキュメント/チャンク。 |
詳細
AsterMind MCP
LLM に送るトークン数を、呼び出し前にお使いのマシン上で削減します。
AsterMind MCP は、取得したコンテキストをローカルで順位付けしてフィルタリングする Model Context Protocol サーバーです。検索システムが返したすべての内容ではなく、質問への回答に実際に役立つ少数の文章だけをモデルに送信できます。AsterMind Community Edition の ELM エンジン上で動作します。 ネットワーク通信も API キーも不要で、データがマシンの外に出ることはありません。
実際の効果(公称値ではなく、実測値)
6 つのシナリオ(サポート用ナレッジベース、API ドキュメント、人事ポリシー、EC の FAQ、DevOps ランブック、フィンテックのヘルプ)を用いた RAG ベンチマークで、取得した候補 10 件を再ランキングスコア上位 3 件に絞り込んだ場合:
| 指標 | 結果 |
|---|---|
| コンテキストトークンの平均削減率 | 66.9%(トークン数全体で 66.8%) |
| 回答を含む文章のヒット率 | 100%(すべてのシナリオで、クエリに回答する文章がフィルタリング後も残りました) |
| 合計トークン数 | 926 → 307 |
| 関連する文章をすべて残す厳密な再現率 | 55.6% |
| 適合率 | 50% |
トークン数の計測には gpt-tokenizer
(o200k/cl100k BPE、OpenAI 互換)を使用しました。ご自身で再現するには、npm run benchmark を実行してください。
評価方法の詳細とシナリオごとの結果は BENCHMARK.md をご覧ください。
正直なトレードオフ
削減率と再現率は逆方向に動きます。チャンクを少なく残すほどトークン数を削減できますが、関連する文章を落とすリスクが高まります。どのバランスにするかはご自身で選べます。
| 上位 K 件を残す(10 件中) | トークン削減率 | 回答を含む文章のヒット率 | 関連する文章すべての再現率 |
|---|---|---|---|
| 1 | 約 87.9% | 100% | 38.9% |
| 3(デフォルト) | 66.8% | 100% | 約 55~75% |
| 6 | 約 46% | 100% | 75% |
テストしたすべての K において、1 位の文章は全シナリオで関連する文章として提示されました。 これが確かな根拠のある結果です。単一ホップの質問(FAQ、サポート、1 つの事実を尋ねる質問)では上位 1~3 件を残せば、コンテキストを約 67~88%削減できます。複数の文章を必要とするマルチホップの質問では上位 5~6 件を残してください。フィルタリングしすぎると必要な文章を落としてしまいます。
インストール
npx @astermind/astermind-mcp
または、MCP クライアントの設定に追加してください(Claude Desktop、Cursor、VS Code、Cline):
{
"mcpServers": {
"astermind": {
"command": "npx",
"args": ["-y", "@astermind/astermind-mcp"]
}
}
}
Node 18 以降で動作します。GPU、ビルド手順、設定は不要です。
ツール(10 種類)
| ツール | 機能 | 強み |
|---|---|---|
rerank_documents | クエリに対して候補を採点し、並べ替えます | 強力 — 中核となる価値 |
filter_context | 上位 K 件、またはしきい値以上の文章を残します | 強力 |
compress_context | コンテキストブロックを再ランキングし、指定したトークン数まで短縮します | 強力 |
count_tokens | 任意のテキストの正確な BPE トークン数を数えます | 正確 |
estimate_savings | フィルタリング方法に応じた処理前後のトークン数の差を算出します | 正確 |
semantic_search | クエリに対してコーパスを順位付けします | 良好(語彙ベース) |
detect_language | テキストの言語を特定します | 良好(信頼度を表示) |
classify_text | 指定されたカテゴリにテキストを分類します | 弱い — 信頼度が低い場合に表示 |
generate_embeddings | テキストの文字レベルのベクトルを生成します | ほぼ重複するテキストの判定にのみ使用 |
compare_texts | 2 つのテキスト間の類似度を算出します | ほぼ重複するテキストの判定にのみ使用 |
すべてのツールが信頼度を示します。エンジンの性能が弱い場合は、黙って推測せず、その旨をツールが示します。
既知の制限事項(意図的に記載しています)
- リランカーは語彙ベース(TF-IDF)です。 共通する用語をもとに照合するため、純粋な同義語の違いは見落とすことがあります。たとえば、「支払い方法」というクエリでは、「Visa/Mastercard」とだけ記載された文章は上位に表示されにくくなります。クエリと回答で語彙が共通している場合(RAG でよくあるケース)に優れた性能を発揮します。
- 分類は標準状態では精度が低く、トレーニング後も十分とはいえません。 判断の決め手ではなく、信頼度の低いヒントとして利用してください。信頼度が低い場合は警告します。
- 埋め込みは文字レベルです。 類似した文章の検出には役立ちますが、深い意味的類似性の検出には向きません。
上記のトークン削減が実際に得られるのは、関連する文章が保持されている場合に限られます。回答を削除してトークンを減らしても節約にはなりません。このベンチマークでは、その両方を測定しています。
コストを削減できる場面
このサーバーは、LLM の語彙を縮小したり、プロンプトを魔法のように圧縮したりするものではありません。特定の方法でトークンを節約します。まず幅広く検索し、その後、重要な文章だけをモデルに送信します。 現在の RAG パイプラインで、取得した 8~12 個のチャンクを毎回プロンプトに詰め込んでいる場合、ローカルで再ランク付けして 3 個だけを送信すれば、呼び出しごとの入力トークンを直接、継続的に削減できます。しかも、お使いのマシン上で無料で実行できます。
開発と検証
npm install
npm test # engine + MCP client round-trip tests
npm run benchmark # regenerates benchmark/results.json
npm run benchmark:sweep # top-K policy sweep
ライセンス
MIT © AsterMind AI。@astermind/astermind-community をベースに構築されています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。