加载中…
Easy-到-setup local RAG 服务器 使用 minimal configuration。
io.github.shinpr/mcp-local-rag 是 ChatHome Skills 收录的 MCP 条目,来源为 Official MCP Registry,质量分 76/100。 作为 Model Context Protocol 服务器,它向 Claude、Cursor、Copilot 等兼容 MCP 的 LLM 客户端暴露可直接调用的工具,让 agent 的能力超出模型内置范围。 该条目由 ChatHome Skills 的每日抓取从官方 registry 和 GitHub 发现查询中收录,每次运行都会重新核验仓库事实、新鲜度信号和安装元数据。 质量分综合了官方 registry 收录情况、可用安装命令、许可证完整性、仓库活跃度和 GitHub star 趋势,完整算法说明见来源页。安装命令已列于上方,可直接复制使用。 在将 io.github.shinpr/mcp-local-rag 加入生产 agent 工作流前,请核对上方的最近更新日期和仓库状态——下方事实快照是最近一次抓取的时点值。
npx -y mcp-local-rag@0.23.1运行此命令前,请先核对上游源码。
{
"_meta": {
"io.modelcontextprotocol.registry/official": {
"status": "active",
"isLatest": true,
"updatedAt": "2026-10-22T12:39:22.721486Z",
"publishedAt": "2026-10-22T12:39:22.721486Z",
"statusChangedAt": "2026-10-22T12:39:22.721486Z"
}
},
"server": {
"name": "io.github.shinpr/mcp-local-rag",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"version": "0.23.1",
"packages": [
{
"version": "0.23.1",
"transport": {
"type": "stdio"
},
"identifier": "mcp-local-rag",
"registryType": "npm",
"registryBaseUrl": "https://registry.npmjs.org",
"environmentVariables": [
{
"name": "BASE_DIR",
"format": "string",
"description": "Base directory for document storage (defaults to current working directory). Ignored when BASE_DIRS is set."
},
{
"name": "BASE_DIRS",
"format": "string",
"description": "JSON array of base directories (e.g. '[\"/a\",\"/b\"]'). Takes precedence over BASE_DIR."
},
{
"name": "IGNORE_PATHS",
"format": "string",
"description": "JSON array of glob patterns for files to keep out of the index, each matched against the file's path relative to its root (e.g. '[\"plugs/**\",\"**/*.draft.md\"]')."
},
{
"name": "DB_PATH",
"format": "string",
"description": "Path to LanceDB database directory (defaults to ./lancedb/)"
},
{
"name": "CACHE_DIR",
"format": "string",
"description": "Directory where Transformers.js models are cached (defaults to ./models/)"
},
{
"name": "HF_ENDPOINT",
"format": "string",
"description": "Hugging Face model download endpoint. Set this to a mirror URL when direct downloads are blocked (defaults to https://huggingface.co)."
},
{
"name": "MODEL_NAME",
"format": "string",
"description": "Embedding model name (defaults to Xenova/all-MiniLM-L6-v2)"
},
{
"name": "MAX_FILE_SIZE",
"format": "string",
"description": "Maximum file size in bytes (defaults to 104857600 / 100MB)"
},
{
"name": "RAG_MAX_DISTANCE",
"format": "string",
"description": "Maximum distance threshold for filtering search results. Results with distance greater than this value will be excluded. Lower values mean stricter filtering (e.g., 0.5 for high relevance only)"
},
{
"name": "RAG_GROUPING",
"format": "string",
"description": "Grouping mode for quality filtering. 'similar' returns only the most similar group (stops at first distance jump). 'related' includes related groups (stops at second distance jump). Unset means no grouping filter"
},
{
"name": "RAG_MAX_FILES",
"format": "string",
"description": "Maximum 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 the single best-matching file's chunks. Unset means no file filtering."
},
{
"name": "CHUNK_MIN_LENGTH",
"format": "string",
"description": "Minimum chunk length in characters (1-10000, defaults to 50). Chunks shorter than this threshold are filtered out during ingestion."
},
{
"name": "STORE_IMAGES",
"format": "string",
"description": "Store supported PDF and DOCX images during ingestion and return them with matched chunks (defaults to false)."
},
{
"name": "EMBED_TITLE_PREFIX",
"format": "string",
"description": "Embed 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 it, use a new DB_PATH or delete the index and re-ingest."
},
{
"name": "EMBED_HEADING_PREFIX",
"format": "string",
"description": "Add section headings to chunk embeddings when they fit (defaults to false). Independent of EMBED_TITLE_PREFIX. Re-ingest documents after changing it."
},
{
"name": "RAG_DEVICE",
"format": "string",
"description": "Execution device for the embedder (defaults to cpu). Passed straight to ONNX Runtime; see the Transformers.js device source for the supported backend names. If the requested device fails to initialize, the server throws an error."
},
{
"name": "RAG_DTYPE",
"format": "string",
"description": "Embedding quantization dtype for the embedder (defaults to fp32). Opt-in and pass-through; accepts any dtype the chosen model provides (fp32, fp16, q8, int8, ...). If the model has no variant for the requested dtype, the server throws an error. Changing this changes the embedding space — re-ingest existing data."
},
{
"name": "RAG_HYBRID_WEIGHT",
"format": "string",
"description": "Keyword 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 the final score."
},
{
"name": "RAG_RERANK_CMD",
"format": "string",
"description": "External reranker command template. Use {query} and {top} for query text and result count; unset disables reranking."
},
{
"name": "RAG_RERANK_TIMEOUT_MS",
"format": "string",
"description": "Time 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."
}
]
}
],
"repository": {
"url": "https://github.com/shinpr/mcp-local-rag",
"source": "github"
},
"description": "Easy-to-setup local RAG server with minimal configuration"
}
}