mcp-tool-filter-server
概述
MCP代理服务器。使用向量嵌入(基于本地或LLM)根据请求上下文提示过滤工具。
用途 @portkey-ai/mcp-tool-filter 作为底层过滤引擎:
使用嵌入相似性对MCP(模型上下文协议)服务器进行超快速语义工具过滤。将您的工具上下文从1000多个工具减少到最相关的10-20个工具 10ms以下.
特性
- ⚡ 迅速的:1000多种内置优化工具的过滤延迟\ \[!提示\]
参见 @portkey-ai/mcp-tool-filter 过滤器和嵌入设置和微调的文档。名称以开头的变量 EMBEDDING_ 和 FILTER_,与
| 变量 | 描述 | 默认值 |
|---|---|---|
EMBEDDING_PROVIDER | local, openai, voyage, cohere | local |
EMBEDDING_MODEL | (可选) |
\*外部:型号名称(默认为提供商推荐的型号) \*本地:HuggingFace型号名称(默认为“Xenova/all-MiniLM-L6-v2”)|--| | EMBEDDING_API_KEY |外部提供程序的API密钥|-| | EMBEDDING_DIMENSIONS |可选:嵌入维度(适用于支持它的提供程序)|--| | EMBEDDING_BASE_URL |可选:自定义端点的基本URL || | EMBEDDING_QUANTIZED |可选:量化级别(默认为true以加快推理速度)| false | | FILTER_TOP_K |要退回的顶级工具数量| 20 | | FILTER_MIN_SCORE |最小相似性得分阈值| 0.3 | | FILTER_CONTEXT_MESSAGES |需要考虑上下文的最近消息数| 3 | | FILTER_ALWAYS_INCLUDE |无论得分如何,都要始终包含工具|--| | FILTER_EXCLUDE |从结果中排除的工具|--| | FILTER_MAX_CONTEXT_TOKENS |上下文的最大令牌数(默认值:500)| 500 | | FILTER_INCLUDE_SERVER_DESCRIPTION |在工具嵌入中包含服务器描述以获取更多上下文| false | | FILTER_DEBUG |启用调试日志记录| false | | UPSTREAM_MCP_TRANSPORT | stdio 或 http | stdio | | UPSTREAM_MCP_COMMAND |stdio命令(例如。, node, npx) | npx | | UPSTREAM_MCP_ARGS |可选:stdio上游服务器命令的逗号分隔参数|--| | UPSTREAM_MCP_ENV |可选:逗号分隔 KEY:VALUE 对于stdio上游服务器|--| | UPSTREAM_MCP_CWD |可选:stdio上游服务器的工作目录|--| | UPSTREAM_MCP_URL |上游MCP服务器的基本URL(HTTP传输)|--| | PROXY_MCP_TRANSPORT | stdio 或 http | stdio | | PROXY_MCP_PORT |HTTP传输端口| 3000 | | LOG_LEVEL | trace, debug, info, warn, error, silent | info |
Docker镜像
将代理服务器和上游MCP服务器捆绑在一个Docker容器中是有意义的。
有一个方便的脚本--build-image.sh示例:
构建:
UPSTREAM_SOURCE=/path/to/upstream-mcp-server.mjs \
UPSTREAM_MCP_COMMAND=node \
UPSTREAM_MCP_ARGS="/app/upstream/upstream-mcp-server.mjs" \
IMAGE_NAME="mcp-tool-filter-server-bundle" \
IMAGE_TAG="0.1.0" \
./build-image.sh运行(HTTP代理): 在这个例子中,MCP代理是
docker run -p 3129:3129 --rm \
--name mcp-bundle \
--add-host=host.docker.internal:host-gateway \
--network host \
-v "/path/to/configs:/app/config" \
-e 'UPSTREAM_MCP_ENV=KEY:"VAL",FILE_REF:"{file:/app/config/data.json}"' \
-e 'PROXY_MCP_TRANSPORT=http' \
mcp-tool-filter-server-bundle:latest 与ToolHive集成
对于 ToolHive 集成,将代理配置为 stdio 服务器。确保Docker容器或本地进程可以访问上游连接所需的环境变量。
路线图
- 支持多个上游MCP服务器(聚合+过滤)。
- 基于JSON的配置文件支持替换/补充环境变量。
贡献
提交带有描述性标题的PR。跟随 约定式提交.
许可证
麻省理工学院
