SuperAPI AI 工具集

filter-mcp-server

filter-mcp-server 是一个基于 MCP(模型上下文协议)服务器的开源项目,用于比较多种近似过滤器数据结构,包括 Bloom 过滤器、Counting Bloom 过滤器、Cuckoo 过滤器和 SuRF(简化版),并提供精确哈希集合服务器作为基线。项目通过统一的 ADT 风格接口和相同工作负载,对比不同过滤器在成员查询准确性、假阳性率、插入与删除支持以及前缀和范围查询能力等方面的表现。该仓库被收录于 awesome-mcp-servers 列表,适合研究近似过滤器的开发者进行实验和对比。

访问官网

工具介绍

用途

filter-mcp-server 是一个使用 MCP 服务器和 LLM 工具调用来比较多种近似过滤器数据结构的项目。近似过滤器通过存储压缩摘要而非完整键来减少内存使用,但由此带来假阳性或有限操作的权衡。项目旨在对比不同过滤结构在相同工作负载下的行为。

主要能力

项目比较以下过滤器:

  • Bloom 过滤器
  • Counting Bloom 过滤器
  • Cuckoo 过滤器
  • SuRF(简化版)

此外还包含一个精确哈希集合服务器作为基线比较(filter-naive)。

比较重点包括:

  • 成员查询准确性
  • 假阳性率
  • 插入和删除支持
  • 前缀和范围查询能力

所有服务器通过 MCP 工具暴露相同的 ADT 风格接口,以便一致地进行测试。

使用方式

服务器模拟关键字搜索系统,应用于:

  • 搜索自动补全
  • 屏蔽词检查
  • 字典成员测试

所有过滤器使用相同的关键字数据集和查询来比较性能和行为。所有 MCP 服务器提供相同的工具集。

项目提供理论/定性结构比较表,描述每种结构的预期定性行为,该表并非实测基准结果。

实测结果位于 docs/benchmark_results.md。基准测试使用 src/membership_filters/benchmark.py 中的固定合成工作负载,用相同的构建项和缺失查询探针比较所有过滤器。报告内容包括:通过 memory_usage() 估算的内存、通过 false_positive_rate() 实测的假阳性率,以及本地 contains() 的平均延迟。

可在本地运行基准测试,也可运行冒烟测试。filter-naive 作为精确基线包含在内。

示例 Claude Desktop MCP 配置

项目提供示例 Claude Desktop MCP 配置。

流程说明

  1. LLM 发送 MCP 工具请求。
  2. mcp_server.py 暴露通用的 ADT 风格工具。
  3. registry.py 选择请求的过滤器实现。
  4. 选定的过滤器处理查询。
  5. 结果通过 MCP 服务器返回。

该设计允许所有过滤器通过相同接口和工作负载进行测试。

适用场景

适合需要学习、实验或对比近似过滤器数据结构的研究人员和开发者,尤其在关键字搜索、自动补全和屏蔽词检查等模拟场景中。

限制

SuRF 服务器是简化的教育性实现,并非基于 LOUDS 的生产级完整 SuRF。项目侧重于比较和实验,而非生产优化。