SuperAPI AI 工具集

local_faiss_mcp

local_faiss_mcp 是一个基于 Model Context Protocol (MCP) 的本地向量数据库服务器,使用 FAISS 实现高效的相似性搜索,为检索增强生成(RAG)应用提供支持。它能够自动分块和嵌入文档,支持 PDF、TXT、Markdown 等格式,并可通过自然语言进行语义查询。该工具内置持久化存储,索引和元数据保存在磁盘上,并兼容任何支持 MCP 的 AI 代理或客户端。v0.2.0 版本新增了独立命令行工具 local-faiss,支持通过 pandoc 处理 DOCX、HTML、EPUB 等 40 多种格式,并引入了两阶段检索与重排序(re-ranking)功能以提升结果相关性,同时允许用户选择任意 Hugging Face 嵌入模型。

访问官网

工具介绍

用途

local_faiss_mcp 旨在为 RAG 应用提供本地的向量数据库功能,可作为 MCP 服务器与 Claude、Copilot 等 AI 代理集成,实现文档的语义搜索和记忆存储。它适用于需要本地化、无外部依赖的向量检索场景。

主要能力

  • 本地向量存储:使用 FAISS 进行高效的相似性搜索,无需外部依赖。
  • 文档摄入:自动对文档进行分块和嵌入存储。
  • 语义搜索:使用句子嵌入通过自然语言查询文档。
  • 持久化存储:索引和元数据保存到磁盘。
  • MCP 兼容:可与任何支持 MCP 的 AI 代理或客户端配合使用。
  • 命令行工具:v0.2.0 引入 local-faiss 命令,支持独立索引和搜索。
  • 文档格式:原生支持 PDF、TXT、MD;通过 pandoc 支持 DOCX、HTML、EPUB 等 40+ 格式。
  • 重排序:两阶段检索与重排序,提升结果质量。
  • 自定义嵌入:可选择任意 Hugging Face 嵌入模型。
  • MCP 提示:内置用于答案提取和摘要的提示。

使用方式

安装

推荐从 PyPI 安装:

pip install local-faiss-mcp

升级:

pip install --upgrade local-faiss-mcp

可选扩展格式支持:安装 pandoc(macOS: brew install pandoc;Linux: apt install pandoc)。

运行服务器

  1. 使用安装的命令:local-faiss-mcp(需查看具体命令)
  2. 作为 Python 模块运行:python -m local_faiss_mcp
  3. 开发/测试:直接运行脚本

命令行参数:

  • --index-dir:存储 FAISS 索引和元数据的目录(默认当前目录)
  • --embed:Hugging Face 嵌入模型名称(默认 all-MiniLM-L6-v2)
  • --rerank:启用重排序并指定交叉编码器模型(默认 BAAI/bge-reranker-base)

可用工具

  • ingest_document:将文档摄入向量存储。参数:document(必需,文本内容或文件路径)、source(可选,文档来源标识,默认 "unknown")。自动检测文件路径并解析。
  • query_rag_store:查询向量存储以获取相关文档块。参数:query(必需,搜索查询文本)、top_k(可选,返回结果数量,默认 3)。

可用提示

  • extract-answer:从检索到的文档块中提取最相关的答案并附上引用。参数:query、chunks(JSON 数组,包含 text、source、distance 字段)。
  • summarize:从多个文档块中创建聚焦的摘要。参数:topic、chunks、max_length(可选,默认 200 词)。

命令行接口

local-faiss CLI 提供独立文档索引和搜索:

  • 索引文档:local-faiss index <路径>(支持 glob 模式和递归文件夹)
  • 搜索:local-faiss search <查询>
  • 配置自动从 ./.mcp.json、~/.claude/.mcp.json 或 ~/.mcp.json 读取,若无则创建默认配置。
  • 增量索引,不覆盖已有索引,显示进度。

MCP 客户端配置

在 Claude Code 的 .mcp.json 中添加服务器配置(示例见官方文本)。支持用户级、项目级配置,可自定义索引目录、嵌入模型和重排序。

技术细节

  • 嵌入模型:默认 all-MiniLM-L6-v2(384 维),支持任意 Hugging Face sentence-transformers 模型,自动检测维度,模型选择与索引一同持久化。
  • 索引类型:FAISS IndexFlatL2,精确 L2 距离搜索。
  • 分块:文档分割为约 500 词块,重叠 50 词。
  • 存储:索引保存为 faiss.index,元数据保存为 metadata.json。

适用场景

  • 为 AI 代理提供本地文档记忆和语义搜索。
  • 构建基于本地文档的 RAG 问答系统。
  • 需要无外部依赖、隐私保护的向量检索应用。

限制

  • 需自行安装和配置依赖(如 pandoc 用于扩展格式)。
  • 索引创建后需使用相同嵌入模型,否则维度不匹配会警告。
  • 其他限制暂未提供。