原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Local FAISS MCP Server

作者:nonatofabio版本 0.2.0-rc.3i★ 36i在你的电脑上运行
注册名称io.github.nonatofabio/local-faiss-mcp

安装

概览

作者提供的说明(英文原文)

Local FAISS vector database for RAG with document ingestion, semantic search, and MCP prompts.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 搜索与 AI 记忆

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:2 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 注册中心没有列出需要填写的密钥。

你需要

  • PyPI已安装 Python 的 uv(用于 uvx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "local-faiss": {
      "command": "uvx",
      "args": [
        "local-faiss-mcp"
      ]
    }
  }
}

在终端中运行这条命令

claude mcp add local-faiss -- uvx local-faiss-mcp

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "local-faiss": {
      "command": "uvx",
      "args": [
        "local-faiss-mcp"
      ]
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "local-faiss": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "local-faiss-mcp"
      ]
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

哪些应用可以使用它

依据这个服务器的连接方式和各应用自己的文档,检查于 2026年11月10日。

在你的电脑上运行,适用于

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

全部应用及其优缺点 →

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月10日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 nonatofabio 验证,该账户拥有此仓库

  • ! 注意

    仍在维护

    代码最后更新于7个月前,已超过 6 个月

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“搜索与 AI 记忆”中的其他服务器比较i

  • 星标数多于此分类中其他 5873 个服务器的 96%
  • 发布到注册中心的时间比此分类中其他 5873 个服务器的 1% 更新
  • 基础检查结果等于或优于此分类中其他 5873 个服务器的 14%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Local FAISS MCP Server 安全吗?

它在 2 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于7个月前,最新版本(0.2.0-rc.3)于11个月前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。

有什么可以替代它?

同一分类中有:Ruflo, Context7, Metabase

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Ruflo

Agent teams, swarms, memory and hooks for Claude Code and Codex, served over MCP.

作者:ruvnet广泛使用↓ 7.4万/周★ 8.1万昨天更新

在你的电脑上运行

Context7

Up-to-date docs for AI agents

作者:upstash广泛使用↓ 125万/周★ 6.4万昨天更新

电脑或云端

Metabase

Lets AI clients search, explore, query, and visualize data in a Metabase instance.

作者:metabase广泛使用★ 5万6个月前更新

在云端运行

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

Local FAISS MCP Server

A Model Context Protocol (MCP) server that provides local vector database functionality using FAISS for Retrieval-Augmented Generation (RAG) applications.

Features

Core Capabilities
  • Local Vector Storage: Uses FAISS for efficient similarity search without external dependencies
  • Document Ingestion: Automatically chunks and embeds documents for storage
  • Semantic Search: Query documents using natural language with sentence embeddings
  • Persistent Storage: Indexes and metadata are saved to disk
  • MCP Compatible: Works with any MCP-compatible AI agent or client
v0.2.0 Highlights
  • CLI Tool: local-faiss command for standalone indexing and search
  • Document Formats: Native PDF/TXT/MD support, DOCX/HTML/EPUB with pandoc
  • Re-ranking: Two-stage retrieve and rerank for better results
  • Custom Embeddings: Choose any Hugging Face embedding model
  • MCP Prompts: Built-in prompts for answer extraction and summarization

Quickstart

# Install

pip install local-faiss-mcp

Index documents

local-faiss index document.pdf

Search

local-faiss search "What is this document about?"

Or use with Claude Code - configure MCP client (see Configuration) and try:

Use the ingest_document tool with: ./path/to/document.pdf

Then use query_rag_store to search for: "How does FAISS perform similarity search?"

Claude will retrieve relevant document chunks from your vector store and use them to answer your question.

Installation

⚡️ Upgrading? Run pip install --upgrade local-faiss-mcp

From PyPI (Recommended)
pip install local-faiss-mcp
Optional: Extended Format Support

For DOCX, HTML, EPUB, and 40+ additional formats, install pandoc:

# macOS

brew install pandoc

Linux

sudo apt install pandoc

Or download from: https://pandoc.org/installing.html

Note: PDF, TXT, and MD work without pandoc.

From Source
git clone https://github.com/nonatofabio/local_faiss_mcp.git

cd local_faiss_mcp pip install -e .

Usage

Running the Server

After installation, you can run the server in three ways:

1. Using the installed command (easiest):

local-faiss-mcp --index-dir /path/to/index/directory

2. As a Python module:

python -m local_faiss_mcp --index-dir /path/to/index/directory

3. For development/testing:

python local_faiss_mcp/server.py --index-dir /path/to/index/directory

Command-line Arguments:

  • --index-dir: Directory to store FAISS index and metadata files (default: current directory)
  • --embed: Hugging Face embedding model name (default: all-MiniLM-L6-v2)
  • --rerank: Enable re-ranking with specified cross-encoder model (default: BAAI/bge-reranker-base)

Using a Custom Embedding Model:

# Use a larger, more accurate model

local-faiss-mcp --index-dir ./.vector_store --embed all-mpnet-base-v2

Use a multilingual model

local-faiss-mcp --index-dir ./.vector_store --embed paraphrase-multilingual-MiniLM-L12-v2

Use any Hugging Face sentence-transformers model

local-faiss-mcp --index-dir ./.vector_store --embed sentence-transformers/model-name

Using Re-ranking for Better Results:

Re-ranking uses a cross-encoder model to reorder FAISS results for improved relevance. This two-stage "retrieve and rerank" approach is common in production search systems.

# Enable re-ranking with default model (BAAI/bge-reranker-base)

local-faiss-mcp --index-dir ./.vector_store --rerank

Use a specific re-ranking model

local-faiss-mcp --index-dir ./.vector_store --rerank cross-encoder/ms-marco-MiniLM-L-6-v2

Combine custom embedding and re-ranking

local-faiss-mcp --index-dir ./.vector_store --embed all-mpnet-base-v2 --rerank BAAI/bge-reranker-base

How Re-ranking Works:

  1. FAISS retrieves top candidates (10x more than requested)
  2. Cross-encoder scores each candidate against the query
  3. Results are re-sorted by relevance score
  4. Top-k most relevant results are returned

Popular re-ranking models:

  • BAAI/bge-reranker-base - Good balance (default)
  • cross-encoder/ms-marco-MiniLM-L-6-v2 - Fast and efficient
  • cross-encoder/ms-marco-TinyBERT-L-2-v2 - Very fast, smaller model

The server will:

  • Create the index directory if it doesn't exist
  • Load existing FAISS index from {index-dir}/faiss.index (or create a new one)
  • Load document metadata from {index-dir}/metadata.json (or create new)
  • Listen for MCP tool calls via stdin/stdout
Available Tools

The server provides two tools for document management:

1. ingest_document

Ingest a document into the vector store.

Parameters:

  • document (required): Text content OR file path to ingest
  • source (optional): Identifier for the document source (default: "unknown")

Auto-detection: If document looks like a file path, it will be automatically parsed.

Supported formats:

  • Native: TXT, MD, PDF
  • With pandoc: DOCX, ODT, HTML, RTF, EPUB, and 40+ formats

Examples:

{

"document": "FAISS is a library for efficient similarity search...", "source": "faiss_docs.txt" }

{

"document": "./documents/research_paper.pdf" }

2. query_rag_store

Query the vector store for relevant document chunks.

Parameters:

  • query (required): The search query text
  • top_k (optional): Number of results to return (default: 3)

Example:

{

"query": "How does FAISS perform similarity search?", "top_k": 5 }

Available Prompts

The server provides MCP prompts to help extract answers and summarize information from retrieved documents:

1. extract-answer

Extract the most relevant answer from retrieved document chunks with proper citations.

Arguments:

  • query (required): The original user query or question
  • chunks (required): Retrieved document chunks as JSON array with fields: text, source, distance

Use Case: After querying the RAG store, use this prompt to get a well-formatted answer that cites sources and explains relevance.

Example workflow in Claude:

  1. Use query_rag_store tool to retrieve relevant chunks
  2. Use extract-answer prompt with the query and results
  3. Get a comprehensive answer with citations
2. summarize-documents

Create a focused summary from multiple document chunks.

Arguments:

  • topic (required): The topic or theme to summarize
  • chunks (required): Document chunks to summarize as JSON array
  • max_length (optional): Maximum summary length in words (default: 200)

Use Case: Synthesize information from multiple retrieved documents into a concise summary.

Example Usage:

In Claude Code, after retrieving documents with query_rag_store, you can use the prompts like:

Use the extract-answer prompt with:
  • query: "What is FAISS?"
  • chunks: [the JSON results from query_rag_store]

The prompts will guide the LLM to provide structured, citation-backed answers based on your vector store data.

Command-Line Interface

The local-faiss CLI provides standalone document indexing and search capabilities.

Index Command

Index documents from the command line:

# Index single file

local-faiss index document.pdf

Index multiple files

local-faiss index doc1.pdf doc2.txt doc3.md

Index all files in folder

local-faiss index documents/

Index recursively

local-faiss index -r documents/

Index with glob pattern

local-faiss index "docs/**/*.pdf"

Configuration: The CLI automatically uses MCP configuration from:

  1. ./.mcp.json (local/project-specific)
  2. ~/.claude/.mcp.json (Claude Code config)
  3. ~/.mcp.json (fallback)

If no config exists, creates ./.mcp.json with default settings (./.vector_store).

Supported formats:

  • Native: TXT, MD, PDF (always available)
  • With pandoc: DOCX, ODT, HTML, RTF, EPUB, etc.
  • Install: brew install pandoc (macOS) or apt install pandoc (Linux)
Search Command

Search the indexed documents:

# Basic search

local-faiss search "What is FAISS?"

Get more results

local-faiss search -k 5 "similarity search algorithms"

Results show:

  • Source file path
  • FAISS distance score
  • Re-rank score (if enabled in MCP config)
  • Text preview (first 300 characters)
CLI Features
  • ✅ Incremental indexing: Adds to existing index, doesn't overwrite
  • ✅ Progress output: Shows indexing progress for each file
  • ✅ Shared config: Uses same settings as MCP server
  • ✅ Auto-detection: Supports glob patterns and recursive folders
  • ✅ Format support: Handles PDF, TXT, MD natively; DOCX+ with pandoc

Configuration with MCP Clients

Claude Code

Add this server to your Claude Code MCP configuration (.mcp.json):

User-wide configuration (~/.claude/.mcp.json):

{

"mcpServers": { "local-faiss-mcp": { "command": "local-faiss-mcp" } } }

With custom index directory:

{

"mcpServers": { "local-faiss-mcp": { "command": "local-faiss-mcp", "args": [ "--index-dir", "/home/user/vector_indexes/my_project" ] } } }

With custom embedding model:

{

"mcpServers": { "local-faiss-mcp": { "command": "local-faiss-mcp", "args": [ "--index-dir", "./.vector_store", "--embed", "all-mpnet-base-v2" ] } } }

With re-ranking enabled:

{

"mcpServers": { "local-faiss-mcp": { "command": "local-faiss-mcp", "args": [ "--index-dir", "./.vector_store", "--rerank" ] } } }

Full configuration with embedding and re-ranking:

{

"mcpServers": { "local-faiss-mcp": { "command": "local-faiss-mcp", "args": [ "--index-dir", "./.vector_store", "--embed", "all-mpnet-base-v2", "--rerank", "BAAI/bge-reranker-base" ] } } }

Project-specific configuration (./.mcp.json in your project):

{

"mcpServers": { "local-faiss-mcp": { "command": "local-faiss-mcp", "args": [ "--index-dir", "./.vector_store" ] } } }

Alternative: Using Python module (if the command isn't in PATH):

{

"mcpServers": { "local-faiss-mcp": { "command": "python", "args": ["-m", "local_faiss_mcp", "--index-dir", "./.vector_store"] } } }

Claude Desktop

Add this server to your Claude Desktop configuration:

{

"mcpServers": { "local-faiss-mcp": { "command": "local-faiss-mcp", "args": ["--index-dir", "/path/to/index/directory"] } } }

Architecture

  • Embedding Model: Configurable via --embed flag (default: all-MiniLM-L6-v2 with 384 dimensions)
  • Supports any Hugging Face sentence-transformers model
  • Automatically detects embedding dimensions
  • Model choice persisted with the index
  • Index Type: FAISS IndexFlatL2 for exact L2 distance search
  • Chunking: Documents are split into ~500 word chunks with 50 word overlap
  • Storage: Index saved as faiss.index, metadata saved as metadata.json
Choosing an Embedding Model

Different models offer different trade-offs:

ModelDimensionsSpeedQualityUse Case

| all-MiniLM-L6-v2

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx