Skip to content
appsgit

MCP Local RAG

MCP Local RAG is an MCP server that adds search and knowledge tools to AI assistants such as Claude Desktop, Claude Code and Cursor. Easy-to-setup local RAG server with minimal configuration. It has 407 GitHub stars, is released under the MIT license and runs locally with npx -y mcp-local-rag.

github.com/shinpr/mcp-local-rag (opens in a new tab)

Install MCP Local RAG

Generated from the server's MCP registry entry. Replace your-value with your own values.

Claude Desktop

claude_desktop_config.json
{
  "mcpServers": {
    "mcp-local-rag": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-local-rag"
      ],
      "env": {
        "BASE_DIR": "your-value",
        "BASE_DIRS": "your-value",
        "DB_PATH": "your-value",
        "CACHE_DIR": "your-value",
        "HF_ENDPOINT": "your-value",
        "MODEL_NAME": "your-value"
      }
    }
  }
}

Settings > Developer > Edit Config. macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\. Restart Claude Desktop afterwards.

Claude Code

claude mcp add --env BASE_DIR=your-value --env BASE_DIRS=your-value --env DB_PATH=your-value --env CACHE_DIR=your-value --env HF_ENDPOINT=your-value --env MODEL_NAME=your-value --transport stdio mcp-local-rag -- npx -y mcp-local-rag

Cursor

.cursor/mcp.json
{
  "mcpServers": {
    "mcp-local-rag": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "mcp-local-rag"
      ],
      "env": {
        "BASE_DIR": "your-value",
        "BASE_DIRS": "your-value",
        "DB_PATH": "your-value",
        "CACHE_DIR": "your-value",
        "HF_ENDPOINT": "your-value",
        "MODEL_NAME": "your-value"
      }
    }
  }
}

Project file; use ~/.cursor/mcp.json to enable it in every project.

VS Code

.vscode/mcp.json
{
  "servers": {
    "mcp-local-rag": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "mcp-local-rag"
      ],
      "env": {
        "BASE_DIR": "your-value",
        "BASE_DIRS": "your-value",
        "DB_PATH": "your-value",
        "CACHE_DIR": "your-value",
        "HF_ENDPOINT": "your-value",
        "MODEL_NAME": "your-value"
      }
    }
  }
}

Config formats checked against the official docs on Oct 7, 2026: modelcontextprotocol.io (opens in a new tab), code.claude.com (opens in a new tab), cursor.com (opens in a new tab), code.visualstudio.com (opens in a new tab).

Environment variables

Variables the server reads at startup.

NameRequiredDescription
BASE_DIRNoBase directory for document storage (defaults to current working directory). Ignored when BASE_DIRS is set.
BASE_DIRSNoJSON array of base directories (e.g. '["/a","/b"]'). Takes precedence over BASE_DIR.
DB_PATHNoPath to LanceDB database directory (defaults to ./lancedb/)
CACHE_DIRNoDirectory where Transformers.js models are cached (defaults to ./models/)
HF_ENDPOINTNoHugging Face model download endpoint. Set this to a mirror URL when direct downloads are blocked (defaults to https://huggingface.co).
MODEL_NAMENoEmbedding model name (defaults to Xenova/all-MiniLM-L6-v2)
MAX_FILE_SIZENoMaximum file size in bytes (defaults to 104857600 / 100MB)
RAG_MAX_DISTANCENoMaximum distance threshold for filtering search results. Results with distance greater than this value will be excluded. Lower values mean stricter filtering…
RAG_GROUPINGNoGrouping mode for quality filtering. 'similar' returns only the most similar group (stops at first distance jump). 'related' includes related groups (stops at…
RAG_MAX_FILESNoMaximum number of files to keep in search results. Results are filtered to include only chunks from the top N best-scoring files. For example, 1 returns only…
CHUNK_MIN_LENGTHNoMinimum chunk length in characters (1-10000, defaults to 50). Chunks shorter than this threshold are filtered out during ingestion.
STORE_IMAGESNoStore supported PDF and DOCX images during ingestion and return them with matched chunks (defaults to false).
EMBED_TITLE_PREFIXNoEmbed each chunk together with its document title, which can help when passages don't restate the topic the title names (defaults to false). After changing…
EMBED_HEADING_PREFIXNoAdd section headings to chunk embeddings when they fit (defaults to false). Independent of EMBEDTITLEPREFIX. Re-ingest documents after changing it.
RAG_DEVICENoExecution device for the embedder (defaults to cpu). Passed straight to ONNX Runtime; see the Transformers.js device source for the supported backend names…
RAG_DTYPENoEmbedding quantization dtype for the embedder (defaults to fp32). Opt-in and pass-through; accepts any dtype the chosen model provides (fp32, fp16, q8, int8…
RAG_HYBRID_WEIGHTNoKeyword boost factor for hybrid search (0.0-1.0, defaults to 0.6). 0 means semantic similarity only; higher values increase the keyword-match contribution to…
RAG_RERANK_CMDNoExternal reranker command template. Use {query} and {top} for query text and result count; unset disables reranking.
RAG_RERANK_TIMEOUT_MSNoTime budget per rerank call in milliseconds (100-600000, defaults to 10000). On timeout the spawned command is killed and the pre-rerank ordering is returned.

About MCP Local RAG

English | 简体中文 | Deutsch | Español | Português (Brasil) | Français Search private documents from an MCP client or the terminal without sending them to an embedding API.

  • local-rag
  • privacy-first
  • mcp-server
  • rag
  • semantic-search
  • hybrid-search
  • mcp
  • developer-tools
  • agent-skills
  • local-first

FAQ

MCP Local RAG FAQ

Still curious? Email info@appsgit.com.

What is MCP Local RAG?

MCP Local RAG is an MCP server that adds search and knowledge tools to AI assistants such as Claude Desktop, Claude Code and Cursor. Easy-to-setup local RAG server with minimal configuration. It has 407 GitHub stars, is released under the MIT license and runs locally with npx -y mcp-local-rag. The source code is at github.com/shinpr/mcp-local-rag.

How do I install the MCP Local RAG MCP server?

Add the command npx -y mcp-local-rag to your MCP client: put it in claude_desktop_config.json for Claude Desktop, run claude mcp add for Claude Code, or add it to .cursor/mcp.json (Cursor) or .vscode/mcp.json (VS Code). The snippets on this page are ready to paste.

Is MCP Local RAG free?

The server is open source under the MIT license, so running it is free. It does not declare any required API key.

Is MCP Local RAG actively maintained?

The most recent commit was on Oct 3, 2026. The latest release is v0.21.0, published Oct 3, 2026. appsgit only lists MCP servers with a commit in the last six months and re-checks every server daily.