
portkey-ai/mcp-tool-filter
Analytics & monitoringこのページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る
MCP (Model Context Protocol) サーバー用の超高速セマンティック ツールを埋め込みます。 ツールのコンテキストを1000以上のツールから10-20のツールまで10ms以下に減らします.
概要
MCP (Model Context Protocol) サーバー用の超高速セマンティック ツールを埋め込みます。 ツールのコンテキストを1000以上のツールから最も関連性の高い10-20ツールまで減らすことができます。 - ⚡ : <10ms は、組み込みの最適化を備えた 1000 + ツールのレイテンシをフィルタリング - OST : 6-8x は、ドット製品、スマートトップ K 選択、真の LRU キャッシュを高速化します。 : インテリジェントなツールのマッチングのための埋め込みを使用する - のみ 埋め込みプロバイダ API が必要です。 - チャットの完了メッセージや生の文字列を受け入れる - 💾 : キャッシュの埋め込みと最適なパフォーマンスのためのコンテキスト - ️️ : チューンスコアは、常に最適なタイミングを把握し、最適化します。 - ⚡ 超高速: 1-5ms レイテンシ - プライベート: 外部 API に送信されたデータなし - クーポン無料: いいえ API コスト - オフラインで: インターネットなしで動作します - APIモデルより精度をわずかに下げる - 初期化ダウンロードモデル(〜25MB) - Xenova/all-MiniLM-L6-v2 (デフォルト) - 384 寸法、非常に高速 - Xenova/all-MiniLM-L12-v2 - 384 寸法、もっと...
概要(AI 翻訳)
MCP (Model Context Protocol) サーバー用の超高速セマンティック ツールを埋め込みます。 ツールのコンテキストを1000以上のツールから10-20のツールまで減らすことができます** 10ms未満**。
##特徴
- ⚡Lightning Fast: `
MCP サーバーでフィルタを初期化します。 この優先順位は、すべてのツールの埋め込みをキャッシュします。
注意: 起動時に一度電話してください。 ツールの数に応じて数秒かかる非同期動作です。
######[filter(input: FilterInput, options?: FilterOptions): Promise
入力コンテキストに基づくフィルタツール。
入力タイプ:
Options (すべてのオプション、オーバーライドデフォルト):
返品:
######getStats()
フィルターの状態に関する統計を取得します。
######[clearCache()
コンテキスト埋め込みキャッシュをクリアします。
パフォーマンスの最適化
組み込み最適化
ライブラリには、ボックスからいくつかのパフォーマンスの最適化が含まれています。
1。 ** LOCK-Unrolled Dot製品** - ベクトル類似性計算は、CPUパイプラインの最適化による6-8倍高速です 2.スマート Top-K Selection - ハイブリッドアルゴリズムは、典型的なワークロード用の高速ビルトインソートを使用して、500 +ツールのヒープベースの選択に切り替えます 3.
このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。
README
以下は原文 README の抜粋です。原文を見る。
@portkey-ai/mcp-tool-filter
Ultra-fast semantic tool filtering for MCP (Model Context Protocol) servers using embedding similarity. Reduce your tool context from 1000+ tools down to the most relevant 10-20 tools in under 10ms.
Features
- ⚡ Lightning Fast: <10ms filtering latency for 1000+ tools with built-in optimizations
- 🚀 Performance Optimized: 6-8x faster dot product, smart top-K selection, true LRU cache
- 🎯 Semantic Understanding: Uses embeddings for intelligent tool matching
- 📦 Zero Dependencies on Runtime: Only requires an embedding provider API
- 🔄 Flexible Input: Accepts chat completion messages or raw strings
- 💾 Smart Caching: Caches embeddings and context for optimal performance
- 🎛️ Configurable: Tune scoring thresholds, top-k, and always-include tools
- 📊 Performance Metrics: Built-in timing for optimization
Installation
npm install @portkey-ai/mcp-tool-filter
Quick Start
import { MCPToolFilter } from '@portkey-ai/mcp-tool-filter';
// 1. Initialize the filter (choose embedding provider)
// Option A: Local Embeddings (RECOMMENDED for low latency < 5ms)
const filter = new MCPToolFilter({
embedding: {
provider: 'local',
}
});
// Option B: API Embeddings (for highest accuracy)
const filter = new MCPToolFilter({
embedding: {
provider: 'openai',
apiKey: process.env.OPENAI_API_KEY,
}
});
// 2. Load your MCP servers (one-time setup)
await filter.initialize(mcpServers);
// 3. Filter tools based on context
const result = await filter.filter(
"Search my emails for the Q4 budget discussion"
);
// 4. Use the filtered tools in your LLM request
console.log(result.tools); // Top 20 most relevant tools
console.log(result.metrics.totalTime); // e.g., "2ms" for local, "500ms" for API
Embedding Provider Options
Local Embeddings (Recommended)
Pros:
- ⚡ Ultra-fast: 1-5ms latency
- 🔒 Private: No data sent to external APIs
- 💰 Free: No API costs
- 🌐 Offline: Works without internet
Cons:
- Slightly lower accuracy than API models
- First initialization downloads model (~25MB)
const filter = new MCPToolFilter({
embedding: {
provider: 'local',
model: 'Xenova/all-MiniLM-L6-v2', // Optional: default model
quantized: true, // Optional: use quantized model for speed (default: true)
}
});
Available Models:
Xenova/all-MiniLM-L6-v2(default) - 384 dimensions, very fastXenova/all-MiniLM-L12-v2- 384 dimensions, more accurateXenova/bge-small-en-v1.5- 384 dimensions, good balanceXenova/bge-base-en-v1.5- 768 dimensions, higher quality
Performance:
- Initialization: 100ms-4s (one-time, downloads model)
- Filter request: 1-5ms
- Cached request: <1ms
API Embeddings
For highest accuracy, use OpenAI or other API providers:
const filter = new MCPToolFilter({
embedding: {
provider: 'openai',
apiKey: process.env.OPENAI_API_KEY,
インストール
npx ts-node examples/benchmark.ts